Merge branch 'master' of git://repo.or.cz/git-gui
* 'master' of git://repo.or.cz/git-gui: git-gui: fix typo in lib/spellcheck.tcl git-gui: Shorten Aspell version strings to just Aspell version number git-gui: Gracefully display non-aspell version errors to users git-gui: Catch and display aspell startup failures to the user git-gui: Only bind the spellcheck popup suggestion hook once git-gui: Remove explicit references to 'aspell' in message strings git-gui: Ensure all spellchecker 'class' variables are initialized git-gui: Update German translation. git-gui: (i18n) Add newly added translation strings to template.
This commit is contained in:
commit
dfb9a34aba
@ -41,7 +41,8 @@ proc do_about {} {
|
||||
append v "Tcl version $tcl_patchLevel"
|
||||
append v ", Tk version $tk_patchLevel"
|
||||
}
|
||||
if {[info exists ui_comm_spell]} {
|
||||
if {[info exists ui_comm_spell]
|
||||
&& [$ui_comm_spell version] ne {}} {
|
||||
append v "\n"
|
||||
append v [$ui_comm_spell version]
|
||||
}
|
||||
|
@ -1,27 +1,31 @@
|
||||
# git-gui spellchecking support through aspell
|
||||
# git-gui spellchecking support through ispell/aspell
|
||||
# Copyright (C) 2008 Shawn Pearce
|
||||
|
||||
class spellcheck {
|
||||
|
||||
field s_fd {} ; # pipe to aspell
|
||||
field s_version ; # aspell version string
|
||||
field s_lang ; # current language code
|
||||
field s_fd {} ; # pipe to ispell/aspell
|
||||
field s_version {} ; # ispell/aspell version string
|
||||
field s_lang {} ; # current language code
|
||||
field s_prog aspell; # are we actually old ispell?
|
||||
field s_failed 0 ; # is $s_prog bogus and not working?
|
||||
|
||||
field w_text ; # text widget we are spelling
|
||||
field w_menu ; # context menu for the widget
|
||||
field s_menuidx 0 ; # last index of insertion into $w_menu
|
||||
|
||||
field s_i ; # timer registration for _run callbacks
|
||||
field s_i {} ; # timer registration for _run callbacks
|
||||
field s_clear 0 ; # did we erase mispelled tags yet?
|
||||
field s_seen [list] ; # lines last seen from $w_text in _run
|
||||
field s_checked [list] ; # lines already checked
|
||||
field s_pending [list] ; # [$line $data] sent to aspell
|
||||
field s_pending [list] ; # [$line $data] sent to ispell/aspell
|
||||
field s_suggest ; # array, list of suggestions, keyed by misspelling
|
||||
|
||||
constructor init {pipe_fd ui_text ui_menu} {
|
||||
set w_text $ui_text
|
||||
set w_menu $ui_menu
|
||||
array unset s_suggest
|
||||
|
||||
bind_button3 $w_text [cb _popup_suggest %X %Y @%x,%y]
|
||||
_connect $this $pipe_fd
|
||||
return $this
|
||||
}
|
||||
@ -33,14 +37,53 @@ method _connect {pipe_fd} {
|
||||
-translation lf
|
||||
|
||||
if {[gets $pipe_fd s_version] <= 0} {
|
||||
close $pipe_fd
|
||||
error [mc "Not connected to aspell"]
|
||||
if {[catch {close $pipe_fd} err]} {
|
||||
|
||||
# Eh? Is this actually ispell choking on aspell options?
|
||||
#
|
||||
if {$s_prog eq {aspell}
|
||||
&& [regexp -nocase {^Usage: } $err]
|
||||
&& ![catch {
|
||||
set pipe_fd [open [list | $s_prog -v] r]
|
||||
gets $pipe_fd s_version
|
||||
close $pipe_fd
|
||||
}]
|
||||
&& $s_version ne {}} {
|
||||
if {{@(#) } eq [string range $s_version 0 4]} {
|
||||
set s_version [string range $s_version 5 end]
|
||||
}
|
||||
set s_failed 1
|
||||
error_popup [strcat \
|
||||
[mc "Unsupported spell checker"] \
|
||||
":\n\n$s_version"]
|
||||
set s_version {}
|
||||
return
|
||||
}
|
||||
|
||||
regsub -nocase {^Error: } $err {} err
|
||||
if {$s_fd eq {}} {
|
||||
error_popup [strcat [mc "Spell checking is unavailable"] ":\n\n$err"]
|
||||
} else {
|
||||
error_popup [strcat \
|
||||
[mc "Invalid spell checking configuration"] \
|
||||
":\n\n$err\n\n" \
|
||||
[mc "Reverting dictionary to %s." $s_lang]]
|
||||
}
|
||||
} else {
|
||||
error_popup [mc "Spell checker silently failed on startup"]
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if {{@(#) } ne [string range $s_version 0 4]} {
|
||||
close $pipe_fd
|
||||
error [strcat [mc "Unrecognized aspell version"] ": $s_version"]
|
||||
catch {close $pipe_fd}
|
||||
error_popup [strcat [mc "Unrecognized spell checker"] ":\n\n$s_version"]
|
||||
return
|
||||
}
|
||||
set s_version [string range $s_version 5 end]
|
||||
regexp \
|
||||
{International Ispell Version .* \(but really (Aspell .*?)\)$} \
|
||||
$s_version _junk s_version
|
||||
|
||||
puts $pipe_fd ! ; # enable terse mode
|
||||
puts $pipe_fd {$$cr master} ; # fetch the language
|
||||
@ -65,7 +108,6 @@ method _connect {pipe_fd} {
|
||||
$w_text tag conf misspelled \
|
||||
-foreground red \
|
||||
-underline 1
|
||||
bind_button3 $w_text [cb _popup_suggest %X %Y @%x,%y]
|
||||
|
||||
array unset s_suggest
|
||||
set s_seen [list]
|
||||
@ -75,7 +117,7 @@ method _connect {pipe_fd} {
|
||||
}
|
||||
|
||||
method lang {{n {}}} {
|
||||
if {$n ne {} && $s_lang ne $n} {
|
||||
if {$n ne {} && $s_lang ne $n && !$s_failed} {
|
||||
set spell_cmd [list |]
|
||||
lappend spell_cmd aspell
|
||||
lappend spell_cmd --master=$n
|
||||
@ -88,7 +130,10 @@ method lang {{n {}}} {
|
||||
}
|
||||
|
||||
method version {} {
|
||||
return "$s_version, $s_lang"
|
||||
if {$s_version ne {}} {
|
||||
return "$s_version, $s_lang"
|
||||
}
|
||||
return {}
|
||||
}
|
||||
|
||||
method stop {} {
|
||||
@ -333,11 +378,11 @@ method _read {} {
|
||||
fconfigure $s_fd -block 1
|
||||
if {[eof $s_fd]} {
|
||||
if {![catch {close $s_fd} err]} {
|
||||
set err [mc "unexpected eof from aspell"]
|
||||
set err [mc "Unexpected EOF from spell checker"]
|
||||
}
|
||||
catch {after cancel $s_i}
|
||||
$w_text tag remove misspelled 1.0 end
|
||||
error_popup [strcat "Spell Checker Failed" "\n\n" $err]
|
||||
error_popup [strcat [mc "Spell Checker Failed"] "\n\n" $err]
|
||||
return
|
||||
}
|
||||
fconfigure $s_fd -block 0
|
||||
|
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: git-gui\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-02-02 10:14+0100\n"
|
||||
"PO-Revision-Date: 2008-02-02 10:18+0100\n"
|
||||
"POT-Creation-Date: 2008-02-16 21:24+0100\n"
|
||||
"PO-Revision-Date: 2008-02-16 21:52+0100\n"
|
||||
"Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
|
||||
"Language-Team: German\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -653,7 +653,7 @@ msgstr "Lokale Zweige"
|
||||
|
||||
#: lib/branch_delete.tcl:52
|
||||
msgid "Delete Only If Merged Into"
|
||||
msgstr "Nur löschen, wenn darin zusammengeführt"
|
||||
msgstr "Nur löschen, wenn zusammengeführt nach"
|
||||
|
||||
#: lib/branch_delete.tcl:54
|
||||
msgid "Always (Do not perform merge test.)"
|
||||
@ -1292,19 +1292,19 @@ msgstr "Warning: Tcl/Tk unterstützt die Zeichencodierung »%s« nicht."
|
||||
|
||||
#: lib/commit.tcl:221
|
||||
msgid "Calling pre-commit hook..."
|
||||
msgstr ""
|
||||
msgstr "Aufrufen der Vor-Eintragen-Kontrolle..."
|
||||
|
||||
#: lib/commit.tcl:236
|
||||
msgid "Commit declined by pre-commit hook."
|
||||
msgstr ""
|
||||
msgstr "Eintragen abgelehnt durch Vor-Eintragen-Kontrolle (»pre-commit hook«)."
|
||||
|
||||
#: lib/commit.tcl:259
|
||||
msgid "Calling commit-msg hook..."
|
||||
msgstr ""
|
||||
msgstr "Aufrufen der Versionsbeschreibungs-Kontrolle..."
|
||||
|
||||
#: lib/commit.tcl:274
|
||||
msgid "Commit declined by commit-msg hook."
|
||||
msgstr ""
|
||||
msgstr "Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message hook«)."
|
||||
|
||||
#: lib/commit.tcl:287
|
||||
msgid "Committing changes..."
|
||||
@ -1389,7 +1389,7 @@ msgstr "Festplattenplatz von komprimierten Objekten"
|
||||
|
||||
#: lib/database.tcl:48
|
||||
msgid "Packed objects waiting for pruning"
|
||||
msgstr "Komprimierte Objekte, die zum Entfernen vorgesehen sind"
|
||||
msgstr "Komprimierte Objekte, die zum Aufräumen vorgesehen sind"
|
||||
|
||||
#: lib/database.tcl:49
|
||||
msgid "Garbage files"
|
||||
@ -1622,10 +1622,10 @@ msgstr "%s von %s"
|
||||
|
||||
#: lib/merge.tcl:119
|
||||
#, tcl-format
|
||||
msgid "Merging %s and %s"
|
||||
msgstr "Zusammenführen von %s und %s"
|
||||
msgid "Merging %s and %s..."
|
||||
msgstr "Zusammenführen von %s und %s..."
|
||||
|
||||
#: lib/merge.tcl:131
|
||||
#: lib/merge.tcl:130
|
||||
msgid "Merge completed successfully."
|
||||
msgstr "Zusammenführen erfolgreich abgeschlossen."
|
||||
|
||||
@ -1636,7 +1636,7 @@ msgstr "Zusammenführen fehlgeschlagen. Konfliktauflösung ist notwendig."
|
||||
#: lib/merge.tcl:158
|
||||
#, tcl-format
|
||||
msgid "Merge Into %s"
|
||||
msgstr "Zusammenführen in %s"
|
||||
msgstr "Zusammenführen in »%s«"
|
||||
|
||||
#: lib/merge.tcl:177
|
||||
msgid "Revision To Merge"
|
||||
@ -1741,7 +1741,7 @@ msgstr "Auf Dateiänderungsdatum verlassen"
|
||||
|
||||
#: lib/option.tcl:111
|
||||
msgid "Prune Tracking Branches During Fetch"
|
||||
msgstr "Übernahmezweige entfernen während Anforderung"
|
||||
msgstr "Übernahmezweige aufräumen während Anforderung"
|
||||
|
||||
#: lib/option.tcl:112
|
||||
msgid "Match Tracking Branches"
|
||||
@ -1755,7 +1755,11 @@ msgstr "Anzahl der Kontextzeilen beim Vergleich"
|
||||
msgid "New Branch Name Template"
|
||||
msgstr "Namensvorschlag für neue Zweige"
|
||||
|
||||
#: lib/option.tcl:176
|
||||
#: lib/option.tcl:191
|
||||
msgid "Spelling Dictionary:"
|
||||
msgstr "Wörterbuch Rechtschreibprüfung:"
|
||||
|
||||
#: lib/option.tcl:215
|
||||
msgid "Change Font"
|
||||
msgstr "Schriftart ändern"
|
||||
|
||||
@ -1778,11 +1782,11 @@ msgstr "Optionen konnten nicht gespeichert werden:"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
|
||||
msgid "Delete Remote Branch"
|
||||
msgstr "Zweig aus anderem Projektarchiv löschen"
|
||||
msgstr "Zweig in anderem Projektarchiv löschen"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:47
|
||||
msgid "From Repository"
|
||||
msgstr "Von Projektarchiv"
|
||||
msgstr "In Projektarchiv"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123
|
||||
msgid "Remote:"
|
||||
@ -1790,7 +1794,7 @@ msgstr "Anderes Archiv:"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138
|
||||
msgid "Arbitrary URL:"
|
||||
msgstr "Kommunikation mit URL:"
|
||||
msgstr "Archiv-URL:"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:84
|
||||
msgid "Branches"
|
||||
@ -1798,11 +1802,11 @@ msgstr "Zweige"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:109
|
||||
msgid "Delete Only If"
|
||||
msgstr "Löschen, falls"
|
||||
msgstr "Nur löschen, wenn"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:111
|
||||
msgid "Merged Into:"
|
||||
msgstr "Zusammenführen mit:"
|
||||
msgstr "Zusammengeführt mit:"
|
||||
|
||||
#: lib/remote_branch_delete.tcl:119
|
||||
msgid "Always (Do not perform merge checks)"
|
||||
@ -1864,7 +1868,7 @@ msgstr "»%s« laden..."
|
||||
|
||||
#: lib/remote.tcl:165
|
||||
msgid "Prune from"
|
||||
msgstr "Entfernen von"
|
||||
msgstr "Aufräumen von"
|
||||
|
||||
#: lib/remote.tcl:170
|
||||
msgid "Fetch from"
|
||||
@ -1882,6 +1886,26 @@ msgstr "Fehler beim Schreiben der Verknüpfung:"
|
||||
msgid "Cannot write icon:"
|
||||
msgstr "Fehler beim Erstellen des Icons:"
|
||||
|
||||
#: lib/spellcheck.tcl:37
|
||||
msgid "Not connected to aspell"
|
||||
msgstr "Keine Verbindung zu »aspell«"
|
||||
|
||||
#: lib/spellcheck.tcl:41
|
||||
msgid "Unrecognized aspell version"
|
||||
msgstr "Unbekannte Version von »aspell«"
|
||||
|
||||
#: lib/spellcheck.tcl:135
|
||||
msgid "No Suggestions"
|
||||
msgstr "Keine Vorschläge"
|
||||
|
||||
#: lib/spellcheck.tcl:336
|
||||
msgid "Unexpected EOF from aspell"
|
||||
msgstr "Unerwartetes EOF von »aspell«"
|
||||
|
||||
#: lib/spellcheck.tcl:340
|
||||
msgid "Spell Checker Failed"
|
||||
msgstr "Rechtschreibprüfung fehlgeschlagen"
|
||||
|
||||
#: lib/status_bar.tcl:83
|
||||
#, tcl-format
|
||||
msgid "%s ... %*i of %*i %s (%3i%%)"
|
||||
@ -1900,12 +1924,12 @@ msgstr "Neue Änderungen von »%s« holen"
|
||||
#: lib/transport.tcl:18
|
||||
#, tcl-format
|
||||
msgid "remote prune %s"
|
||||
msgstr "Entfernen von »%s« aus anderem Archiv"
|
||||
msgstr "Aufräumen von »%s«"
|
||||
|
||||
#: lib/transport.tcl:19
|
||||
#, tcl-format
|
||||
msgid "Pruning tracking branches deleted from %s"
|
||||
msgstr "Übernahmezweige entfernen, die in »%s« gelöscht wurden"
|
||||
msgstr "Übernahmezweige aufräumen und entfernen, die in »%s« gelöscht wurden"
|
||||
|
||||
#: lib/transport.tcl:25 lib/transport.tcl:71
|
||||
#, tcl-format
|
||||
@ -1928,7 +1952,7 @@ msgstr "Zweige versenden"
|
||||
|
||||
#: lib/transport.tcl:103
|
||||
msgid "Source Branches"
|
||||
msgstr "Herkunftszweige"
|
||||
msgstr "Lokale Zweige"
|
||||
|
||||
#: lib/transport.tcl:120
|
||||
msgid "Destination Repository"
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-02-02 10:14+0100\n"
|
||||
"POT-Creation-Date: 2008-02-16 21:24+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -1474,10 +1474,10 @@ msgstr ""
|
||||
|
||||
#: lib/merge.tcl:119
|
||||
#, tcl-format
|
||||
msgid "Merging %s and %s"
|
||||
msgid "Merging %s and %s..."
|
||||
msgstr ""
|
||||
|
||||
#: lib/merge.tcl:131
|
||||
#: lib/merge.tcl:130
|
||||
msgid "Merge completed successfully."
|
||||
msgstr ""
|
||||
|
||||
@ -1592,7 +1592,11 @@ msgstr ""
|
||||
msgid "New Branch Name Template"
|
||||
msgstr ""
|
||||
|
||||
#: lib/option.tcl:176
|
||||
#: lib/option.tcl:191
|
||||
msgid "Spelling Dictionary:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/option.tcl:215
|
||||
msgid "Change Font"
|
||||
msgstr ""
|
||||
|
||||
@ -1709,6 +1713,26 @@ msgstr ""
|
||||
msgid "Cannot write icon:"
|
||||
msgstr ""
|
||||
|
||||
#: lib/spellcheck.tcl:37
|
||||
msgid "Not connected to aspell"
|
||||
msgstr ""
|
||||
|
||||
#: lib/spellcheck.tcl:41
|
||||
msgid "Unrecognized aspell version"
|
||||
msgstr ""
|
||||
|
||||
#: lib/spellcheck.tcl:135
|
||||
msgid "No Suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: lib/spellcheck.tcl:336
|
||||
msgid "Unexpected EOF from aspell"
|
||||
msgstr ""
|
||||
|
||||
#: lib/spellcheck.tcl:340
|
||||
msgid "Spell Checker Failed"
|
||||
msgstr ""
|
||||
|
||||
#: lib/status_bar.tcl:83
|
||||
#, tcl-format
|
||||
msgid "%s ... %*i of %*i %s (%3i%%)"
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: git-gui glossary\n"
|
||||
"POT-Creation-Date: 2008-01-07 21:20+0100\n"
|
||||
"PO-Revision-Date: 2008-01-15 20:32+0100\n"
|
||||
"PO-Revision-Date: 2008-02-16 21:48+0100\n"
|
||||
"Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
|
||||
"Language-Team: German \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -114,7 +114,7 @@ msgstr "Beschreibung (Meldung?, Nachricht?; Source Safe: Kommentar)"
|
||||
|
||||
#. "Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in 'remotes/<name>'."
|
||||
msgid "prune"
|
||||
msgstr "entfernen"
|
||||
msgstr "aufräumen (entfernen?)"
|
||||
|
||||
#. "Pulling a branch means to fetch it and merge it."
|
||||
msgid "pull"
|
||||
|
Loading…
Reference in New Issue
Block a user