From 25ec9384844d0cc855cf16672f61cf6b3be9f67d Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 7 Nov 2007 18:39:08 +0100 Subject: [PATCH 01/11] [PATCH] gitk i18n: Add Makefile with rules for po file creation and installation The compiled .msg files will be installed into $(sharedir)/gitk/lib/msgs according to Junio's mailing list proposal on 2007-07-28. Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..38154b6e08 --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +# Set the installation directories; this section is needed only in +# gitk.git but probably not in git.git. +ifndef gitexecdir + gitexecdir := $(shell git --exec-path) +endif +ifndef sharedir + sharedir := $(dir $(gitexecdir))share +endif + +# From here on, these are needed in git.git/gitk/Makefile. +gitk_libdir ?= $(sharedir)/gitk/lib +msgsdir ?= $(gitk_libdir)/msgs +msgsdir_SQ = $(subst ','\'',$(msgsdir)) + +## Beginning of po-file creation rules +XGETTEXT ?= xgettext +MSGFMT ?= msgfmt +PO_TEMPLATE = po/gitk.pot +ALL_POFILES = $(wildcard po/*.po) +ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES)) + +all:: $(ALL_MSGFILES) + +$(PO_TEMPLATE): gitk + $(XGETTEXT) -kmc -LTcl -o $@ gitk +update-po:: $(PO_TEMPLATE) + $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) +$(ALL_MSGFILES): %.msg : %.po + @echo Generating catalog $@ + $(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) + +clean:: + rm -f $(ALL_PROGRAMS) po/*.msg +## End of po-file creation rules + +# Install rules for po-files +install: all + $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1) + $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true + +uninstall: + $(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)`dirname '$(DESTDIR_SQ)$(libdir_SQ)'` $(REMOVE_D1) From 663c3aa9c89ae7d7a52308c50bda084f8b4ab337 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 7 Nov 2007 18:40:59 +0100 Subject: [PATCH 02/11] [PATCH] gitk i18n: Import msgcat for message string translation; load translation catalogs By setting the environment variable GITK_MSGSDIR, one can manually set the directory where the .msg files are located. This is quite handy during development with GITK_MSGSDIR=po. Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- gitk | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gitk b/gitk index 1da0b0af1d..629acfbcc5 100755 --- a/gitk +++ b/gitk @@ -8476,6 +8476,25 @@ set diffcolors {red "#00a000" blue} set diffcontext 3 set selectbgcolor gray85 +## For msgcat loading, first locate the installation location. +if { [info exists ::env(GITK_MSGSDIR)] } { + ## Msgsdir was manually set in the environment. + set gitk_msgsdir $::env(GITK_MSGSDIR) +} else { + ## Let's guess the prefix from argv0. + set gitk_prefix [file dirname [file dirname [file normalize $argv0]]] + set gitk_libdir [file join $gitk_prefix share gitk lib] + set gitk_msgsdir [file join $gitk_libdir msgs] + unset gitk_prefix +} + +## Internationalization (i18n) through msgcat and gettext. See +## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html +package require msgcat +namespace import ::msgcat::mc +## And eventually load the actual message catalog +::msgcat::mcload $gitk_msgsdir + catch {source ~/.gitk} font create optionfont -family sans-serif -size -12 From d990cedf9c61269eb71c257b84a4762bbbc196ef Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 7 Nov 2007 18:42:55 +0100 Subject: [PATCH 03/11] [PATCH] gitk i18n: Markup several strings for translation This just marks up plain strings, that aren't used in any unusual way. Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- gitk | 401 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 201 insertions(+), 200 deletions(-) diff --git a/gitk b/gitk index 629acfbcc5..e291577e52 100755 --- a/gitk +++ b/gitk @@ -98,7 +98,7 @@ proc start_rev_list {view} { set fd [open [concat | git log --no-color -z --pretty=raw $order --parents \ --boundary $viewargs($view) "--" $viewfiles($view)] r] } err]} { - error_popup "Error executing git rev-list: $err" + error_popup "[mc "Error executing git rev-list:"] $err" exit 1 } set commfd($view) $fd @@ -111,7 +111,7 @@ proc start_rev_list {view} { fconfigure $fd -encoding $tclencoding } filerun $fd [list getcommitlines $fd $view] - nowbusy $view "Reading" + nowbusy $view [mc "Reading"] if {$view == $curview} { set progressdirn 1 set progresscoords {0 0} @@ -138,7 +138,7 @@ proc getcommits {} { set phase getcommits initlayout start_rev_list $curview - show_status "Reading commits..." + show_status [mc "Reading commits..."] } # This makes a string representation of a positive integer which @@ -261,7 +261,7 @@ proc getcommitlines {fd view} { if {[string length $shortcmit] > 80} { set shortcmit "[string range $shortcmit 0 80]..." } - error_popup "Can't parse git log output: {$shortcmit}" + error_popup "[mc "Can't parse git log output:"] {$shortcmit}" exit 1 } set id [lindex $ids 0] @@ -372,7 +372,7 @@ proc chewcommits {view} { #set ms [expr {[clock clicks -milliseconds] - $startmsecs}] #puts "overall $ms ms for $numcommits commits" } else { - show_status "No commits selected" + show_status [mc "No commits selected"] } notbusy layout set phase {} @@ -483,7 +483,7 @@ proc getcommit {id} { } else { readcommit $id if {![info exists commitinfo($id)]} { - set commitinfo($id) {"No commit information available"} + set commitinfo($id) [list [mc "No commit information available"]] } } return 1 @@ -582,7 +582,7 @@ proc removehead {id name} { proc show_error {w top msg} { message $w.m -text $msg -justify center -aspect 400 pack $w.m -side top -fill x -padx 20 -pady 20 - button $w.ok -text OK -command "destroy $top" + button $w.ok -text [mc OK] -command "destroy $top" pack $w.ok -side bottom -fill x bind $top "grab $top; focus $top" bind $top "destroy $top" @@ -604,9 +604,9 @@ proc confirm_popup msg { wm transient $w . message $w.m -text $msg -justify center -aspect 400 pack $w.m -side top -fill x -padx 20 -pady 20 - button $w.ok -text OK -command "set confirm_ok 1; destroy $w" + button $w.ok -text [mc OK] -command "set confirm_ok 1; destroy $w" pack $w.ok -side left -fill x - button $w.cancel -text Cancel -command "destroy $w" + button $w.cancel -text [mc Cancel] -command "destroy $w" pack $w.cancel -side right -fill x bind $w "grab $w; focus $w" tkwait window $w @@ -630,33 +630,33 @@ proc makewindow {} { global have_tk85 menu .bar - .bar add cascade -label "File" -menu .bar.file + .bar add cascade -label [mc "File"] -menu .bar.file .bar configure -font uifont menu .bar.file - .bar.file add command -label "Update" -command updatecommits - .bar.file add command -label "Reread references" -command rereadrefs - .bar.file add command -label "List references" -command showrefs - .bar.file add command -label "Quit" -command doquit + .bar.file add command -label [mc "Update"] -command updatecommits + .bar.file add command -label [mc "Reread references"] -command rereadrefs + .bar.file add command -label [mc "List references"] -command showrefs + .bar.file add command -label [mc "Quit"] -command doquit .bar.file configure -font uifont menu .bar.edit - .bar add cascade -label "Edit" -menu .bar.edit - .bar.edit add command -label "Preferences" -command doprefs + .bar add cascade -label [mc "Edit"] -menu .bar.edit + .bar.edit add command -label [mc "Preferences"] -command doprefs .bar.edit configure -font uifont menu .bar.view -font uifont - .bar add cascade -label "View" -menu .bar.view - .bar.view add command -label "New view..." -command {newview 0} - .bar.view add command -label "Edit view..." -command editview \ + .bar add cascade -label [mc "View"] -menu .bar.view + .bar.view add command -label [mc "New view..."] -command {newview 0} + .bar.view add command -label [mc "Edit view..."] -command editview \ -state disabled - .bar.view add command -label "Delete view" -command delview -state disabled + .bar.view add command -label [mc "Delete view"] -command delview -state disabled .bar.view add separator - .bar.view add radiobutton -label "All files" -command {showview 0} \ + .bar.view add radiobutton -label [mc "All files"] -command {showview 0} \ -variable selectedview -value 0 menu .bar.help - .bar add cascade -label "Help" -menu .bar.help - .bar.help add command -label "About gitk" -command about - .bar.help add command -label "Key bindings" -command keys + .bar add cascade -label [mc "Help"] -menu .bar.help + .bar.help add command -label [mc "About gitk"] -command about + .bar.help add command -label [mc "Key bindings"] -command keys .bar.help configure -font uifont . configure -menu .bar @@ -713,7 +713,7 @@ proc makewindow {} { set sha1entry .tf.bar.sha1 set entries $sha1entry set sha1but .tf.bar.sha1label - button $sha1but -text "SHA1 ID: " -state disabled -relief flat \ + button $sha1but -text [mc "SHA1 ID: "] -state disabled -relief flat \ -command gotocommit -width 8 -font uifont $sha1but conf -disabledforeground [$sha1but cget -foreground] pack .tf.bar.sha1label -side left @@ -763,10 +763,10 @@ proc makewindow {} { set progupdatepending 0 # build up the bottom bar of upper window - label .tf.lbar.flabel -text "Find " -font uifont - button .tf.lbar.fnext -text "next" -command {dofind 1 1} -font uifont - button .tf.lbar.fprev -text "prev" -command {dofind -1 1} -font uifont - label .tf.lbar.flab2 -text " commit " -font uifont + label .tf.lbar.flabel -text "[mc "Find"] " -font uifont + button .tf.lbar.fnext -text [mc "next"] -command {dofind 1 1} -font uifont + button .tf.lbar.fprev -text [mc "prev"] -command {dofind -1 1} -font uifont + label .tf.lbar.flab2 -text " [mc "commit"] " -font uifont pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \ -side left -fill y set gdttype "containing:" @@ -822,7 +822,7 @@ proc makewindow {} { frame .bleft.top frame .bleft.mid - button .bleft.top.search -text "Search" -command dosearch \ + button .bleft.top.search -text [mc "Search"] -command dosearch \ -font uifont pack .bleft.top.search -side left -padx 5 set sstring .bleft.top.sstring @@ -830,13 +830,13 @@ proc makewindow {} { lappend entries $sstring trace add variable searchstring write incrsearch pack $sstring -side left -expand 1 -fill x - radiobutton .bleft.mid.diff -text "Diff" -font uifont \ + radiobutton .bleft.mid.diff -text [mc "Diff"] -font uifont \ -command changediffdisp -variable diffelide -value {0 0} - radiobutton .bleft.mid.old -text "Old version" -font uifont \ + radiobutton .bleft.mid.old -text [mc "Old version"] -font uifont \ -command changediffdisp -variable diffelide -value {0 1} - radiobutton .bleft.mid.new -text "New version" -font uifont \ + radiobutton .bleft.mid.new -text [mc "New version"] -font uifont \ -command changediffdisp -variable diffelide -value {1 0} - label .bleft.mid.labeldiffcontext -text " Lines of context: " \ + label .bleft.mid.labeldiffcontext -text " [mc "Lines of context"]: " \ -font uifont pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left spinbox .bleft.mid.diffcontext -width 5 -font textfont \ @@ -895,10 +895,10 @@ proc makewindow {} { # lower right frame .bright frame .bright.mode - radiobutton .bright.mode.patch -text "Patch" \ + radiobutton .bright.mode.patch -text [mc "Patch"] \ -command reselectline -variable cmitmode -value "patch" .bright.mode.patch configure -font uifont - radiobutton .bright.mode.tree -text "Tree" \ + radiobutton .bright.mode.tree -text [mc "Tree"] \ -command reselectline -variable cmitmode -value "tree" .bright.mode.tree configure -font uifont grid .bright.mode.patch .bright.mode.tree -sticky ew @@ -1015,43 +1015,43 @@ proc makewindow {} { set rowctxmenu .rowctxmenu menu $rowctxmenu -tearoff 0 - $rowctxmenu add command -label "Diff this -> selected" \ + $rowctxmenu add command -label [mc "Diff this -> selected"] \ -command {diffvssel 0} - $rowctxmenu add command -label "Diff selected -> this" \ + $rowctxmenu add command -label [mc "Diff selected -> this"] \ -command {diffvssel 1} - $rowctxmenu add command -label "Make patch" -command mkpatch - $rowctxmenu add command -label "Create tag" -command mktag - $rowctxmenu add command -label "Write commit to file" -command writecommit - $rowctxmenu add command -label "Create new branch" -command mkbranch - $rowctxmenu add command -label "Cherry-pick this commit" \ + $rowctxmenu add command -label [mc "Make patch"] -command mkpatch + $rowctxmenu add command -label [mc "Create tag"] -command mktag + $rowctxmenu add command -label [mc "Write commit to file"] -command writecommit + $rowctxmenu add command -label [mc "Create new branch"] -command mkbranch + $rowctxmenu add command -label [mc "Cherry-pick this commit"] \ -command cherrypick - $rowctxmenu add command -label "Reset HEAD branch to here" \ + $rowctxmenu add command -label [mc "Reset HEAD branch to here"] \ -command resethead set fakerowmenu .fakerowmenu menu $fakerowmenu -tearoff 0 - $fakerowmenu add command -label "Diff this -> selected" \ + $fakerowmenu add command -label [mc "Diff this -> selected"] \ -command {diffvssel 0} - $fakerowmenu add command -label "Diff selected -> this" \ + $fakerowmenu add command -label [mc "Diff selected -> this"] \ -command {diffvssel 1} - $fakerowmenu add command -label "Make patch" -command mkpatch -# $fakerowmenu add command -label "Commit" -command {mkcommit 0} -# $fakerowmenu add command -label "Commit all" -command {mkcommit 1} -# $fakerowmenu add command -label "Revert local changes" -command revertlocal + $fakerowmenu add command -label [mc "Make patch"] -command mkpatch +# $fakerowmenu add command -label [mc "Commit"] -command {mkcommit 0} +# $fakerowmenu add command -label [mc "Commit all"] -command {mkcommit 1} +# $fakerowmenu add command -label [mc "Revert local changes"] -command revertlocal set headctxmenu .headctxmenu menu $headctxmenu -tearoff 0 - $headctxmenu add command -label "Check out this branch" \ + $headctxmenu add command -label [mc "Check out this branch"] \ -command cobranch - $headctxmenu add command -label "Remove this branch" \ + $headctxmenu add command -label [mc "Remove this branch"] \ -command rmbranch global flist_menu set flist_menu .flistctxmenu menu $flist_menu -tearoff 0 - $flist_menu add command -label "Highlight this too" \ + $flist_menu add command -label [mc "Highlight this too"] \ -command {flist_hl 0} - $flist_menu add command -label "Highlight this only" \ + $flist_menu add command -label [mc "Highlight this only"] \ -command {flist_hl 1} } @@ -1277,17 +1277,17 @@ proc about {} { return } toplevel $w - wm title $w "About gitk" - message $w.m -text { + wm title $w [mc "About gitk"] + message $w.m -text [mc " Gitk - a commit viewer for git Copyright © 2005-2006 Paul Mackerras -Use and redistribute under the terms of the GNU General Public License} \ +Use and redistribute under the terms of the GNU General Public License"] \ -justify center -aspect 400 -border 2 -bg white -relief groove pack $w.m -side top -fill x -padx 2 -pady 2 $w.m configure -font uifont - button $w.ok -text Close -command "destroy $w" -default active + button $w.ok -text [mc "Close"] -command "destroy $w" -default active pack $w.ok -side bottom $w.ok configure -font uifont bind $w "focus $w.ok" @@ -1308,8 +1308,8 @@ proc keys {} { set M1T Ctrl } toplevel $w - wm title $w "Gitk key bindings" - message $w.m -text " + wm title $w [mc "Gitk key bindings"] + message $w.m -text [mc " Gitk key bindings: <$M1T-Q> Quit @@ -1347,11 +1347,11 @@ f Scroll diff view to next file <$M1T-KP-> Decrease font size <$M1T-minus> Decrease font size Update -" \ +"] \ -justify left -bg white -border 2 -relief groove pack $w.m -side top -fill both -padx 2 -pady 2 $w.m configure -font uifont - button $w.ok -text Close -command "destroy $w" -default active + button $w.ok -text [mc "Close"] -command "destroy $w" -default active pack $w.ok -side bottom $w.ok configure -font uifont bind $w "focus $w.ok" @@ -1860,7 +1860,7 @@ proc newview {ishighlight} { set newviewname($nextviewnum) "View $nextviewnum" set newviewperm($nextviewnum) 0 set newviewargs($nextviewnum) [shellarglist $revtreeargs] - vieweditor $top $nextviewnum "Gitk view definition" + vieweditor $top $nextviewnum [mc "Gitk view definition"] } proc editview {} { @@ -1885,20 +1885,20 @@ proc vieweditor {top n title} { toplevel $top wm title $top $title - label $top.nl -text "Name" -font uifont + label $top.nl -text [mc "Name"] -font uifont entry $top.name -width 20 -textvariable newviewname($n) -font uifont grid $top.nl $top.name -sticky w -pady 5 - checkbutton $top.perm -text "Remember this view" -variable newviewperm($n) \ + checkbutton $top.perm -text [mc "Remember this view"] -variable newviewperm($n) \ -font uifont grid $top.perm - -pady 5 -sticky w message $top.al -aspect 1000 -font uifont \ - -text "Commits to include (arguments to git rev-list):" + -text [mc "Commits to include (arguments to git rev-list):"] grid $top.al - -sticky w -pady 5 entry $top.args -width 50 -textvariable newviewargs($n) \ -background white -font uifont grid $top.args - -sticky ew -padx 5 message $top.l -aspect 1000 -font uifont \ - -text "Enter files and directories to include, one per line:" + -text [mc "Enter files and directories to include, one per line:"] grid $top.l - -sticky w text $top.t -width 40 -height 10 -background white -font uifont if {[info exists viewfiles($n)]} { @@ -1911,9 +1911,9 @@ proc vieweditor {top n title} { } grid $top.t - -sticky ew -padx 5 frame $top.buts - button $top.buts.ok -text "OK" -command [list newviewok $top $n] \ + button $top.buts.ok -text [mc "OK"] -command [list newviewok $top $n] \ -font uifont - button $top.buts.can -text "Cancel" -command [list destroy $top] \ + button $top.buts.can -text [mc "Cancel"] -command [list destroy $top] \ -font uifont grid $top.buts.ok $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a @@ -1947,7 +1947,7 @@ proc newviewok {top n} { if {[catch { set newargs [shellsplit $newviewargs($n)] } err]} { - error_popup "Error in commit selection arguments: $err" + error_popup "[mc "Error in commit selection arguments:"] $err" wm raise $top focus $top return @@ -2090,8 +2090,8 @@ proc showview {n} { set curview $n set selectedview $n - .bar.view entryconf Edit* -state [expr {$n == 0? "disabled": "normal"}] - .bar.view entryconf Delete* -state [expr {$n == 0? "disabled": "normal"}] + .bar.view entryconf [mc "Edit view..."] -state [expr {$n == 0? "disabled": "normal"}] + .bar.view entryconf [mc "Delete view"] -state [expr {$n == 0? "disabled": "normal"}] run refill_reflist if {![info exists viewdata($n)]} { @@ -2148,11 +2148,11 @@ proc showview {n} { } if {$phase ne {}} { if {$phase eq "getcommits"} { - show_status "Reading commits..." + show_status [mc "Reading commits..."] } run chewcommits $n } elseif {$numcommits == 0} { - show_status "No commits selected" + show_status [mc "No commits selected"] } } @@ -2880,7 +2880,7 @@ proc readdiffindex {fd serial} { if {$isdiff && $serial == $lserial && $localirow == -1} { # add the line for the changes in the index to the graph set localirow $commitrow($curview,$mainheadid) - set hl "Local changes checked in to index but not committed" + set hl [mc "Local changes checked in to index but not committed"] set commitinfo($nullid2) [list $hl {} {} {} {} " $hl\n"] set commitdata($nullid2) "\n $hl\n" insertrow $localirow $nullid2 @@ -2910,7 +2910,7 @@ proc readdifffiles {fd serial} { } else { set localfrow $commitrow($curview,$mainheadid) } - set hl "Local uncommitted changes, not checked in to index" + set hl [mc "Local uncommitted changes, not checked in to index"] set commitinfo($nullid) [list $hl {} {} {} {} " $hl\n"] set commitdata($nullid) "\n $hl\n" insertrow $localfrow $nullid @@ -4716,11 +4716,11 @@ proc selectline {l isnew} { set linknum 0 set info $commitinfo($id) set date [formatdate [lindex $info 2]] - $ctext insert end "Author: [lindex $info 1] $date\n" + $ctext insert end "[mc "Author"]: [lindex $info 1] $date\n" set date [formatdate [lindex $info 4]] - $ctext insert end "Committer: [lindex $info 3] $date\n" + $ctext insert end "[mc "Committer"]: [lindex $info 3] $date\n" if {[info exists idtags($id)]} { - $ctext insert end "Tags:" + $ctext insert end [mc "Tags:"] foreach tag $idtags($id) { $ctext insert end " $tag" } @@ -4737,18 +4737,18 @@ proc selectline {l isnew} { } else { set tag m$np } - $ctext insert end "Parent: " $tag + $ctext insert end "[mc "Parent"]: " $tag appendwithlinks [commit_descriptor $p] {} incr np } } else { foreach p $olds { - append headers "Parent: [commit_descriptor $p]" + append headers "[mc "Parent"]: [commit_descriptor $p]" } } foreach c $children($curview,$id) { - append headers "Child: [commit_descriptor $c]" + append headers "[mc "Child"]: [commit_descriptor $c]" } # make anything that looks like a SHA1 ID be a clickable link @@ -4757,13 +4757,13 @@ proc selectline {l isnew} { if {![info exists allcommits]} { getallcommits } - $ctext insert end "Branch: " + $ctext insert end "[mc "Branch"]: " $ctext mark set branch "end -1c" $ctext mark gravity branch left - $ctext insert end "\nFollows: " + $ctext insert end "\n[mc "Follows"]: " $ctext mark set follows "end -1c" $ctext mark gravity follows left - $ctext insert end "\nPrecedes: " + $ctext insert end "\n[mc "Precedes"]: " $ctext mark set precedes "end -1c" $ctext mark gravity precedes left $ctext insert end "\n" @@ -5045,7 +5045,7 @@ proc mergediff {id l} { set cmd [concat $cmd -- $viewfiles($curview)] } if {[catch {set mdf [open $cmd r]} err]} { - error_popup "Error getting merge diffs: $err" + error_popup "[mc "Error getting merge diffs:"] $err" return } fconfigure $mdf -blocking 0 @@ -5722,9 +5722,9 @@ proc sha1change {n1 n2 op} { } if {[$sha1but cget -state] == $state} return if {$state == "normal"} { - $sha1but conf -state normal -relief raised -text "Goto: " + $sha1but conf -state normal -relief raised -text "[mc "Goto:"] " } else { - $sha1but conf -state disabled -relief flat -text "SHA1 ID: " + $sha1but conf -state disabled -relief flat -text "[mc "SHA1 ID:"] " } } @@ -5749,7 +5749,7 @@ proc gotocommit {} { } if {$matches ne {}} { if {[llength $matches] > 1} { - error_popup "Short SHA1 id $id is ambiguous" + error_popup [mc "Short SHA1 id %s is ambiguous" $id] return } set id [lindex $matches 0] @@ -5761,11 +5761,11 @@ proc gotocommit {} { return } if {[regexp {^[0-9a-fA-F]{4,}$} $sha1string]} { - set type "SHA1 id" + set msg [mc "SHA1 id %s is not known" $sha1string] } else { - set type "Tag/Head" + set msg [mc "Tag/Head %s is not known" $sha1string] } - error_popup "$type $sha1string is not known" + error_popup $msg } proc lineenter {x y id} { @@ -5895,17 +5895,17 @@ proc lineclick {x y id isnew} { $ctext conf -state normal clear_ctext settabs 0 - $ctext insert end "Parent:\t" + $ctext insert end "[mc "Parent"]:\t" $ctext insert end $id link0 setlink $id link0 set info $commitinfo($id) $ctext insert end "\n\t[lindex $info 0]\n" - $ctext insert end "\tAuthor:\t[lindex $info 1]\n" + $ctext insert end "\t[mc "Author"]:\t[lindex $info 1]\n" set date [formatdate [lindex $info 2]] - $ctext insert end "\tDate:\t$date\n" + $ctext insert end "\t[mc "Date"]:\t$date\n" set kids $children($curview,$id) if {$kids ne {}} { - $ctext insert end "\nChildren:" + $ctext insert end "\n[mc "Children"]:" set i 0 foreach child $kids { incr i @@ -5915,9 +5915,9 @@ proc lineclick {x y id isnew} { $ctext insert end $child link$i setlink $child link$i $ctext insert end "\n\t[lindex $info 0]" - $ctext insert end "\n\tAuthor:\t[lindex $info 1]" + $ctext insert end "\n\t[mc "Author"]:\t[lindex $info 1]" set date [formatdate [lindex $info 2]] - $ctext insert end "\n\tDate:\t$date\n" + $ctext insert end "\n\t[mc "Date"]:\t$date\n" } } $ctext conf -state disabled @@ -5962,13 +5962,13 @@ proc rowmenu {x y id} { } if {$id ne $nullid && $id ne $nullid2} { set menu $rowctxmenu - $menu entryconfigure 7 -label "Reset $mainhead branch to here" + $menu entryconfigure 7 -label [mc "Reset %s branch to here" $mainhead] } else { set menu $fakerowmenu } - $menu entryconfigure "Diff this*" -state $state - $menu entryconfigure "Diff selected*" -state $state - $menu entryconfigure "Make patch" -state $state + $menu entryconfigure [mc "Diff this -> selected"] -state $state + $menu entryconfigure [mc "Diff selected -> this"] -state $state + $menu entryconfigure [mc "Make patch"] -state $state tk_popup $menu $x $y } @@ -5993,13 +5993,13 @@ proc doseldiff {oldid newid} { $ctext conf -state normal clear_ctext - init_flist "Top" - $ctext insert end "From " + init_flist [mc "Top"] + $ctext insert end "[mc "From"] " $ctext insert end $oldid link0 setlink $oldid link0 $ctext insert end "\n " $ctext insert end [lindex $commitinfo($oldid) 0] - $ctext insert end "\n\nTo " + $ctext insert end "\n\n[mc "To"] " $ctext insert end $newid link1 setlink $newid link1 $ctext insert end "\n " @@ -6022,9 +6022,9 @@ proc mkpatch {} { set patchtop $top catch {destroy $top} toplevel $top - label $top.title -text "Generate patch" + label $top.title -text [mc "Generate patch"] grid $top.title - -pady 10 - label $top.from -text "From:" + label $top.from -text [mc "From:"] entry $top.fromsha1 -width 40 -relief flat $top.fromsha1 insert 0 $oldid $top.fromsha1 conf -state readonly @@ -6033,7 +6033,7 @@ proc mkpatch {} { $top.fromhead insert 0 $oldhead $top.fromhead conf -state readonly grid x $top.fromhead -sticky w - label $top.to -text "To:" + label $top.to -text [mc "To:"] entry $top.tosha1 -width 40 -relief flat $top.tosha1 insert 0 $newid $top.tosha1 conf -state readonly @@ -6042,16 +6042,16 @@ proc mkpatch {} { $top.tohead insert 0 $newhead $top.tohead conf -state readonly grid x $top.tohead -sticky w - button $top.rev -text "Reverse" -command mkpatchrev -padx 5 + button $top.rev -text [mc "Reverse"] -command mkpatchrev -padx 5 grid $top.rev x -pady 10 - label $top.flab -text "Output file:" + label $top.flab -text [mc "Output file:"] entry $top.fname -width 60 $top.fname insert 0 [file normalize "patch$patchnum.patch"] incr patchnum grid $top.flab $top.fname -sticky w frame $top.buts - button $top.buts.gen -text "Generate" -command mkpatchgo - button $top.buts.can -text "Cancel" -command mkpatchcan + button $top.buts.gen -text [mc "Generate"] -command mkpatchgo + button $top.buts.can -text [mc "Cancel"] -command mkpatchcan grid $top.buts.gen $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -6086,7 +6086,7 @@ proc mkpatchgo {} { set cmd [lrange $cmd 1 end] lappend cmd >$fname & if {[catch {eval exec $cmd} err]} { - error_popup "Error creating patch: $err" + error_popup "[mc "Error creating patch:"] $err" } catch {destroy $patchtop} unset patchtop @@ -6106,9 +6106,9 @@ proc mktag {} { set mktagtop $top catch {destroy $top} toplevel $top - label $top.title -text "Create tag" + label $top.title -text [mc "Create tag"] grid $top.title - -pady 10 - label $top.id -text "ID:" + label $top.id -text [mc "ID:"] entry $top.sha1 -width 40 -relief flat $top.sha1 insert 0 $rowmenuid $top.sha1 conf -state readonly @@ -6117,12 +6117,12 @@ proc mktag {} { $top.head insert 0 [lindex $commitinfo($rowmenuid) 0] $top.head conf -state readonly grid x $top.head -sticky w - label $top.tlab -text "Tag name:" + label $top.tlab -text [mc "Tag name:"] entry $top.tag -width 60 grid $top.tlab $top.tag -sticky w frame $top.buts - button $top.buts.gen -text "Create" -command mktaggo - button $top.buts.can -text "Cancel" -command mktagcan + button $top.buts.gen -text [mc "Create"] -command mktaggo + button $top.buts.can -text [mc "Cancel"] -command mktagcan grid $top.buts.gen $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -6136,11 +6136,11 @@ proc domktag {} { set id [$mktagtop.sha1 get] set tag [$mktagtop.tag get] if {$tag == {}} { - error_popup "No tag name specified" + error_popup [mc "No tag name specified"] return } if {[info exists tagids($tag)]} { - error_popup "Tag \"$tag\" already exists" + error_popup [mc "Tag \"%s\" already exists" $tag] return } if {[catch { @@ -6150,7 +6150,7 @@ proc domktag {} { puts $f $id close $f } err]} { - error_popup "Error creating tag: $err" + error_popup "[mc "Error creating tag:"] $err" return } @@ -6203,9 +6203,9 @@ proc writecommit {} { set wrcomtop $top catch {destroy $top} toplevel $top - label $top.title -text "Write commit to file" + label $top.title -text [mc "Write commit to file"] grid $top.title - -pady 10 - label $top.id -text "ID:" + label $top.id -text [mc "ID:"] entry $top.sha1 -width 40 -relief flat $top.sha1 insert 0 $rowmenuid $top.sha1 conf -state readonly @@ -6214,16 +6214,16 @@ proc writecommit {} { $top.head insert 0 [lindex $commitinfo($rowmenuid) 0] $top.head conf -state readonly grid x $top.head -sticky w - label $top.clab -text "Command:" + label $top.clab -text [mc "Command:"] entry $top.cmd -width 60 -textvariable wrcomcmd grid $top.clab $top.cmd -sticky w -pady 10 - label $top.flab -text "Output file:" + label $top.flab -text [mc "Output file:"] entry $top.fname -width 60 $top.fname insert 0 [file normalize "commit-[string range $rowmenuid 0 6]"] grid $top.flab $top.fname -sticky w frame $top.buts - button $top.buts.gen -text "Write" -command wrcomgo - button $top.buts.can -text "Cancel" -command wrcomcan + button $top.buts.gen -text [mc "Write"] -command wrcomgo + button $top.buts.can -text [mc "Cancel"] -command wrcomcan grid $top.buts.gen $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -6238,7 +6238,7 @@ proc wrcomgo {} { set cmd "echo $id | [$wrcomtop.cmd get]" set fname [$wrcomtop.fname get] if {[catch {exec sh -c $cmd >$fname &} err]} { - error_popup "Error writing commit: $err" + error_popup "[mc "Error writing commit:"] $err" } catch {destroy $wrcomtop} unset wrcomtop @@ -6257,19 +6257,19 @@ proc mkbranch {} { set top .makebranch catch {destroy $top} toplevel $top - label $top.title -text "Create new branch" + label $top.title -text [mc "Create new branch"] grid $top.title - -pady 10 - label $top.id -text "ID:" + label $top.id -text [mc "ID:"] entry $top.sha1 -width 40 -relief flat $top.sha1 insert 0 $rowmenuid $top.sha1 conf -state readonly grid $top.id $top.sha1 -sticky w - label $top.nlab -text "Name:" + label $top.nlab -text [mc "Name:"] entry $top.name -width 40 grid $top.nlab $top.name -sticky w frame $top.buts - button $top.buts.go -text "Create" -command [list mkbrgo $top] - button $top.buts.can -text "Cancel" -command "catch {destroy $top}" + button $top.buts.go -text [mc "Create"] -command [list mkbrgo $top] + button $top.buts.can -text [mc "Cancel"] -command "catch {destroy $top}" grid $top.buts.go $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -6283,7 +6283,7 @@ proc mkbrgo {top} { set name [$top.name get] set id [$top.sha1 get] if {$name eq {}} { - error_popup "Please specify a name for the new branch" + error_popup [mc "Please specify a name for the new branch"] return } catch {destroy $top} @@ -6312,11 +6312,12 @@ proc cherrypick {} { set oldhead [exec git rev-parse HEAD] set dheads [descheads $rowmenuid] if {$dheads ne {} && [lsearch -exact $dheads $oldhead] >= 0} { - set ok [confirm_popup "Commit [string range $rowmenuid 0 7] is already\ - included in branch $mainhead -- really re-apply it?"] + set ok [confirm_popup [mc "Commit %s is already\ + included in branch %s -- really re-apply it?" \ + [string range $rowmenuid 0 7] $mainhead]] if {!$ok} return } - nowbusy cherrypick "Cherry-picking" + nowbusy cherrypick [mc "Cherry-picking"] update # Unfortunately git-cherry-pick writes stuff to stderr even when # no error occurs, and exec takes that as an indication of error... @@ -6328,7 +6329,7 @@ proc cherrypick {} { set newhead [exec git rev-parse HEAD] if {$newhead eq $oldhead} { notbusy cherrypick - error_popup "No changes committed" + error_popup [mc "No changes committed"] return } addnewchild $newhead $oldhead @@ -6351,28 +6352,28 @@ proc resethead {} { set w ".confirmreset" toplevel $w wm transient $w . - wm title $w "Confirm reset" + wm title $w [mc "Confirm reset"] message $w.m -text \ - "Reset branch $mainhead to [string range $rowmenuid 0 7]?" \ + [mc "Reset branch %s to %s?" $mainhead [string range $rowmenuid 0 7]] \ -justify center -aspect 1000 pack $w.m -side top -fill x -padx 20 -pady 20 frame $w.f -relief sunken -border 2 - message $w.f.rt -text "Reset type:" -aspect 1000 + message $w.f.rt -text [mc "Reset type:"] -aspect 1000 grid $w.f.rt -sticky w set resettype mixed radiobutton $w.f.soft -value soft -variable resettype -justify left \ - -text "Soft: Leave working tree and index untouched" + -text [mc "Soft: Leave working tree and index untouched"] grid $w.f.soft -sticky w radiobutton $w.f.mixed -value mixed -variable resettype -justify left \ - -text "Mixed: Leave working tree untouched, reset index" + -text [mc "Mixed: Leave working tree untouched, reset index"] grid $w.f.mixed -sticky w radiobutton $w.f.hard -value hard -variable resettype -justify left \ - -text "Hard: Reset working tree and index\n(discard ALL local changes)" + -text [mc "Hard: Reset working tree and index\n(discard ALL local changes)"] grid $w.f.hard -sticky w pack $w.f -side top -fill x - button $w.ok -text OK -command "set confirm_ok 1; destroy $w" + button $w.ok -text [mc OK] -command "set confirm_ok 1; destroy $w" pack $w.ok -side left -fill x -padx 20 -pady 20 - button $w.cancel -text Cancel -command "destroy $w" + button $w.cancel -text [mc Cancel] -command "destroy $w" pack $w.cancel -side right -fill x -padx 20 -pady 20 bind $w "grab $w; focus $w" tkwait window $w @@ -6383,7 +6384,7 @@ proc resethead {} { } else { dohidelocalchanges filerun $fd [list readresetstat $fd] - nowbusy reset "Resetting" + nowbusy reset [mc "Resetting"] } } @@ -6440,7 +6441,7 @@ proc cobranch {} { # check the tree is clean first?? set oldmainhead $mainhead - nowbusy checkout "Checking out" + nowbusy checkout [mc "Checking out"] update dohidelocalchanges if {[catch { @@ -6470,14 +6471,14 @@ proc rmbranch {} { set id $headmenuid # this check shouldn't be needed any more... if {$head eq $mainhead} { - error_popup "Cannot delete the currently checked-out branch" + error_popup [mc "Cannot delete the currently checked-out branch"] return } set dheads [descheads $id] if {[llength $dheads] == 1 && $idheads($dheads) eq $head} { # the stuff on this branch isn't on any other branch - if {![confirm_popup "The commits on branch $head aren't on any other\ - branch.\nReally delete branch $head?"]} return + if {![confirm_popup [mc "The commits on branch %s aren't on any other\ + branch.\nReally delete branch %s?" $head $head]]} return } nowbusy rmbranch update @@ -6507,7 +6508,7 @@ proc showrefs {} { return } toplevel $top - wm title $top "Tags and heads: [file tail [pwd]]" + wm title $top [mc "Tags and heads: %s" [file tail [pwd]]] text $top.list -background $bgcolor -foreground $fgcolor \ -selectbackground $selectbgcolor -font mainfont \ -xscrollcommand "$top.xsb set" -yscrollcommand "$top.ysb set" \ @@ -6521,14 +6522,14 @@ proc showrefs {} { grid $top.list $top.ysb -sticky nsew grid $top.xsb x -sticky ew frame $top.f - label $top.f.l -text "Filter: " -font uifont + label $top.f.l -text "[mc "Filter"]: " -font uifont entry $top.f.e -width 20 -textvariable reflistfilter -font uifont set reflistfilter "*" trace add variable reflistfilter write reflistfilter_change pack $top.f.e -side right -fill x -expand 1 pack $top.f.l -side left grid $top.f - -sticky ew -pady 2 - button $top.close -command [list destroy $top] -text "Close" \ + button $top.close -command [list destroy $top] -text [mc "Close"] \ -font uifont grid $top.close - grid columnconfigure $top 0 -weight 1 @@ -6816,9 +6817,9 @@ proc getallclines {fd} { dropcache $err return } - error_popup "Error reading commit topology information;\ + error_popup "[mc "Error reading commit topology information;\ branch and preceding/following tag information\ - will be incomplete.\n($err)" + will be incomplete."]\n($err)" set cacheok 0 } if {[incr allcommits -1] == 0} { @@ -7800,7 +7801,7 @@ proc showtag {tag isnew} { if {[info exists tagcontents($tag)]} { set text $tagcontents($tag) } else { - set text "Tag: $tag\nId: $tagids($tag)" + set text "[mc "Tag"]: $tag\n[mc "Id"]: $tagids($tag)" } appendwithlinks $text {} $ctext conf -state disabled @@ -7840,7 +7841,7 @@ proc choosefont {font which} { font create sample eval font config sample [font actual $font] toplevel $top - wm title $top "Gitk font chooser" + wm title $top [mc "Gitk font chooser"] label $top.l -textvariable fontparam(which) -font uifont pack $top.l -side top set fontlist [lsort [font families]] @@ -7857,10 +7858,10 @@ proc choosefont {font which} { -textvariable fontparam(size) \ -validatecommand {string is integer -strict %s} checkbutton $top.g.bold -padx 5 \ - -font {{Times New Roman} 12 bold} -text "B" -indicatoron 0 \ + -font {{Times New Roman} 12 bold} -text [mc "B"] -indicatoron 0 \ -variable fontparam(weight) -onvalue bold -offvalue normal checkbutton $top.g.ital -padx 5 \ - -font {{Times New Roman} 12 italic} -text "I" -indicatoron 0 \ + -font {{Times New Roman} 12 italic} -text [mc "I"] -indicatoron 0 \ -variable fontparam(slant) -onvalue italic -offvalue roman pack $top.g.size $top.g.bold $top.g.ital -side left pack $top.g -side top @@ -7871,9 +7872,9 @@ proc choosefont {font which} { bind $top.c [list centertext $top.c] pack $top.c -side top -fill x frame $top.buts - button $top.buts.ok -text "OK" -command fontok -default active \ + button $top.buts.ok -text [mc "OK"] -command fontok -default active \ -font uifont - button $top.buts.can -text "Cancel" -command fontcan -default normal \ + button $top.buts.can -text [mc "Cancel"] -command fontcan -default normal \ -font uifont grid $top.buts.ok $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a @@ -7955,85 +7956,85 @@ proc doprefs {} { set oldprefs($v) [set $v] } toplevel $top - wm title $top "Gitk preferences" - label $top.ldisp -text "Commit list display options" + wm title $top [mc "Gitk preferences"] + label $top.ldisp -text [mc "Commit list display options"] $top.ldisp configure -font uifont grid $top.ldisp - -sticky w -pady 10 label $top.spacer -text " " - label $top.maxwidthl -text "Maximum graph width (lines)" \ + label $top.maxwidthl -text [mc "Maximum graph width (lines)"] \ -font optionfont spinbox $top.maxwidth -from 0 -to 100 -width 4 -textvariable maxwidth grid $top.spacer $top.maxwidthl $top.maxwidth -sticky w - label $top.maxpctl -text "Maximum graph width (% of pane)" \ + label $top.maxpctl -text [mc "Maximum graph width (% of pane)"] \ -font optionfont spinbox $top.maxpct -from 1 -to 100 -width 4 -textvariable maxgraphpct grid x $top.maxpctl $top.maxpct -sticky w frame $top.showlocal - label $top.showlocal.l -text "Show local changes" -font optionfont + label $top.showlocal.l -text [mc "Show local changes"] -font optionfont checkbutton $top.showlocal.b -variable showlocalchanges pack $top.showlocal.b $top.showlocal.l -side left grid x $top.showlocal -sticky w - label $top.ddisp -text "Diff display options" + label $top.ddisp -text [mc "Diff display options"] $top.ddisp configure -font uifont grid $top.ddisp - -sticky w -pady 10 - label $top.tabstopl -text "Tab spacing" -font optionfont + label $top.tabstopl -text [mc "Tab spacing"] -font optionfont spinbox $top.tabstop -from 1 -to 20 -width 4 -textvariable tabstop grid x $top.tabstopl $top.tabstop -sticky w frame $top.ntag - label $top.ntag.l -text "Display nearby tags" -font optionfont + label $top.ntag.l -text [mc "Display nearby tags"] -font optionfont checkbutton $top.ntag.b -variable showneartags pack $top.ntag.b $top.ntag.l -side left grid x $top.ntag -sticky w frame $top.ldiff - label $top.ldiff.l -text "Limit diffs to listed paths" -font optionfont + label $top.ldiff.l -text [mc "Limit diffs to listed paths"] -font optionfont checkbutton $top.ldiff.b -variable limitdiffs pack $top.ldiff.b $top.ldiff.l -side left grid x $top.ldiff -sticky w - label $top.cdisp -text "Colors: press to choose" + label $top.cdisp -text [mc "Colors: press to choose"] $top.cdisp configure -font uifont grid $top.cdisp - -sticky w -pady 10 label $top.bg -padx 40 -relief sunk -background $bgcolor - button $top.bgbut -text "Background" -font optionfont \ + button $top.bgbut -text [mc "Background"] -font optionfont \ -command [list choosecolor bgcolor 0 $top.bg background setbg] grid x $top.bgbut $top.bg -sticky w label $top.fg -padx 40 -relief sunk -background $fgcolor - button $top.fgbut -text "Foreground" -font optionfont \ + button $top.fgbut -text [mc "Foreground"] -font optionfont \ -command [list choosecolor fgcolor 0 $top.fg foreground setfg] grid x $top.fgbut $top.fg -sticky w label $top.diffold -padx 40 -relief sunk -background [lindex $diffcolors 0] - button $top.diffoldbut -text "Diff: old lines" -font optionfont \ + button $top.diffoldbut -text [mc "Diff: old lines"] -font optionfont \ -command [list choosecolor diffcolors 0 $top.diffold "diff old lines" \ [list $ctext tag conf d0 -foreground]] grid x $top.diffoldbut $top.diffold -sticky w label $top.diffnew -padx 40 -relief sunk -background [lindex $diffcolors 1] - button $top.diffnewbut -text "Diff: new lines" -font optionfont \ + button $top.diffnewbut -text [mc "Diff: new lines"] -font optionfont \ -command [list choosecolor diffcolors 1 $top.diffnew "diff new lines" \ [list $ctext tag conf d1 -foreground]] grid x $top.diffnewbut $top.diffnew -sticky w label $top.hunksep -padx 40 -relief sunk -background [lindex $diffcolors 2] - button $top.hunksepbut -text "Diff: hunk header" -font optionfont \ + button $top.hunksepbut -text [mc "Diff: hunk header"] -font optionfont \ -command [list choosecolor diffcolors 2 $top.hunksep \ "diff hunk header" \ [list $ctext tag conf hunksep -foreground]] grid x $top.hunksepbut $top.hunksep -sticky w label $top.selbgsep -padx 40 -relief sunk -background $selectbgcolor - button $top.selbgbut -text "Select bg" -font optionfont \ + button $top.selbgbut -text [mc "Select bg"] -font optionfont \ -command [list choosecolor selectbgcolor 0 $top.selbgsep background setselbg] grid x $top.selbgbut $top.selbgsep -sticky w - label $top.cfont -text "Fonts: press to choose" + label $top.cfont -text [mc "Fonts: press to choose"] $top.cfont configure -font uifont grid $top.cfont - -sticky w -pady 10 - mkfontdisp mainfont $top "Main font" - mkfontdisp textfont $top "Diff display font" - mkfontdisp uifont $top "User interface font" + mkfontdisp mainfont $top [mc "Main font"] + mkfontdisp textfont $top [mc "Diff display font"] + mkfontdisp uifont $top [mc "User interface font"] frame $top.buts - button $top.buts.ok -text "OK" -command prefsok -default active + button $top.buts.ok -text [mc "OK"] -command prefsok -default active $top.buts.ok configure -font uifont - button $top.buts.can -text "Cancel" -command prefscan -default normal + button $top.buts.can -text [mc "Cancel"] -command prefscan -default normal $top.buts.can configure -font uifont grid $top.buts.ok $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a @@ -8046,7 +8047,7 @@ proc choosecolor {v vi w x cmd} { global $v set c [tk_chooseColor -initialcolor [lindex [set $v] $vi] \ - -title "Gitk: choose color for $x"] + -title [mc "Gitk: choose color for %s" $x]] if {$c eq {}} return $w conf -background $c lset $v $vi $c @@ -8427,8 +8428,8 @@ proc tcl_encoding {enc} { # First check that Tcl/Tk is recent enough if {[catch {package require Tk 8.4} err]} { - show_error {} . "Sorry, gitk cannot run with this version of Tcl/Tk.\n\ - Gitk requires at least Tcl/Tk 8.4." + show_error {} . [mc "Sorry, gitk cannot run with this version of Tcl/Tk.\n\ + Gitk requires at least Tcl/Tk 8.4."] exit 1 } @@ -8512,11 +8513,11 @@ eval font create uifont [fontflags uifont] # check that we can find a .git directory somewhere... if {[catch {set gitdir [gitdir]}]} { - show_error {} . "Cannot find a git repository here." + show_error {} . [mc "Cannot find a git repository here."] exit 1 } if {![file isdirectory $gitdir]} { - show_error {} . "Cannot find the git directory \"$gitdir\"." + show_error {} . [mc "Cannot find the git directory \"%s\"." $gitdir] exit 1 } @@ -8555,8 +8556,8 @@ if {$i >= [llength $argv] && $revtreeargs ne {}} { # with git log and git rev-list, check revtreeargs for filenames. foreach arg $revtreeargs { if {[file exists $arg]} { - show_error {} . "Ambiguous argument '$arg': both revision\ - and filename" + show_error {} . [mc "Ambiguous argument '%s': both revision\ + and filename" $arg] exit 1 } } @@ -8567,7 +8568,7 @@ if {$i >= [llength $argv] && $revtreeargs ne {}} { if {$i > 0} { set err [string range $err [expr {$i + 6}] end] } - show_error {} . "Bad arguments to gitk:\n$err" + show_error {} . "[mc "Bad arguments to gitk:"]\n$err" exit 1 } } @@ -8579,7 +8580,7 @@ if {$mergeonly} { if {[catch { set fd [open "| git ls-files -u" r] } err]} { - show_error {} . "Couldn't get list of unmerged files: $err" + show_error {} . "[mc "Couldn't get list of unmerged files:"] $err" exit 1 } while {[gets $fd line] >= 0} { @@ -8595,11 +8596,11 @@ if {$mergeonly} { catch {close $fd} if {$mlist eq {}} { if {$nr_unmerged == 0} { - show_error {} . "No files selected: --merge specified but\ - no files are unmerged." + show_error {} . [mc "No files selected: --merge specified but\ + no files are unmerged."] } else { - show_error {} . "No files selected: --merge specified but\ - no unmerged files are within file limit." + show_error {} . [mc "No files selected: --merge specified but\ + no unmerged files are within file limit."] } exit 1 } @@ -8657,13 +8658,13 @@ if {$cmdline_files ne {} || $revtreeargs ne {}} { set curview 1 set selectedview 1 set nextviewnum 2 - set viewname(1) "Command line" + set viewname(1) [mc "Command line"] set viewfiles(1) $cmdline_files set viewargs(1) $revtreeargs set viewperm(1) 0 addviewmenu 1 - .bar.view entryconf Edit* -state normal - .bar.view entryconf Delete* -state normal + .bar.view entryconf [mc "Edit view..."] -state normal + .bar.view entryconf [mc "Delete view"] -state normal } if {[info exists permviews]} { From 15bc7bae91e69dc1c1f85e6acc740bf57f7b554a Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 7 Nov 2007 18:44:02 +0100 Subject: [PATCH 04/11] [PATCH] gitk i18n: Initial German translation Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- po/de.po | 703 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 703 insertions(+) create mode 100644 po/de.po diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000000..a4fdf9a6b9 --- /dev/null +++ b/po/de.po @@ -0,0 +1,703 @@ +# Translation of gitk to German. +# Copyright (C) 2007 Paul Mackerras and Christian Stimming. +# This file is distributed under the same license as the git package. +# Christian Stimming , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-11-07 12:27+0100\n" +"PO-Revision-Date: 2007-11-07 12:36+0100\n" +"Last-Translator: Christian Stimming \n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: gitk:101 +msgid "Error executing git rev-list:" +msgstr "" + +#: gitk:114 +msgid "Reading" +msgstr "Lesen" + +#: gitk:141 gitk:2151 +msgid "Reading commits..." +msgstr "Versionen lesen..." + +#: gitk:264 +msgid "Can't parse git log output:" +msgstr "Git log Ausgabe kann nicht erkannt werden:" + +#: gitk:375 gitk:2155 +msgid "No commits selected" +msgstr "Keine Versionen ausgewählt." + +#: gitk:486 +msgid "No commit information available" +msgstr "" + +#: gitk:585 gitk:607 gitk:1914 gitk:6374 gitk:7875 gitk:8035 +msgid "OK" +msgstr "Ok" + +#: gitk:609 gitk:1916 gitk:6054 gitk:6125 gitk:6226 gitk:6272 gitk:6376 +#: gitk:7877 gitk:8037 +msgid "Cancel" +msgstr "Abbrechen" + +#: gitk:633 +msgid "File" +msgstr "Datei" + +#: gitk:636 +msgid "Update" +msgstr "Aktualisieren" + +#: gitk:637 +msgid "Reread references" +msgstr "Zweige neu laden" + +#: gitk:638 +msgid "List references" +msgstr "Zweige auflisten" + +#: gitk:639 +msgid "Quit" +msgstr "Beenden" + +#: gitk:642 +msgid "Edit" +msgstr "Bearbeiten" + +#: gitk:643 +msgid "Preferences" +msgstr "Einstellungen" + +#: gitk:647 +msgid "View" +msgstr "Ansicht" + +#: gitk:648 +msgid "New view..." +msgstr "Neue Ansicht..." + +#: gitk:649 gitk:2093 gitk:8666 +msgid "Edit view..." +msgstr "Ansicht bearbeiten..." + +#: gitk:651 gitk:2094 gitk:8667 +msgid "Delete view" +msgstr "Ansicht löschen" + +#: gitk:653 +msgid "All files" +msgstr "Alle Dateien" + +#: gitk:657 +msgid "Help" +msgstr "Hilfe" + +#: gitk:658 gitk:1280 +msgid "About gitk" +msgstr "Über gitk" + +#: gitk:659 +msgid "Key bindings" +msgstr "Tastenkürzel" + +#: gitk:716 +msgid "SHA1 ID: " +msgstr "" + +#: gitk:766 +msgid "Find" +msgstr "Suche" + +#: gitk:767 +msgid "next" +msgstr "nächste" + +#: gitk:768 +msgid "prev" +msgstr "vorige" + +#: gitk:769 +msgid "commit" +msgstr "Version" + +#: gitk:772 gitk:774 gitk:2316 gitk:2339 gitk:2363 gitk:4265 gitk:4328 +msgid "containing:" +msgstr "enthaltend:" + +#: gitk:775 gitk:1746 gitk:1751 gitk:2391 +msgid "touching paths:" +msgstr "Pfad betreffend:" + +#: gitk:776 gitk:2396 +msgid "adding/removing string:" +msgstr "String dazu/löschen:" + +#: gitk:787 gitk:789 +msgid "Exact" +msgstr "Exakt" + +#: gitk:789 gitk:2474 gitk:4233 +msgid "IgnCase" +msgstr "Kein Groß/Klein" + +#: gitk:789 gitk:2365 gitk:2472 gitk:4229 +msgid "Regexp" +msgstr "Regexp" + +#: gitk:793 gitk:794 gitk:2493 gitk:2523 gitk:2530 gitk:4339 gitk:4395 +msgid "All fields" +msgstr "Alle Felder" + +#: gitk:794 gitk:2491 gitk:2523 gitk:4295 +msgid "Headline" +msgstr "Überschrift" + +#: gitk:795 gitk:2491 gitk:4295 gitk:4395 gitk:4783 +msgid "Comments" +msgstr "Beschreibung" + +#: gitk:795 gitk:2491 gitk:2495 gitk:2530 gitk:4295 gitk:4719 gitk:5903 +#: gitk:5918 +msgid "Author" +msgstr "Autor" + +#: gitk:795 gitk:2491 gitk:4295 gitk:4721 +msgid "Committer" +msgstr "Eintragender" + +#: gitk:825 +msgid "Search" +msgstr "Suche" + +#: gitk:833 +msgid "Diff" +msgstr "Vergleich" + +#: gitk:835 +msgid "Old version" +msgstr "Alte Version" + +#: gitk:837 +msgid "New version" +msgstr "Neue Version" + +#: gitk:839 +msgid "Lines of context" +msgstr "Kontextzeilen" + +#: gitk:898 +msgid "Patch" +msgstr "" + +#: gitk:901 +msgid "Tree" +msgstr "Baum" + +#: gitk:1018 gitk:1033 gitk:5969 +msgid "Diff this -> selected" +msgstr "Vergleich diese -> gewählte" + +#: gitk:1020 gitk:1035 gitk:5970 +msgid "Diff selected -> this" +msgstr "Vergleich gewählte -> diese" + +#: gitk:1022 gitk:1037 gitk:5971 +msgid "Make patch" +msgstr "Patch erstellen" + +#: gitk:1023 gitk:6109 +msgid "Create tag" +msgstr "Markierung erstellen" + +#: gitk:1024 gitk:6206 +msgid "Write commit to file" +msgstr "Version in Datei schreiben" + +#: gitk:1025 gitk:6260 +msgid "Create new branch" +msgstr "Neuen Zweig erstellen" + +#: gitk:1026 +msgid "Cherry-pick this commit" +msgstr "Diese Version pflücken" + +#: gitk:1028 +msgid "Reset HEAD branch to here" +msgstr "HEAD-Zweig auf diese Version zurücksetzen" + +#: gitk:1044 +msgid "Check out this branch" +msgstr "Auf diesen Zweig umstellen" + +#: gitk:1046 +msgid "Remove this branch" +msgstr "Zweig löschen" + +#: gitk:1052 +msgid "Highlight this too" +msgstr "" + +#: gitk:1054 +msgid "Highlight this only" +msgstr "" + +#: gitk:1281 +msgid "" +"\n" +"Gitk - a commit viewer for git\n" +"\n" +"Copyright © 2005-2006 Paul Mackerras\n" +"\n" +"Use and redistribute under the terms of the GNU General Public License" +msgstr "" + +#: gitk:1290 gitk:1354 gitk:6532 +msgid "Close" +msgstr "Schließen" + +#: gitk:1311 +msgid "Gitk key bindings" +msgstr "" + +#: gitk:1863 +msgid "Gitk view definition" +msgstr "" + +#: gitk:1888 +msgid "Name" +msgstr "Name" + +#: gitk:1891 +msgid "Remember this view" +msgstr "Diese Ansicht speichern" + +#: gitk:1895 +msgid "Commits to include (arguments to git rev-list):" +msgstr "" + +#: gitk:1901 +msgid "Enter files and directories to include, one per line:" +msgstr "" + +#: gitk:1950 +msgid "Error in commit selection arguments:" +msgstr "" + +#: gitk:2001 gitk:2087 gitk:2543 gitk:2557 gitk:3740 gitk:8635 gitk:8636 +msgid "None" +msgstr "Keine" + +#: gitk:2491 gitk:4295 gitk:5905 gitk:5920 +msgid "Date" +msgstr "Datum" + +#: gitk:2491 gitk:4295 +msgid "CDate" +msgstr "Eintragedatum" + +#: gitk:2640 gitk:2645 +msgid "Descendent" +msgstr "" + +#: gitk:2641 +msgid "Not descendent" +msgstr "" + +#: gitk:2648 gitk:2653 +msgid "Ancestor" +msgstr "" + +#: gitk:2649 +msgid "Not ancestor" +msgstr "" + +#: gitk:2883 +msgid "Local changes checked in to index but not committed" +msgstr "" + +#: gitk:2913 +msgid "Local uncommitted changes, not checked in to index" +msgstr "" + +#: gitk:4264 +msgid "Searching" +msgstr "Suchen" + +#: gitk:4723 +msgid "Tags:" +msgstr "Markierungen:" + +#: gitk:4740 gitk:4746 gitk:5898 +msgid "Parent" +msgstr "Eltern" + +#: gitk:4751 +msgid "Child" +msgstr "Kind" + +#: gitk:4760 +msgid "Branch" +msgstr "Zweig" + +#: gitk:4763 +msgid "Follows" +msgstr "" + +#: gitk:4766 +msgid "Precedes" +msgstr "" + +#: gitk:5048 +msgid "Error getting merge diffs:" +msgstr "Fehler beim Laden des Vergleichs:" + +#: gitk:5725 +msgid "Goto:" +msgstr "" + +#: gitk:5727 +msgid "SHA1 ID:" +msgstr "" + +#: gitk:5752 +#, tcl-format +msgid "Short SHA1 id %s is ambiguous" +msgstr "" + +#: gitk:5764 +#, tcl-format +msgid "SHA1 id %s is not known" +msgstr "" + +#: gitk:5766 +#, tcl-format +msgid "Tag/Head %s is not known" +msgstr "" + +#: gitk:5908 +msgid "Children" +msgstr "Kinder" + +#: gitk:5965 +#, tcl-format +msgid "Reset %s branch to here" +msgstr "Zweig »%s« hierher zurücksetzen" + +#: gitk:5996 +msgid "Top" +msgstr "Oben" + +#: gitk:5997 +msgid "From" +msgstr "Von" + +#: gitk:6002 +msgid "To" +msgstr "bis" + +#: gitk:6025 +msgid "Generate patch" +msgstr "Patch erstellen" + +#: gitk:6027 +msgid "From:" +msgstr "Von:" + +#: gitk:6036 +msgid "To:" +msgstr "bis:" + +#: gitk:6045 +msgid "Reverse" +msgstr "Umgekehrt" + +#: gitk:6047 gitk:6220 +msgid "Output file:" +msgstr "" + +#: gitk:6053 +msgid "Generate" +msgstr "Erzeugen" + +#: gitk:6089 +msgid "Error creating patch:" +msgstr "" + +#: gitk:6111 gitk:6208 gitk:6262 +msgid "ID:" +msgstr "" + +#: gitk:6120 +msgid "Tag name:" +msgstr "Markierungsname:" + +#: gitk:6124 gitk:6271 +msgid "Create" +msgstr "Erstellen" + +#: gitk:6139 +msgid "No tag name specified" +msgstr "" + +#: gitk:6143 +#, tcl-format +msgid "Tag \"%s\" already exists" +msgstr "Markierung »%s« existiert bereits." + +#: gitk:6153 +msgid "Error creating tag:" +msgstr "" + +#: gitk:6217 +msgid "Command:" +msgstr "" + +#: gitk:6225 +msgid "Write" +msgstr "Schreiben" + +#: gitk:6241 +msgid "Error writing commit:" +msgstr "" + +#: gitk:6267 +msgid "Name:" +msgstr "Name:" + +#: gitk:6286 +msgid "Please specify a name for the new branch" +msgstr "" + +#: gitk:6315 +#, tcl-format +msgid "Commit %s is already included in branch %s -- really re-apply it?" +msgstr "" + +#: gitk:6320 +msgid "Cherry-picking" +msgstr "Version pflücken" + +#: gitk:6332 +msgid "No changes committed" +msgstr "Keine Änderungen eingetragen" + +#: gitk:6355 +msgid "Confirm reset" +msgstr "Zurücksetzen bestätigen" + +#: gitk:6357 +#, tcl-format +msgid "Reset branch %s to %s?" +msgstr "" + +#: gitk:6361 +msgid "Reset type:" +msgstr "Art des Zurücksetzens:" + +#: gitk:6365 +msgid "Soft: Leave working tree and index untouched" +msgstr "Weich: Arbeitskopie und Bereitstellung unverändert" + +#: gitk:6368 +msgid "Mixed: Leave working tree untouched, reset index" +msgstr "" +"Gemischt: Arbeitskopie unverändert,\n" +"Bereitstellung zurückgesetzt" + +#: gitk:6371 +msgid "" +"Hard: Reset working tree and index\n" +"(discard ALL local changes)" +msgstr "" +"Hart: Arbeitskopie und Bereitstellung\n" +"(Alle lokalen Änderungen werden gelöscht)" + +#: gitk:6387 +msgid "Resetting" +msgstr "Zurücksetzen" + +#: gitk:6444 +msgid "Checking out" +msgstr "" + +#: gitk:6474 +msgid "Cannot delete the currently checked-out branch" +msgstr "" + +#: gitk:6480 +#, tcl-format +msgid "" +"The commits on branch %s aren't on any other branch.\n" +"Really delete branch %s?" +msgstr "" + +#: gitk:6511 +#, tcl-format +msgid "Tags and heads: %s" +msgstr "" + +#: gitk:6525 +msgid "Filter" +msgstr "" + +#: gitk:6820 +msgid "" +"Error reading commit topology information; branch and preceding/following " +"tag information will be incomplete." +msgstr "" + +#: gitk:7804 +msgid "Tag" +msgstr "Markierung" + +#: gitk:7804 +msgid "Id" +msgstr "" + +#: gitk:7844 +msgid "Gitk font chooser" +msgstr "" + +#: gitk:7861 +msgid "B" +msgstr "F" + +#: gitk:7864 +msgid "I" +msgstr "K" + +#: gitk:7959 +msgid "Gitk preferences" +msgstr "Gitk Einstellungen" + +#: gitk:7960 +msgid "Commit list display options" +msgstr "" + +#: gitk:7964 +msgid "Maximum graph width (lines)" +msgstr "" + +#: gitk:7968 +#, tcl-format +msgid "Maximum graph width (% of pane)" +msgstr "" + +#: gitk:7973 +msgid "Show local changes" +msgstr "" + +#: gitk:7978 +msgid "Diff display options" +msgstr "" + +#: gitk:7981 +msgid "Tab spacing" +msgstr "" + +#: gitk:7985 +msgid "Display nearby tags" +msgstr "" + +#: gitk:7990 +msgid "Limit diffs to listed paths" +msgstr "" + +#: gitk:7995 +msgid "Colors: press to choose" +msgstr "" + +#: gitk:7999 +msgid "Background" +msgstr "Vordergrund" + +#: gitk:8003 +msgid "Foreground" +msgstr "Hintergrund" + +#: gitk:8007 +msgid "Diff: old lines" +msgstr "" + +#: gitk:8012 +msgid "Diff: new lines" +msgstr "" + +#: gitk:8017 +msgid "Diff: hunk header" +msgstr "" + +#: gitk:8023 +msgid "Select bg" +msgstr "Hintergrundfarbe Auswählen" + +#: gitk:8027 +msgid "Fonts: press to choose" +msgstr "" + +#: gitk:8030 +msgid "Main font" +msgstr "" + +#: gitk:8031 +msgid "Diff display font" +msgstr "" + +#: gitk:8032 +msgid "User interface font" +msgstr "" + +#: gitk:8050 +#, tcl-format +msgid "Gitk: choose color for %s" +msgstr "" + +#: gitk:8431 +msgid "" +"Sorry, gitk cannot run with this version of Tcl/Tk.\n" +" Gitk requires at least Tcl/Tk 8.4." +msgstr "" + +#: gitk:8516 +msgid "Cannot find a git repository here." +msgstr "" + +#: gitk:8520 +#, tcl-format +msgid "Cannot find the git directory \"%s\"." +msgstr "" + +#: gitk:8559 +#, tcl-format +msgid "Ambiguous argument '%s': both revision and filename" +msgstr "" + +#: gitk:8571 +msgid "Bad arguments to gitk:" +msgstr "" + +#: gitk:8583 +msgid "Couldn't get list of unmerged files:" +msgstr "" + +#: gitk:8599 +msgid "No files selected: --merge specified but no files are unmerged." +msgstr "" + +#: gitk:8602 +msgid "" +"No files selected: --merge specified but no unmerged files are within file " +"limit." +msgstr "" + +#: gitk:8661 +msgid "Command line" +msgstr "Kommandozeile" From b007ee20dcf742d951009bf947f4883cb7f8070a Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 7 Nov 2007 18:44:35 +0100 Subject: [PATCH 05/11] [PATCH] gitk i18n: More markup -- various options menus Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- gitk | 92 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/gitk b/gitk index e291577e52..b861f8d0e9 100755 --- a/gitk +++ b/gitk @@ -769,11 +769,11 @@ proc makewindow {} { label .tf.lbar.flab2 -text " [mc "commit"] " -font uifont pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \ -side left -fill y - set gdttype "containing:" + set gdttype [mc "containing:"] set gm [tk_optionMenu .tf.lbar.gdttype gdttype \ - "containing:" \ - "touching paths:" \ - "adding/removing string:"] + [mc "containing:"] \ + [mc "touching paths:"] \ + [mc "adding/removing string:"]] trace add variable gdttype write gdttype_change $gm conf -font uifont .tf.lbar.gdttype conf -font uifont @@ -784,15 +784,15 @@ proc makewindow {} { lappend entries $fstring entry $fstring -width 30 -font textfont -textvariable findstring trace add variable findstring write find_change - set findtype Exact + set findtype [mc "Exact"] set findtypemenu [tk_optionMenu .tf.lbar.findtype \ - findtype Exact IgnCase Regexp] + findtype [mc "Exact"] [mc "IgnCase"] [mc "Regexp"]] trace add variable findtype write findcom_change .tf.lbar.findtype configure -font uifont .tf.lbar.findtype.menu configure -font uifont - set findloc "All fields" - tk_optionMenu .tf.lbar.findloc findloc "All fields" Headline \ - Comments Author Committer + set findloc [mc "All fields"] + tk_optionMenu .tf.lbar.findloc findloc [mc "All fields"] [mc "Headline"] \ + [mc "Comments"] [mc "Author"] [mc "Committer"] trace add variable findloc write find_change .tf.lbar.findloc configure -font uifont .tf.lbar.findloc.menu configure -font uifont @@ -1743,12 +1743,12 @@ proc flist_hl {only} { global flist_menu_file findstring gdttype set x [shellquote $flist_menu_file] - if {$only || $findstring eq {} || $gdttype ne "touching paths:"} { + if {$only || $findstring eq {} || $gdttype ne [mc "touching paths:"]} { set findstring $x } else { append findstring " " $x } - set gdttype "touching paths:" + set gdttype [mc "touching paths:"] } # Functions for adding and removing shell-type quoting @@ -1998,7 +1998,7 @@ proc delview {} { if {$curview == 0} return if {[info exists hlview] && $hlview == $curview} { - set selectedhlview None + set selectedhlview [mc "None"] unset hlview } allviewmenus $curview delete @@ -2084,7 +2084,7 @@ proc showview {n} { clear_display if {[info exists hlview] && $hlview == $n} { unset hlview - set selectedhlview None + set selectedhlview [mc "None"] } catch {unset commitinterest} @@ -2313,7 +2313,7 @@ proc gdttype_change {name ix op} { stopfinding if {$findstring ne {}} { - if {$gdttype eq "containing:"} { + if {$gdttype eq [mc "containing:"]} { if {$highlight_files ne {}} { set highlight_files {} hfiles_change @@ -2336,7 +2336,7 @@ proc find_change {name ix op} { global gdttype findstring highlight_files stopfinding - if {$gdttype eq "containing:"} { + if {$gdttype eq [mc "containing:"]} { findcom_change } else { if {$highlight_files ne $findstring} { @@ -2360,9 +2360,9 @@ proc findcom_change args { catch {unset nhighlights} unbolden unmarkmatches - if {$gdttype ne "containing:" || $findstring eq {}} { + if {$gdttype ne [mc "containing:"] || $findstring eq {}} { set findpattern {} - } elseif {$findtype eq "Regexp"} { + } elseif {$findtype eq [mc "Regexp"]} { set findpattern $findstring } else { set e [string map {"*" "\\*" "?" "\\?" "\[" "\\\[" "\\" "\\\\"} \ @@ -2388,12 +2388,12 @@ proc makepatterns {l} { proc do_file_hl {serial} { global highlight_files filehighlight highlight_paths gdttype fhl_list - if {$gdttype eq "touching paths:"} { + if {$gdttype eq [mc "touching paths:"]} { if {[catch {set paths [shellsplit $highlight_files]}]} return set highlight_paths [makepatterns $paths] highlight_filelist set gdtargs [concat -- $paths] - } elseif {$gdttype eq "adding/removing string:"} { + } elseif {$gdttype eq [mc "adding/removing string:"]} { set gdtargs [list "-S$highlight_files"] } else { # must be "containing:", i.e. we're searching commit info @@ -2469,9 +2469,9 @@ proc readfhighlight {} { proc doesmatch {f} { global findtype findpattern - if {$findtype eq "Regexp"} { + if {$findtype eq [mc "Regexp"]} { return [regexp $findpattern $f] - } elseif {$findtype eq "IgnCase"} { + } elseif {$findtype eq [mc "IgnCase"]} { return [string match -nocase $findpattern $f] } else { return [string match $findpattern $f] @@ -2488,11 +2488,11 @@ proc askfindhighlight {row id} { } set info $commitinfo($id) set isbold 0 - set fldtypes {Headline Author Date Committer CDate Comments} + set fldtypes [list [mc Headline] [mc Author] [mc Date] [mc Committer] [mc CDate] [mc Comments]] foreach f $info ty $fldtypes { - if {($findloc eq "All fields" || $findloc eq $ty) && + if {($findloc eq [mc "All fields"] || $findloc eq $ty) && [doesmatch $f]} { - if {$ty eq "Author"} { + if {$ty eq [mc "Author"]} { set isbold 2 break } @@ -2520,14 +2520,14 @@ proc markrowmatches {row id} { set author [lindex $commitinfo($id) 1] $canv delete match$row $canv2 delete match$row - if {$findloc eq "All fields" || $findloc eq "Headline"} { + if {$findloc eq [mc "All fields"] || $findloc eq [mc "Headline"]} { set m [findmatches $headline] if {$m ne {}} { markmatches $canv $row $headline $linehtag($row) $m \ [$canv itemcget $linehtag($row) -font] $row } } - if {$findloc eq "All fields" || $findloc eq "Author"} { + if {$findloc eq [mc "All fields"] || $findloc eq [mc "Author"]} { set m [findmatches $author] if {$m ne {}} { markmatches $canv2 $row $author $linentag($row) $m \ @@ -2540,7 +2540,7 @@ proc vrel_change {name ix op} { global highlight_related rhighlight_none - if {$highlight_related ne "None"} { + if {$highlight_related ne [mc "None"]} { run drawvisible } } @@ -2554,7 +2554,7 @@ proc rhighlight_sel {a} { set desc_todo [list $a] catch {unset ancestor} set anc_todo [list $a] - if {$highlight_related ne "None"} { + if {$highlight_related ne [mc "None"]} { rhighlight_none run drawvisible } @@ -2637,20 +2637,20 @@ proc askrelhighlight {row id} { if {![info exists selectedline]} return set isbold 0 - if {$highlight_related eq "Descendent" || - $highlight_related eq "Not descendent"} { + if {$highlight_related eq [mc "Descendent"] || + $highlight_related eq [mc "Not descendent"]} { if {![info exists descendent($id)]} { is_descendent $id } - if {$descendent($id) == ($highlight_related eq "Descendent")} { + if {$descendent($id) == ($highlight_related eq [mc "Descendent"])} { set isbold 1 } - } elseif {$highlight_related eq "Ancestor" || - $highlight_related eq "Not ancestor"} { + } elseif {$highlight_related eq [mc "Ancestor"] || + $highlight_related eq [mc "Not ancestor"]} { if {![info exists ancestor($id)]} { is_ancestor $id } - if {$ancestor($id) == ($highlight_related eq "Ancestor")} { + if {$ancestor($id) == ($highlight_related eq [mc "Ancestor"])} { set isbold 1 } } @@ -3737,7 +3737,7 @@ proc drawcmitrow {row} { if {$findpattern ne {} && ![info exists nhighlights($row)]} { askfindhighlight $row $id } - if {$highlight_related ne "None" && ![info exists rhighlights($row)]} { + if {$highlight_related ne [mc "None"] && ![info exists rhighlights($row)]} { askrelhighlight $row $id } if {![info exists iddrawn($id)]} { @@ -4226,11 +4226,11 @@ proc notbusy {what} { proc findmatches {f} { global findtype findstring - if {$findtype == "Regexp"} { + if {$findtype == [mc "Regexp"]} { set matches [regexp -indices -all -inline $findstring $f] } else { set fs $findstring - if {$findtype == "IgnCase"} { + if {$findtype == [mc "IgnCase"]} { set f [string tolower $f] set fs [string tolower $fs] } @@ -4261,8 +4261,8 @@ proc dofind {{dirn 1} {wrap 1}} { set findstartline $selectedline } set findcurline $findstartline - nowbusy finding "Searching" - if {$gdttype ne "containing:" && ![info exists filehighlight]} { + nowbusy finding [mc "Searching"] + if {$gdttype ne [mc "containing:"] && ![info exists filehighlight]} { after cancel do_file_hl $fh_serial do_file_hl $fh_serial } @@ -4292,7 +4292,7 @@ proc findmore {} { if {![info exists find_dirn]} { return 0 } - set fldtypes {Headline Author Date Committer CDate Comments} + set fldtypes [list [mc "Headline"] [mc "Author"] [mc "Date"] [mc "Committer"] [mc "CDate"] [mc "Comments"]] set l $findcurline set moretodo 0 if {$find_dirn > 0} { @@ -4325,7 +4325,7 @@ proc findmore {} { } set found 0 set domore 1 - if {$gdttype eq "containing:"} { + if {$gdttype eq [mc "containing:"]} { for {} {$n > 0} {incr n -1; incr l $find_dirn} { set id [lindex $displayorder $l] # shouldn't happen unless git log doesn't give all the commits... @@ -4336,7 +4336,7 @@ proc findmore {} { } set info $commitinfo($id) foreach f $info ty $fldtypes { - if {($findloc eq "All fields" || $findloc eq $ty) && + if {($findloc eq [mc "All fields"] || $findloc eq $ty) && [doesmatch $f]} { set found 1 break @@ -4392,7 +4392,7 @@ proc findselectline {l} { set markingmatches 1 set findcurline $l selectline $l 1 - if {$findloc == "All fields" || $findloc == "Comments"} { + if {$findloc == [mc "All fields"] || $findloc == [mc "Comments"]} { # highlight the matches in the comments set f [$ctext get 1.0 $commentend] set matches [findmatches $f] @@ -4780,7 +4780,7 @@ proc selectline {l isnew} { $ctext conf -state disabled set commentend [$ctext index "end - 1c"] - init_flist "Comments" + init_flist [mc "Comments"] if {$cmitmode eq "tree"} { gettree $id } elseif {[llength $olds] <= 1} { @@ -8632,8 +8632,8 @@ set firsttabstop 0 set nextviewnum 1 set curview 0 set selectedview 0 -set selectedhlview None -set highlight_related None +set selectedhlview [mc "None"] +set highlight_related [mc "None"] set highlight_files {} set viewfiles(0) {} set viewperm(0) 0 From eadcac921805bc05f5029fc98f2484f52543af0d Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 7 Nov 2007 18:47:04 +0100 Subject: [PATCH 06/11] [PATCH] gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8. When using translations, the target language must be encoded in utf-8 because almost all target languages will contain non-ascii characters. For that reason, the non-translated strings should be in utf-8 as well so that there isn't any encoding mixup inside the program. Signed-off-by: Paul Mackerras --- gitk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitk b/gitk index b861f8d0e9..684e6141eb 100755 --- a/gitk +++ b/gitk @@ -1281,7 +1281,7 @@ proc about {} { message $w.m -text [mc " Gitk - a commit viewer for git -Copyright © 2005-2006 Paul Mackerras +Copyright © 2005-2006 Paul Mackerras Use and redistribute under the terms of the GNU General Public License"] \ -justify center -aspect 400 -border 2 -bg white -relief groove From a495e5a9080080dd2a9a02c5b3f27f1d48a3f0cd Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Mon, 31 Dec 2007 12:49:13 +1100 Subject: [PATCH 07/11] gitk: Recode de.po to UTF-8 Somehow de.po got recoded to latin-1 in the process of committing it. This recodes it back to UTF-8. Signed-off-by: Paul Mackerras --- po/de.po | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/po/de.po b/po/de.po index a4fdf9a6b9..19d048b683 100644 --- a/po/de.po +++ b/po/de.po @@ -33,7 +33,7 @@ msgstr "Git log Ausgabe kann nicht erkannt werden:" #: gitk:375 gitk:2155 msgid "No commits selected" -msgstr "Keine Versionen ausgewählt." +msgstr "Keine Versionen ausgewählt." #: gitk:486 msgid "No commit information available" @@ -90,7 +90,7 @@ msgstr "Ansicht bearbeiten..." #: gitk:651 gitk:2094 gitk:8667 msgid "Delete view" -msgstr "Ansicht löschen" +msgstr "Ansicht löschen" #: gitk:653 msgid "All files" @@ -102,11 +102,11 @@ msgstr "Hilfe" #: gitk:658 gitk:1280 msgid "About gitk" -msgstr "Über gitk" +msgstr "Ãœber gitk" #: gitk:659 msgid "Key bindings" -msgstr "Tastenkürzel" +msgstr "Tastenkürzel" #: gitk:716 msgid "SHA1 ID: " @@ -118,7 +118,7 @@ msgstr "Suche" #: gitk:767 msgid "next" -msgstr "nächste" +msgstr "nächste" #: gitk:768 msgid "prev" @@ -138,7 +138,7 @@ msgstr "Pfad betreffend:" #: gitk:776 gitk:2396 msgid "adding/removing string:" -msgstr "String dazu/löschen:" +msgstr "String dazu/löschen:" #: gitk:787 gitk:789 msgid "Exact" @@ -146,7 +146,7 @@ msgstr "Exakt" #: gitk:789 gitk:2474 gitk:4233 msgid "IgnCase" -msgstr "Kein Groß/Klein" +msgstr "Kein Groß/Klein" #: gitk:789 gitk:2365 gitk:2472 gitk:4229 msgid "Regexp" @@ -158,7 +158,7 @@ msgstr "Alle Felder" #: gitk:794 gitk:2491 gitk:2523 gitk:4295 msgid "Headline" -msgstr "Überschrift" +msgstr "Ãœberschrift" #: gitk:795 gitk:2491 gitk:4295 gitk:4395 gitk:4783 msgid "Comments" @@ -203,11 +203,11 @@ msgstr "Baum" #: gitk:1018 gitk:1033 gitk:5969 msgid "Diff this -> selected" -msgstr "Vergleich diese -> gewählte" +msgstr "Vergleich diese -> gewählte" #: gitk:1020 gitk:1035 gitk:5970 msgid "Diff selected -> this" -msgstr "Vergleich gewählte -> diese" +msgstr "Vergleich gewählte -> diese" #: gitk:1022 gitk:1037 gitk:5971 msgid "Make patch" @@ -227,11 +227,11 @@ msgstr "Neuen Zweig erstellen" #: gitk:1026 msgid "Cherry-pick this commit" -msgstr "Diese Version pflücken" +msgstr "Diese Version pflücken" #: gitk:1028 msgid "Reset HEAD branch to here" -msgstr "HEAD-Zweig auf diese Version zurücksetzen" +msgstr "HEAD-Zweig auf diese Version zurücksetzen" #: gitk:1044 msgid "Check out this branch" @@ -239,7 +239,7 @@ msgstr "Auf diesen Zweig umstellen" #: gitk:1046 msgid "Remove this branch" -msgstr "Zweig löschen" +msgstr "Zweig löschen" #: gitk:1052 msgid "Highlight this too" @@ -254,14 +254,14 @@ msgid "" "\n" "Gitk - a commit viewer for git\n" "\n" -"Copyright © 2005-2006 Paul Mackerras\n" +"Copyright © 2005-2006 Paul Mackerras\n" "\n" "Use and redistribute under the terms of the GNU General Public License" msgstr "" #: gitk:1290 gitk:1354 gitk:6532 msgid "Close" -msgstr "Schließen" +msgstr "Schließen" #: gitk:1311 msgid "Gitk key bindings" @@ -389,7 +389,7 @@ msgstr "Kinder" #: gitk:5965 #, tcl-format msgid "Reset %s branch to here" -msgstr "Zweig »%s« hierher zurücksetzen" +msgstr "Zweig »%s« hierher zurücksetzen" #: gitk:5996 msgid "Top" @@ -450,7 +450,7 @@ msgstr "" #: gitk:6143 #, tcl-format msgid "Tag \"%s\" already exists" -msgstr "Markierung »%s« existiert bereits." +msgstr "Markierung »%s« existiert bereits." #: gitk:6153 msgid "Error creating tag:" @@ -483,15 +483,15 @@ msgstr "" #: gitk:6320 msgid "Cherry-picking" -msgstr "Version pflücken" +msgstr "Version pflücken" #: gitk:6332 msgid "No changes committed" -msgstr "Keine Änderungen eingetragen" +msgstr "Keine Änderungen eingetragen" #: gitk:6355 msgid "Confirm reset" -msgstr "Zurücksetzen bestätigen" +msgstr "Zurücksetzen bestätigen" #: gitk:6357 #, tcl-format @@ -500,17 +500,17 @@ msgstr "" #: gitk:6361 msgid "Reset type:" -msgstr "Art des Zurücksetzens:" +msgstr "Art des Zurücksetzens:" #: gitk:6365 msgid "Soft: Leave working tree and index untouched" -msgstr "Weich: Arbeitskopie und Bereitstellung unverändert" +msgstr "Weich: Arbeitskopie und Bereitstellung unverändert" #: gitk:6368 msgid "Mixed: Leave working tree untouched, reset index" msgstr "" -"Gemischt: Arbeitskopie unverändert,\n" -"Bereitstellung zurückgesetzt" +"Gemischt: Arbeitskopie unverändert,\n" +"Bereitstellung zurückgesetzt" #: gitk:6371 msgid "" @@ -518,11 +518,11 @@ msgid "" "(discard ALL local changes)" msgstr "" "Hart: Arbeitskopie und Bereitstellung\n" -"(Alle lokalen Änderungen werden gelöscht)" +"(Alle lokalen Änderungen werden gelöscht)" #: gitk:6387 msgid "Resetting" -msgstr "Zurücksetzen" +msgstr "Zurücksetzen" #: gitk:6444 msgid "Checking out" @@ -637,7 +637,7 @@ msgstr "" #: gitk:8023 msgid "Select bg" -msgstr "Hintergrundfarbe Auswählen" +msgstr "Hintergrundfarbe Auswählen" #: gitk:8027 msgid "Fonts: press to choose" From b039f0a62d513226352f9bd745374629f8579b0c Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Sun, 6 Jan 2008 15:54:46 +1100 Subject: [PATCH 08/11] gitk: Restore some widget options whose defaults changed in Tk 8.5 The default options for panedwindows in Tk 8.5 make the sash virtually invisible -- the handle is not shown and the relief is flat. This puts the defaults back to showing the handle and a raised relief on the sash, as in Tk 8.4. This uses the option command to do this, and also uses the option command to set the default font for various UI elements to the UI font ("uifont"). Signed-off-by: Paul Mackerras --- gitk | 105 +++++++++++++++++++++++++---------------------------------- 1 file changed, 45 insertions(+), 60 deletions(-) diff --git a/gitk b/gitk index 684e6141eb..4a923afdf3 100755 --- a/gitk +++ b/gitk @@ -613,6 +613,19 @@ proc confirm_popup msg { return $confirm_ok } +proc setoptions {} { + option add *Panedwindow.showHandle 1 startupFile + option add *Panedwindow.sashRelief raised startupFile + option add *Button.font uifont startupFile + option add *Checkbutton.font uifont startupFile + option add *Radiobutton.font uifont startupFile + option add *Menu.font uifont startupFile + option add *Menubutton.font uifont startupFile + option add *Label.font uifont startupFile + option add *Message.font uifont startupFile + option add *Entry.font uifont startupFile +} + proc makewindow {} { global canv canv2 canv3 linespc charspc ctext cflist global tabstop @@ -631,19 +644,16 @@ proc makewindow {} { menu .bar .bar add cascade -label [mc "File"] -menu .bar.file - .bar configure -font uifont menu .bar.file .bar.file add command -label [mc "Update"] -command updatecommits .bar.file add command -label [mc "Reread references"] -command rereadrefs .bar.file add command -label [mc "List references"] -command showrefs .bar.file add command -label [mc "Quit"] -command doquit - .bar.file configure -font uifont menu .bar.edit .bar add cascade -label [mc "Edit"] -menu .bar.edit .bar.edit add command -label [mc "Preferences"] -command doprefs - .bar.edit configure -font uifont - menu .bar.view -font uifont + menu .bar.view .bar add cascade -label [mc "View"] -menu .bar.view .bar.view add command -label [mc "New view..."] -command {newview 0} .bar.view add command -label [mc "Edit view..."] -command editview \ @@ -657,7 +667,7 @@ proc makewindow {} { .bar add cascade -label [mc "Help"] -menu .bar.help .bar.help add command -label [mc "About gitk"] -command about .bar.help add command -label [mc "Key bindings"] -command keys - .bar.help configure -font uifont + .bar.help configure . configure -menu .bar # the gui has upper and lower half, parts of a paned window. @@ -714,7 +724,7 @@ proc makewindow {} { set entries $sha1entry set sha1but .tf.bar.sha1label button $sha1but -text [mc "SHA1 ID: "] -state disabled -relief flat \ - -command gotocommit -width 8 -font uifont + -command gotocommit -width 8 $sha1but conf -disabledforeground [$sha1but cget -foreground] pack .tf.bar.sha1label -side left entry $sha1entry -width 40 -font textfont -textvariable sha1string @@ -746,7 +756,7 @@ proc makewindow {} { # Status label and progress bar set statusw .tf.bar.status - label $statusw -width 15 -relief sunken -font uifont + label $statusw -width 15 -relief sunken pack $statusw -side left -padx 5 set h [expr {[font metrics uifont -linespace] + 2}] set progresscanv .tf.bar.progress @@ -763,10 +773,10 @@ proc makewindow {} { set progupdatepending 0 # build up the bottom bar of upper window - label .tf.lbar.flabel -text "[mc "Find"] " -font uifont - button .tf.lbar.fnext -text [mc "next"] -command {dofind 1 1} -font uifont - button .tf.lbar.fprev -text [mc "prev"] -command {dofind -1 1} -font uifont - label .tf.lbar.flab2 -text " [mc "commit"] " -font uifont + label .tf.lbar.flabel -text "[mc "Find"] " + button .tf.lbar.fnext -text [mc "next"] -command {dofind 1 1} + button .tf.lbar.fprev -text [mc "prev"] -command {dofind -1 1} + label .tf.lbar.flab2 -text " [mc "commit"] " pack .tf.lbar.flabel .tf.lbar.fnext .tf.lbar.fprev .tf.lbar.flab2 \ -side left -fill y set gdttype [mc "containing:"] @@ -775,8 +785,6 @@ proc makewindow {} { [mc "touching paths:"] \ [mc "adding/removing string:"]] trace add variable gdttype write gdttype_change - $gm conf -font uifont - .tf.lbar.gdttype conf -font uifont pack .tf.lbar.gdttype -side left -fill y set findstring {} @@ -788,14 +796,10 @@ proc makewindow {} { set findtypemenu [tk_optionMenu .tf.lbar.findtype \ findtype [mc "Exact"] [mc "IgnCase"] [mc "Regexp"]] trace add variable findtype write findcom_change - .tf.lbar.findtype configure -font uifont - .tf.lbar.findtype.menu configure -font uifont set findloc [mc "All fields"] tk_optionMenu .tf.lbar.findloc findloc [mc "All fields"] [mc "Headline"] \ [mc "Comments"] [mc "Author"] [mc "Committer"] trace add variable findloc write find_change - .tf.lbar.findloc configure -font uifont - .tf.lbar.findloc.menu configure -font uifont pack .tf.lbar.findloc -side right pack .tf.lbar.findtype -side right pack $fstring -side left -expand 1 -fill x @@ -822,22 +826,20 @@ proc makewindow {} { frame .bleft.top frame .bleft.mid - button .bleft.top.search -text [mc "Search"] -command dosearch \ - -font uifont + button .bleft.top.search -text [mc "Search"] -command dosearch pack .bleft.top.search -side left -padx 5 set sstring .bleft.top.sstring entry $sstring -width 20 -font textfont -textvariable searchstring lappend entries $sstring trace add variable searchstring write incrsearch pack $sstring -side left -expand 1 -fill x - radiobutton .bleft.mid.diff -text [mc "Diff"] -font uifont \ + radiobutton .bleft.mid.diff -text [mc "Diff"] \ -command changediffdisp -variable diffelide -value {0 0} - radiobutton .bleft.mid.old -text [mc "Old version"] -font uifont \ + radiobutton .bleft.mid.old -text [mc "Old version"] \ -command changediffdisp -variable diffelide -value {0 1} - radiobutton .bleft.mid.new -text [mc "New version"] -font uifont \ + radiobutton .bleft.mid.new -text [mc "New version"] \ -command changediffdisp -variable diffelide -value {1 0} - label .bleft.mid.labeldiffcontext -text " [mc "Lines of context"]: " \ - -font uifont + label .bleft.mid.labeldiffcontext -text " [mc "Lines of context"]: " pack .bleft.mid.diff .bleft.mid.old .bleft.mid.new -side left spinbox .bleft.mid.diffcontext -width 5 -font textfont \ -from 1 -increment 1 -to 10000000 \ @@ -897,10 +899,8 @@ proc makewindow {} { frame .bright.mode radiobutton .bright.mode.patch -text [mc "Patch"] \ -command reselectline -variable cmitmode -value "patch" - .bright.mode.patch configure -font uifont radiobutton .bright.mode.tree -text [mc "Tree"] \ -command reselectline -variable cmitmode -value "tree" - .bright.mode.tree configure -font uifont grid .bright.mode.patch .bright.mode.tree -sticky ew pack .bright.mode -side top -fill x set cflist .bright.cfiles @@ -1286,17 +1286,14 @@ Copyright © 2005-2006 Paul Mackerras Use and redistribute under the terms of the GNU General Public License"] \ -justify center -aspect 400 -border 2 -bg white -relief groove pack $w.m -side top -fill x -padx 2 -pady 2 - $w.m configure -font uifont button $w.ok -text [mc "Close"] -command "destroy $w" -default active pack $w.ok -side bottom - $w.ok configure -font uifont bind $w "focus $w.ok" bind $w "destroy $w" bind $w "destroy $w" } proc keys {} { - global uifont set w .keys if {[winfo exists $w]} { raise $w @@ -1350,10 +1347,8 @@ f Scroll diff view to next file "] \ -justify left -bg white -border 2 -relief groove pack $w.m -side top -fill both -padx 2 -pady 2 - $w.m configure -font uifont button $w.ok -text [mc "Close"] -command "destroy $w" -default active pack $w.ok -side bottom - $w.ok configure -font uifont bind $w "focus $w.ok" bind $w "destroy $w" bind $w "destroy $w" @@ -1848,7 +1843,7 @@ proc shellsplit {str} { # Code to implement multiple views proc newview {ishighlight} { - global nextviewnum newviewname newviewperm uifont newishighlight + global nextviewnum newviewname newviewperm newishighlight global newviewargs revtreeargs set newishighlight $ishighlight @@ -1881,23 +1876,22 @@ proc editview {} { proc vieweditor {top n title} { global newviewname newviewperm viewfiles - global uifont toplevel $top wm title $top $title - label $top.nl -text [mc "Name"] -font uifont - entry $top.name -width 20 -textvariable newviewname($n) -font uifont + label $top.nl -text [mc "Name"] + entry $top.name -width 20 -textvariable newviewname($n) grid $top.nl $top.name -sticky w -pady 5 - checkbutton $top.perm -text [mc "Remember this view"] -variable newviewperm($n) \ - -font uifont + checkbutton $top.perm -text [mc "Remember this view"] \ + -variable newviewperm($n) grid $top.perm - -pady 5 -sticky w - message $top.al -aspect 1000 -font uifont \ + message $top.al -aspect 1000 \ -text [mc "Commits to include (arguments to git rev-list):"] grid $top.al - -sticky w -pady 5 entry $top.args -width 50 -textvariable newviewargs($n) \ - -background white -font uifont + -background white grid $top.args - -sticky ew -padx 5 - message $top.l -aspect 1000 -font uifont \ + message $top.l -aspect 1000 \ -text [mc "Enter files and directories to include, one per line:"] grid $top.l - -sticky w text $top.t -width 40 -height 10 -background white -font uifont @@ -1911,10 +1905,8 @@ proc vieweditor {top n title} { } grid $top.t - -sticky ew -padx 5 frame $top.buts - button $top.buts.ok -text [mc "OK"] -command [list newviewok $top $n] \ - -font uifont - button $top.buts.can -text [mc "Cancel"] -command [list destroy $top] \ - -font uifont + button $top.buts.ok -text [mc "OK"] -command [list newviewok $top $n] + button $top.buts.can -text [mc "Cancel"] -command [list destroy $top] grid $top.buts.ok $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -6522,15 +6514,14 @@ proc showrefs {} { grid $top.list $top.ysb -sticky nsew grid $top.xsb x -sticky ew frame $top.f - label $top.f.l -text "[mc "Filter"]: " -font uifont - entry $top.f.e -width 20 -textvariable reflistfilter -font uifont + label $top.f.l -text "[mc "Filter"]: " + entry $top.f.e -width 20 -textvariable reflistfilter set reflistfilter "*" trace add variable reflistfilter write reflistfilter_change pack $top.f.e -side right -fill x -expand 1 pack $top.f.l -side left grid $top.f - -sticky ew -pady 2 - button $top.close -command [list destroy $top] -text [mc "Close"] \ - -font uifont + button $top.close -command [list destroy $top] -text [mc "Close"] grid $top.close - grid columnconfigure $top 0 -weight 1 grid rowconfigure $top 0 -weight 1 @@ -7842,7 +7833,7 @@ proc choosefont {font which} { eval font config sample [font actual $font] toplevel $top wm title $top [mc "Gitk font chooser"] - label $top.l -textvariable fontparam(which) -font uifont + label $top.l -textvariable fontparam(which) pack $top.l -side top set fontlist [lsort [font families]] frame $top.f @@ -7872,10 +7863,8 @@ proc choosefont {font which} { bind $top.c [list centertext $top.c] pack $top.c -side top -fill x frame $top.buts - button $top.buts.ok -text [mc "OK"] -command fontok -default active \ - -font uifont - button $top.buts.can -text [mc "Cancel"] -command fontcan -default normal \ - -font uifont + button $top.buts.ok -text [mc "OK"] -command fontok -default active + button $top.buts.can -text [mc "Cancel"] -command fontcan -default normal grid $top.buts.ok $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -7943,7 +7932,7 @@ proc doprefs {} { global maxwidth maxgraphpct global oldprefs prefstop showneartags showlocalchanges global bgcolor fgcolor ctext diffcolors selectbgcolor - global uifont tabstop limitdiffs + global tabstop limitdiffs set top .gitkprefs set prefstop $top @@ -7958,7 +7947,6 @@ proc doprefs {} { toplevel $top wm title $top [mc "Gitk preferences"] label $top.ldisp -text [mc "Commit list display options"] - $top.ldisp configure -font uifont grid $top.ldisp - -sticky w -pady 10 label $top.spacer -text " " label $top.maxwidthl -text [mc "Maximum graph width (lines)"] \ @@ -7976,7 +7964,6 @@ proc doprefs {} { grid x $top.showlocal -sticky w label $top.ddisp -text [mc "Diff display options"] - $top.ddisp configure -font uifont grid $top.ddisp - -sticky w -pady 10 label $top.tabstopl -text [mc "Tab spacing"] -font optionfont spinbox $top.tabstop -from 1 -to 20 -width 4 -textvariable tabstop @@ -7993,7 +7980,6 @@ proc doprefs {} { grid x $top.ldiff -sticky w label $top.cdisp -text [mc "Colors: press to choose"] - $top.cdisp configure -font uifont grid $top.cdisp - -sticky w -pady 10 label $top.bg -padx 40 -relief sunk -background $bgcolor button $top.bgbut -text [mc "Background"] -font optionfont \ @@ -8025,7 +8011,6 @@ proc doprefs {} { grid x $top.selbgbut $top.selbgsep -sticky w label $top.cfont -text [mc "Fonts: press to choose"] - $top.cfont configure -font uifont grid $top.cfont - -sticky w -pady 10 mkfontdisp mainfont $top [mc "Main font"] mkfontdisp textfont $top [mc "Diff display font"] @@ -8033,9 +8018,7 @@ proc doprefs {} { frame $top.buts button $top.buts.ok -text [mc "OK"] -command prefsok -default active - $top.buts.ok configure -font uifont button $top.buts.can -text [mc "Cancel"] -command prefscan -default normal - $top.buts.can configure -font uifont grid $top.buts.ok $top.buts.can grid columnconfigure $top.buts 0 -weight 1 -uniform a grid columnconfigure $top.buts 1 -weight 1 -uniform a @@ -8511,6 +8494,8 @@ eval font create textfontbold [fontflags textfont 1] parsefont uifont $uifont eval font create uifont [fontflags uifont] +setoptions + # check that we can find a .git directory somewhere... if {[catch {set gitdir [gitdir]}]} { show_error {} . [mc "Cannot find a git repository here."] From 73c4f228504324364348247534ee9b22e55f4751 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 9 Jan 2008 14:12:18 +1100 Subject: [PATCH 09/11] [PATCH] gitk: Update and fix Makefile This Makefile uses the template provided at git.git/gitk-git/Makefile by Junio and adds the rules for the i18n files. Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- Makefile | 63 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/Makefile b/Makefile index 38154b6e08..61585045b7 100644 --- a/Makefile +++ b/Makefile @@ -1,25 +1,52 @@ -# Set the installation directories; this section is needed only in -# gitk.git but probably not in git.git. -ifndef gitexecdir - gitexecdir := $(shell git --exec-path) -endif -ifndef sharedir - sharedir := $(dir $(gitexecdir))share -endif +# The default target of this Makefile is... +all:: -# From here on, these are needed in git.git/gitk/Makefile. +prefix ?= $(HOME) +bindir ?= $(prefix)/bin +sharedir ?= $(prefix)/share gitk_libdir ?= $(sharedir)/gitk/lib msgsdir ?= $(gitk_libdir)/msgs msgsdir_SQ = $(subst ','\'',$(msgsdir)) -## Beginning of po-file creation rules +TCLTK_PATH ?= wish +INSTALL ?= install +RM ?= rm -f + +DESTDIR_SQ = $(subst ','\'',$(DESTDIR)) +bindir_SQ = $(subst ','\'',$(bindir)) +TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH)) + +## po-file creation rules XGETTEXT ?= xgettext MSGFMT ?= msgfmt PO_TEMPLATE = po/gitk.pot ALL_POFILES = $(wildcard po/*.po) ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES)) -all:: $(ALL_MSGFILES) +ifndef V + QUIET = @ + QUIET_GEN = $(QUIET)echo ' ' GEN $@ && +endif + +all:: gitk-wish $(ALL_MSGFILES) + +install:: all + $(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk + $(INSTALL) -d '$(DESTDIR_SQ)$(msgsdir_SQ)' + $(foreach p,$(ALL_MSGFILES), $(INSTALL) $p '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true + +uninstall:: + $(foreach p,$(ALL_MSGFILES), $(RM) '$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) &&) true + $(RM) '$(DESTDIR_SQ)$(bindir_SQ)'/gitk + +clean:: + $(RM) gitk-wish po/*.msg + +gitk-wish: gitk + $(QUIET_GEN)$(RM) $@ $@+ && \ + sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' $@+ && \ + chmod +x $@+ && \ + mv -f $@+ $@ $(PO_TEMPLATE): gitk $(XGETTEXT) -kmc -LTcl -o $@ gitk @@ -29,17 +56,3 @@ $(ALL_MSGFILES): %.msg : %.po @echo Generating catalog $@ $(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) -clean:: - rm -f $(ALL_PROGRAMS) po/*.msg -## End of po-file creation rules - -# Install rules for po-files -install: all - $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1) - $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true - -uninstall: - $(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true - $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(REMOVE_D1) - $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(REMOVE_D1) - $(QUIET)$(REMOVE_D0)`dirname '$(DESTDIR_SQ)$(libdir_SQ)'` $(REMOVE_D1) From 9e8ad094bdd4b7b63d277f9a7c7b55e3019a2bab Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Wed, 9 Jan 2008 14:13:22 +1100 Subject: [PATCH 10/11] [PATCH] gitk: Update German translation Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- po/de.po | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/po/de.po b/po/de.po index 19d048b683..d7881dd121 100644 --- a/po/de.po +++ b/po/de.po @@ -1,14 +1,14 @@ # Translation of gitk to German. -# Copyright (C) 2007 Paul Mackerras and Christian Stimming. -# This file is distributed under the same license as the git package. +# Copyright (C) 2007 Paul Mackerras. +# This file is distributed under the same license as the gitk package. # Christian Stimming , 2007 # msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-07 12:27+0100\n" -"PO-Revision-Date: 2007-11-07 12:36+0100\n" +"POT-Creation-Date: 2007-12-21 12:04+0100\n" +"PO-Revision-Date: 2008-01-08 21:48+0100\n" "Last-Translator: Christian Stimming \n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -321,11 +321,11 @@ msgstr "" #: gitk:2883 msgid "Local changes checked in to index but not committed" -msgstr "" +msgstr "Lokale Änderungen bereitgestellt, aber nicht eingetragen" #: gitk:2913 msgid "Local uncommitted changes, not checked in to index" -msgstr "" +msgstr "Lokale Änderungen, nicht bereitgestellt" #: gitk:4264 msgid "Searching" @@ -496,7 +496,7 @@ msgstr "Zurücksetzen bestätigen" #: gitk:6357 #, tcl-format msgid "Reset branch %s to %s?" -msgstr "" +msgstr "Zweig »%s« auf »%s« zurücksetzen?" #: gitk:6361 msgid "Reset type:" @@ -504,7 +504,7 @@ msgstr "Art des Zurücksetzens:" #: gitk:6365 msgid "Soft: Leave working tree and index untouched" -msgstr "Weich: Arbeitskopie und Bereitstellung unverändert" +msgstr "Harmlos: Arbeitskopie und Bereitstellung unverändert" #: gitk:6368 msgid "Mixed: Leave working tree untouched, reset index" @@ -526,11 +526,11 @@ msgstr "Zurücksetzen" #: gitk:6444 msgid "Checking out" -msgstr "" +msgstr "Umstellen" #: gitk:6474 msgid "Cannot delete the currently checked-out branch" -msgstr "" +msgstr "Der Zweig, auf den die Arbeitskopie momentan umgestellt ist, kann nicht gelöscht werden." #: gitk:6480 #, tcl-format @@ -580,28 +580,28 @@ msgstr "Gitk Einstellungen" #: gitk:7960 msgid "Commit list display options" -msgstr "" +msgstr "Anzeige Versionsliste" #: gitk:7964 msgid "Maximum graph width (lines)" -msgstr "" +msgstr "Maximale Graphenbreite (Zeilen)" #: gitk:7968 #, tcl-format msgid "Maximum graph width (% of pane)" -msgstr "" +msgstr "Maximale Graphenbreite (% des Fensters)" #: gitk:7973 msgid "Show local changes" -msgstr "" +msgstr "Lokale Änderungen anzeigen" #: gitk:7978 msgid "Diff display options" -msgstr "" +msgstr "Anzeige Vergleich" #: gitk:7981 msgid "Tab spacing" -msgstr "" +msgstr "Tabulatorbreite" #: gitk:7985 msgid "Display nearby tags" @@ -609,11 +609,11 @@ msgstr "" #: gitk:7990 msgid "Limit diffs to listed paths" -msgstr "" +msgstr "Vergleich nur für angezeigte Pfade" #: gitk:7995 msgid "Colors: press to choose" -msgstr "" +msgstr "Farben: Klicken zum Wählen" #: gitk:7999 msgid "Background" @@ -625,15 +625,15 @@ msgstr "Hintergrund" #: gitk:8007 msgid "Diff: old lines" -msgstr "" +msgstr "Vergleich: Alte Zeilen" #: gitk:8012 msgid "Diff: new lines" -msgstr "" +msgstr "Vergleich: Neue Zeilen" #: gitk:8017 msgid "Diff: hunk header" -msgstr "" +msgstr "Vergleich: Änderungstitel" #: gitk:8023 msgid "Select bg" @@ -641,24 +641,24 @@ msgstr "Hintergrundfarbe Auswählen" #: gitk:8027 msgid "Fonts: press to choose" -msgstr "" +msgstr "Schriftart: Klicken zum Wählen" #: gitk:8030 msgid "Main font" -msgstr "" +msgstr "Programmschriftart" #: gitk:8031 msgid "Diff display font" -msgstr "" +msgstr "Vergleich" #: gitk:8032 msgid "User interface font" -msgstr "" +msgstr "Beschriftungen" #: gitk:8050 #, tcl-format msgid "Gitk: choose color for %s" -msgstr "" +msgstr "Gitk: Farbe wählen für %s" #: gitk:8431 msgid "" @@ -668,7 +668,7 @@ msgstr "" #: gitk:8516 msgid "Cannot find a git repository here." -msgstr "" +msgstr "Kein Git-Projektarchiv gefunden." #: gitk:8520 #, tcl-format From f0c842681936ffd684aac3f0d8340c99780d5b53 Mon Sep 17 00:00:00 2001 From: Gerrit Pape Date: Wed, 9 Jan 2008 14:19:47 +1100 Subject: [PATCH 11/11] [PATCH] gitk: use user-configured background in view definition dialog Have the text fields in the view definition dialog (View->New view...) use the background color as configured through the preferences, instead of hard-coded 'white'. This was suggested by Paul Wise through http://bugs.debian.org/457124 Signed-off-by: Gerrit Pape Signed-off-by: Paul Mackerras --- gitk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index 4a923afdf3..801a5a9d86 100755 --- a/gitk +++ b/gitk @@ -1875,7 +1875,7 @@ proc editview {} { } proc vieweditor {top n title} { - global newviewname newviewperm viewfiles + global newviewname newviewperm viewfiles bgcolor toplevel $top wm title $top $title @@ -1889,12 +1889,12 @@ proc vieweditor {top n title} { -text [mc "Commits to include (arguments to git rev-list):"] grid $top.al - -sticky w -pady 5 entry $top.args -width 50 -textvariable newviewargs($n) \ - -background white + -background $bgcolor grid $top.args - -sticky ew -padx 5 message $top.l -aspect 1000 \ -text [mc "Enter files and directories to include, one per line:"] grid $top.l - -sticky w - text $top.t -width 40 -height 10 -background white -font uifont + text $top.t -width 40 -height 10 -background $bgcolor -font uifont if {[info exists viewfiles($n)]} { foreach f $viewfiles($n) { $top.t insert end $f