* [PATCH] Internationalization of git-gui
@ 2007-07-19 10:56 Christian Stimming
2007-07-19 12:25 ` Johannes Schindelin
0 siblings, 1 reply; 28+ messages in thread
From: Christian Stimming @ 2007-07-19 10:56 UTC (permalink / raw)
To: git
[-- Attachment #1: Type: text/plain, Size: 370 bytes --]
This is an initial patch of how internationalization (i18n) in git
could be done, starting with the git-gui application (because I need
that one in German to convince my workplace of switching to git).
Does this implementation look okay? If yes, I'd happily i18n'ize the
rest of git-gui and provide a full German translation as well.
Thanks,
Christian Stimming
[-- Attachment #2: 0001-Initialize-msgcat-gettext.patch --]
[-- Type: text/x-patch, Size: 851 bytes --]
>From ea66070d95061e623cb5430fe88efea653e511e0 Mon Sep 17 00:00:00 2001
From: Christian Stimming <stimming@tuhh.de>
Date: Thu, 19 Jul 2007 12:48:08 +0200
Subject: [PATCH] Initialize msgcat (gettext).
---
git-gui/git-gui.sh | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 2077261..c56a3f1 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -108,6 +108,12 @@ if {$idx ne {}} {
}
unset -nocomplain oguirel idx fd
+## Internationalization (i18n) through gettext. See
+## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html
+package require msgcat
+::msgcat::mcload [file join $oguilib msgs]
+proc _ {s} {return [::msgcat::mc $s]}
+
######################################################################
##
## read only globals
--
1.5.3.rc2.4.g726f9
[-- Attachment #3: 0002-Mark-strings-for-translation.patch --]
[-- Type: text/x-patch, Size: 16181 bytes --]
>From 154d29786bdda205357595e22b3385d7cdb77453 Mon Sep 17 00:00:00 2001
From: Christian Stimming <stimming@tuhh.de>
Date: Thu, 19 Jul 2007 12:49:09 +0200
Subject: [PATCH] Mark strings for translation
---
git-gui/git-gui.sh | 154 ++++++++++++++++++++++++++--------------------------
1 files changed, 77 insertions(+), 77 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index c56a3f1..45b7ef1 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -1618,18 +1618,18 @@ set ui_comm {}
# -- Menu Bar
#
menu .mbar -tearoff 0
-.mbar add cascade -label Repository -menu .mbar.repository
-.mbar add cascade -label Edit -menu .mbar.edit
+.mbar add cascade -label [_ Repository] -menu .mbar.repository
+.mbar add cascade -label [_ Edit] -menu .mbar.edit
if {[is_enabled branch]} {
- .mbar add cascade -label Branch -menu .mbar.branch
+ .mbar add cascade -label [_ Branch] -menu .mbar.branch
}
if {[is_enabled multicommit] || [is_enabled singlecommit]} {
- .mbar add cascade -label Commit -menu .mbar.commit
+ .mbar add cascade -label [_ Commit] -menu .mbar.commit
}
if {[is_enabled transport]} {
- .mbar add cascade -label Merge -menu .mbar.merge
- .mbar add cascade -label Fetch -menu .mbar.fetch
- .mbar add cascade -label Push -menu .mbar.push
+ .mbar add cascade -label [_ Merge] -menu .mbar.merge
+ .mbar add cascade -label [_ Fetch] -menu .mbar.fetch
+ .mbar add cascade -label [_ Push] -menu .mbar.push
}
. configure -menu .mbar
@@ -1638,75 +1638,75 @@ if {[is_enabled transport]} {
menu .mbar.repository
.mbar.repository add command \
- -label {Browse Current Branch} \
+ -label [_ {Browse Current Branch}] \
-command {browser::new $current_branch}
trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Browse \$current_branch\" ;#"
.mbar.repository add separator
.mbar.repository add command \
- -label {Visualize Current Branch} \
+ -label [_ {Visualize Current Branch}] \
-command {do_gitk $current_branch}
trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Visualize \$current_branch\" ;#"
.mbar.repository add command \
- -label {Visualize All Branches} \
+ -label [_ {Visualize All Branches}] \
-command {do_gitk --all}
.mbar.repository add separator
if {[is_enabled multicommit]} {
- .mbar.repository add command -label {Database Statistics} \
+ .mbar.repository add command -label [_ {Database Statistics}] \
-command do_stats
- .mbar.repository add command -label {Compress Database} \
+ .mbar.repository add command -label [_ {Compress Database}] \
-command do_gc
- .mbar.repository add command -label {Verify Database} \
+ .mbar.repository add command -label [_ {Verify Database}] \
-command do_fsck_objects
.mbar.repository add separator
if {[is_Cygwin]} {
.mbar.repository add command \
- -label {Create Desktop Icon} \
+ -label [_ {Create Desktop Icon}] \
-command do_cygwin_shortcut
} elseif {[is_Windows]} {
.mbar.repository add command \
- -label {Create Desktop Icon} \
+ -label [_ {Create Desktop Icon}] \
-command do_windows_shortcut
} elseif {[is_MacOSX]} {
.mbar.repository add command \
- -label {Create Desktop Icon} \
+ -label [_ {Create Desktop Icon}] \
-command do_macosx_app
}
}
-.mbar.repository add command -label Quit \
+.mbar.repository add command -label [_ Quit] \
-command do_quit \
-accelerator $M1T-Q
# -- Edit Menu
#
menu .mbar.edit
-.mbar.edit add command -label Undo \
+.mbar.edit add command -label [_ Undo] \
-command {catch {[focus] edit undo}} \
-accelerator $M1T-Z
-.mbar.edit add command -label Redo \
+.mbar.edit add command -label [_ Redo] \
-command {catch {[focus] edit redo}} \
-accelerator $M1T-Y
.mbar.edit add separator
-.mbar.edit add command -label Cut \
+.mbar.edit add command -label [_ Cut] \
-command {catch {tk_textCut [focus]}} \
-accelerator $M1T-X
-.mbar.edit add command -label Copy \
+.mbar.edit add command -label [_ Copy] \
-command {catch {tk_textCopy [focus]}} \
-accelerator $M1T-C
-.mbar.edit add command -label Paste \
+.mbar.edit add command -label [_ Paste] \
-command {catch {tk_textPaste [focus]; [focus] see insert}} \
-accelerator $M1T-V
-.mbar.edit add command -label Delete \
+.mbar.edit add command -label [_ Delete] \
-command {catch {[focus] delete sel.first sel.last}} \
-accelerator Del
.mbar.edit add separator
-.mbar.edit add command -label {Select All} \
+.mbar.edit add command -label [_ {Select All}] \
-command {catch {[focus] tag add sel 0.0 end}} \
-accelerator $M1T-A
@@ -1715,29 +1715,29 @@ menu .mbar.edit
if {[is_enabled branch]} {
menu .mbar.branch
- .mbar.branch add command -label {Create...} \
+ .mbar.branch add command -label [_ {Create...}] \
-command branch_create::dialog \
-accelerator $M1T-N
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label {Checkout...} \
+ .mbar.branch add command -label [_ {Checkout...}] \
-command branch_checkout::dialog \
-accelerator $M1T-O
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label {Rename...} \
+ .mbar.branch add command -label [_ {Rename...}] \
-command branch_rename::dialog
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label {Delete...} \
+ .mbar.branch add command -label [_ {Delete...}] \
-command branch_delete::dialog
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label {Reset...} \
+ .mbar.branch add command -label [_ {Reset...}] \
-command merge::reset_hard
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
@@ -1749,7 +1749,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
menu .mbar.commit
.mbar.commit add radiobutton \
- -label {New Commit} \
+ -label [_ {New Commit}] \
-command do_select_commit_type \
-variable selected_commit_type \
-value new
@@ -1757,7 +1757,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
[list .mbar.commit entryconf [.mbar.commit index last] -state]
.mbar.commit add radiobutton \
- -label {Amend Last Commit} \
+ -label [_ {Amend Last Commit}] \
-command do_select_commit_type \
-variable selected_commit_type \
-value amend
@@ -1766,40 +1766,40 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
.mbar.commit add separator
- .mbar.commit add command -label Rescan \
+ .mbar.commit add command -label [_ Rescan] \
-command do_rescan \
-accelerator F5
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label {Add To Commit} \
+ .mbar.commit add command -label [_ {Add To Commit}] \
-command do_add_selection
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label {Add Existing To Commit} \
+ .mbar.commit add command -label [_ {Add Existing To Commit}] \
-command do_add_all \
-accelerator $M1T-I
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label {Unstage From Commit} \
+ .mbar.commit add command -label [_ {Unstage From Commit}] \
-command do_unstage_selection
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label {Revert Changes} \
+ .mbar.commit add command -label [_ {Revert Changes}] \
-command do_revert_selection
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
.mbar.commit add separator
- .mbar.commit add command -label {Sign Off} \
+ .mbar.commit add command -label [_ {Sign Off}] \
-command do_signoff \
-accelerator $M1T-S
- .mbar.commit add command -label Commit \
+ .mbar.commit add command -label [_ Commit] \
-command do_commit \
-accelerator $M1T-Return
lappend disable_on_lock \
@@ -1810,11 +1810,11 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
#
if {[is_enabled branch]} {
menu .mbar.merge
- .mbar.merge add command -label {Local Merge...} \
+ .mbar.merge add command -label [_ {Local Merge...}] \
-command merge::dialog
lappend disable_on_lock \
[list .mbar.merge entryconf [.mbar.merge index last] -state]
- .mbar.merge add command -label {Abort Merge...} \
+ .mbar.merge add command -label [_ {Abort Merge...}] \
-command merge::reset_hard
lappend disable_on_lock \
[list .mbar.merge entryconf [.mbar.merge index last] -state]
@@ -1827,28 +1827,28 @@ if {[is_enabled transport]} {
menu .mbar.fetch
menu .mbar.push
- .mbar.push add command -label {Push...} \
+ .mbar.push add command -label [_ {Push...}] \
-command do_push_anywhere \
-accelerator $M1T-P
- .mbar.push add command -label {Delete...} \
+ .mbar.push add command -label [_ {Delete...}] \
-command remote_branch_delete::dialog
}
if {[is_MacOSX]} {
# -- Apple Menu (Mac OS X only)
#
- .mbar add cascade -label Apple -menu .mbar.apple
+ .mbar add cascade -label [_ Apple] -menu .mbar.apple
menu .mbar.apple
- .mbar.apple add command -label "About [appname]" \
+ .mbar.apple add command -label [format [_ "About %s"] [appname]] \
-command do_about
- .mbar.apple add command -label "Options..." \
+ .mbar.apple add command -label [_ "Options..."] \
-command do_options
} else {
# -- Edit Menu
#
.mbar.edit add separator
- .mbar.edit add command -label {Options...} \
+ .mbar.edit add command -label [_ {Options...}] \
-command do_options
# -- Tools Menu
@@ -1870,9 +1870,9 @@ if {[is_MacOSX]} {
rescan ui_ready
}
}
- .mbar add cascade -label Tools -menu .mbar.tools
+ .mbar add cascade -label [_ Tools] -menu .mbar.tools
menu .mbar.tools
- .mbar.tools add command -label "Migrate" \
+ .mbar.tools add command -label [_ "Migrate"] \
-command do_miga
lappend disable_on_lock \
[list .mbar.tools entryconf [.mbar.tools index last] -state]
@@ -1881,11 +1881,11 @@ if {[is_MacOSX]} {
# -- Help Menu
#
-.mbar add cascade -label Help -menu .mbar.help
+.mbar add cascade -label [_ Help] -menu .mbar.help
menu .mbar.help
if {![is_MacOSX]} {
- .mbar.help add command -label "About [appname]" \
+ .mbar.help add command -label [format [_ "About %s"] [appname]] \
-command do_about
}
@@ -1922,7 +1922,7 @@ if {[file isfile $doc_path]} {
}
if {$browser ne {}} {
- .mbar.help add command -label {Online Documentation} \
+ .mbar.help add command -label [_ {Online Documentation}] \
-command [list exec $browser $doc_url &]
}
unset browser doc_path doc_url
@@ -2167,12 +2167,12 @@ label $ui_coml \
proc trace_commit_type {varname args} {
global ui_coml commit_type
switch -glob -- $commit_type {
- initial {set txt {Initial Commit Message:}}
- amend {set txt {Amended Commit Message:}}
- amend-initial {set txt {Amended Initial Commit Message:}}
- amend-merge {set txt {Amended Merge Commit Message:}}
- merge {set txt {Merge Commit Message:}}
- * {set txt {Commit Message:}}
+ initial {set txt [_ {Initial Commit Message:}]}
+ amend {set txt [_ {Amended Commit Message:}]}
+ amend-initial {set txt [_ {Amended Initial Commit Message:}]}
+ amend-merge {set txt [_ {Amended Merge Commit Message:}]}
+ merge {set txt [_ {Merge Commit Message:}]}
+ * {set txt [_ {Commit Message:}]}
}
$ui_coml conf -text $txt
}
@@ -2201,23 +2201,23 @@ pack .vpane.lower.commarea.buffer -side left -fill y
set ctxm .vpane.lower.commarea.buffer.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
- -label {Cut} \
+ -label [_ {Cut}] \
-command {tk_textCut $ui_comm}
$ctxm add command \
- -label {Copy} \
+ -label [_ {Copy}] \
-command {tk_textCopy $ui_comm}
$ctxm add command \
- -label {Paste} \
+ -label [_ {Paste}] \
-command {tk_textPaste $ui_comm}
$ctxm add command \
- -label {Delete} \
+ -label [_ {Delete}] \
-command {$ui_comm delete sel.first sel.last}
$ctxm add separator
$ctxm add command \
- -label {Select All} \
+ -label [_ {Select All}] \
-command {focus $ui_comm;$ui_comm tag add sel 0.0 end}
$ctxm add command \
- -label {Copy All} \
+ -label [_ {Copy All}] \
-command {
$ui_comm tag add sel 0.0 end
tk_textCopy $ui_comm
@@ -2225,7 +2225,7 @@ $ctxm add command \
}
$ctxm add separator
$ctxm add command \
- -label {Sign Off} \
+ -label [_ {Sign Off}] \
-command do_signoff
bind_button3 $ui_comm "tk_popup $ctxm %X %Y"
@@ -2275,7 +2275,7 @@ pack .vpane.lower.diff.header.path -fill x
set ctxm .vpane.lower.diff.header.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
- -label {Copy} \
+ -label [_ {Copy}] \
-command {
clipboard clear
clipboard append \
@@ -2343,19 +2343,19 @@ $ui_diff tag raise sel
set ctxm .vpane.lower.diff.body.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
- -label {Refresh} \
+ -label [_ {Refresh}] \
-command reshow_diff
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label {Copy} \
+ -label [_ {Copy}] \
-command {tk_textCopy $ui_diff}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label {Select All} \
+ -label [_ {Select All}] \
-command {focus $ui_diff;$ui_diff tag add sel 0.0 end}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label {Copy All} \
+ -label [_ {Copy All}] \
-command {
$ui_diff tag add sel 0.0 end
tk_textCopy $ui_diff
@@ -2364,44 +2364,44 @@ $ctxm add command \
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
$ctxm add command \
- -label {Apply/Reverse Hunk} \
+ -label [_ {Apply/Reverse Hunk}] \
-command {apply_hunk $cursorX $cursorY}
set ui_diff_applyhunk [$ctxm index last]
lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
$ctxm add separator
$ctxm add command \
- -label {Decrease Font Size} \
+ -label [_ {Decrease Font Size}] \
-command {incr_font_size font_diff -1}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label {Increase Font Size} \
+ -label [_ {Increase Font Size}] \
-command {incr_font_size font_diff 1}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
$ctxm add command \
- -label {Show Less Context} \
+ -label [_ {Show Less Context}] \
-command {if {$repo_config(gui.diffcontext) >= 1} {
incr repo_config(gui.diffcontext) -1
reshow_diff
}}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label {Show More Context} \
+ -label [_ {Show More Context}] \
-command {if {$repo_config(gui.diffcontext) < 99} {
incr repo_config(gui.diffcontext)
reshow_diff
}}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
-$ctxm add command -label {Options...} \
+$ctxm add command -label [_ {Options...}] \
-command do_options
bind_button3 $ui_diff "
set cursorX %x
set cursorY %y
if {\$ui_index eq \$current_diff_side} {
- $ctxm entryconf $ui_diff_applyhunk -label {Unstage Hunk From Commit}
+ $ctxm entryconf $ui_diff_applyhunk -label [_ {Unstage Hunk From Commit}]
} else {
- $ctxm entryconf $ui_diff_applyhunk -label {Stage Hunk For Commit}
+ $ctxm entryconf $ui_diff_applyhunk -label [_ {Stage Hunk For Commit}]
}
tk_popup $ctxm %X %Y
"
--
1.5.3.rc2.4.g726f9
[-- Attachment #4: 0003-Enclose-strings-in-quotes-not-in-braces-so-that-xg.patch --]
[-- Type: text/x-patch, Size: 12418 bytes --]
>From 3ff00ecdabb82448b95ad3b9e738441236c0eb11 Mon Sep 17 00:00:00 2001
From: Christian Stimming <stimming@tuhh.de>
Date: Thu, 19 Jul 2007 12:49:11 +0200
Subject: [PATCH] Enclose strings in quotes, not in braces, so that xgettext finds them
---
git-gui/git-gui.sh | 104 ++++++++++++++++++++++++++--------------------------
1 files changed, 52 insertions(+), 52 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 45b7ef1..5eef35d 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -1638,43 +1638,43 @@ if {[is_enabled transport]} {
menu .mbar.repository
.mbar.repository add command \
- -label [_ {Browse Current Branch}] \
+ -label [_ "Browse Current Branch"] \
-command {browser::new $current_branch}
trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Browse \$current_branch\" ;#"
.mbar.repository add separator
.mbar.repository add command \
- -label [_ {Visualize Current Branch}] \
+ -label [_ "Visualize Current Branch"] \
-command {do_gitk $current_branch}
trace add variable current_branch write ".mbar.repository entryconf [.mbar.repository index last] -label \"Visualize \$current_branch\" ;#"
.mbar.repository add command \
- -label [_ {Visualize All Branches}] \
+ -label [_ "Visualize All Branches"] \
-command {do_gitk --all}
.mbar.repository add separator
if {[is_enabled multicommit]} {
- .mbar.repository add command -label [_ {Database Statistics}] \
+ .mbar.repository add command -label [_ "Database Statistics"] \
-command do_stats
- .mbar.repository add command -label [_ {Compress Database}] \
+ .mbar.repository add command -label [_ "Compress Database"] \
-command do_gc
- .mbar.repository add command -label [_ {Verify Database}] \
+ .mbar.repository add command -label [_ "Verify Database"] \
-command do_fsck_objects
.mbar.repository add separator
if {[is_Cygwin]} {
.mbar.repository add command \
- -label [_ {Create Desktop Icon}] \
+ -label [_ "Create Desktop Icon"] \
-command do_cygwin_shortcut
} elseif {[is_Windows]} {
.mbar.repository add command \
- -label [_ {Create Desktop Icon}] \
+ -label [_ "Create Desktop Icon"] \
-command do_windows_shortcut
} elseif {[is_MacOSX]} {
.mbar.repository add command \
- -label [_ {Create Desktop Icon}] \
+ -label [_ "Create Desktop Icon"] \
-command do_macosx_app
}
}
@@ -1706,7 +1706,7 @@ menu .mbar.edit
-command {catch {[focus] delete sel.first sel.last}} \
-accelerator Del
.mbar.edit add separator
-.mbar.edit add command -label [_ {Select All}] \
+.mbar.edit add command -label [_ "Select All"] \
-command {catch {[focus] tag add sel 0.0 end}} \
-accelerator $M1T-A
@@ -1715,29 +1715,29 @@ menu .mbar.edit
if {[is_enabled branch]} {
menu .mbar.branch
- .mbar.branch add command -label [_ {Create...}] \
+ .mbar.branch add command -label [_ "Create..."] \
-command branch_create::dialog \
-accelerator $M1T-N
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label [_ {Checkout...}] \
+ .mbar.branch add command -label [_ "Checkout..."] \
-command branch_checkout::dialog \
-accelerator $M1T-O
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label [_ {Rename...}] \
+ .mbar.branch add command -label [_ "Rename..."] \
-command branch_rename::dialog
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label [_ {Delete...}] \
+ .mbar.branch add command -label [_ "Delete..."] \
-command branch_delete::dialog
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
- .mbar.branch add command -label [_ {Reset...}] \
+ .mbar.branch add command -label [_ "Reset..."] \
-command merge::reset_hard
lappend disable_on_lock [list .mbar.branch entryconf \
[.mbar.branch index last] -state]
@@ -1749,7 +1749,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
menu .mbar.commit
.mbar.commit add radiobutton \
- -label [_ {New Commit}] \
+ -label [_ "New Commit"] \
-command do_select_commit_type \
-variable selected_commit_type \
-value new
@@ -1757,7 +1757,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
[list .mbar.commit entryconf [.mbar.commit index last] -state]
.mbar.commit add radiobutton \
- -label [_ {Amend Last Commit}] \
+ -label [_ "Amend Last Commit"] \
-command do_select_commit_type \
-variable selected_commit_type \
-value amend
@@ -1772,30 +1772,30 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label [_ {Add To Commit}] \
+ .mbar.commit add command -label [_ "Add To Commit"] \
-command do_add_selection
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label [_ {Add Existing To Commit}] \
+ .mbar.commit add command -label [_ "Add Existing To Commit"] \
-command do_add_all \
-accelerator $M1T-I
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label [_ {Unstage From Commit}] \
+ .mbar.commit add command -label [_ "Unstage From Commit"] \
-command do_unstage_selection
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
- .mbar.commit add command -label [_ {Revert Changes}] \
+ .mbar.commit add command -label [_ "Revert Changes"] \
-command do_revert_selection
lappend disable_on_lock \
[list .mbar.commit entryconf [.mbar.commit index last] -state]
.mbar.commit add separator
- .mbar.commit add command -label [_ {Sign Off}] \
+ .mbar.commit add command -label [_ "Sign Off"] \
-command do_signoff \
-accelerator $M1T-S
@@ -1810,11 +1810,11 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
#
if {[is_enabled branch]} {
menu .mbar.merge
- .mbar.merge add command -label [_ {Local Merge...}] \
+ .mbar.merge add command -label [_ "Local Merge..."] \
-command merge::dialog
lappend disable_on_lock \
[list .mbar.merge entryconf [.mbar.merge index last] -state]
- .mbar.merge add command -label [_ {Abort Merge...}] \
+ .mbar.merge add command -label [_ "Abort Merge..."] \
-command merge::reset_hard
lappend disable_on_lock \
[list .mbar.merge entryconf [.mbar.merge index last] -state]
@@ -1827,10 +1827,10 @@ if {[is_enabled transport]} {
menu .mbar.fetch
menu .mbar.push
- .mbar.push add command -label [_ {Push...}] \
+ .mbar.push add command -label [_ "Push..."] \
-command do_push_anywhere \
-accelerator $M1T-P
- .mbar.push add command -label [_ {Delete...}] \
+ .mbar.push add command -label [_ "Delete..."] \
-command remote_branch_delete::dialog
}
@@ -1848,7 +1848,7 @@ if {[is_MacOSX]} {
# -- Edit Menu
#
.mbar.edit add separator
- .mbar.edit add command -label [_ {Options...}] \
+ .mbar.edit add command -label [_ "Options..."] \
-command do_options
# -- Tools Menu
@@ -1922,7 +1922,7 @@ if {[file isfile $doc_path]} {
}
if {$browser ne {}} {
- .mbar.help add command -label [_ {Online Documentation}] \
+ .mbar.help add command -label [_ "Online Documentation"] \
-command [list exec $browser $doc_url &]
}
unset browser doc_path doc_url
@@ -2167,12 +2167,12 @@ label $ui_coml \
proc trace_commit_type {varname args} {
global ui_coml commit_type
switch -glob -- $commit_type {
- initial {set txt [_ {Initial Commit Message:}]}
- amend {set txt [_ {Amended Commit Message:}]}
- amend-initial {set txt [_ {Amended Initial Commit Message:}]}
- amend-merge {set txt [_ {Amended Merge Commit Message:}]}
- merge {set txt [_ {Merge Commit Message:}]}
- * {set txt [_ {Commit Message:}]}
+ initial {set txt [_ "Initial Commit Message:"]}
+ amend {set txt [_ "Amended Commit Message:"]}
+ amend-initial {set txt [_ "Amended Initial Commit Message:"]}
+ amend-merge {set txt [_ "Amended Merge Commit Message:"]}
+ merge {set txt [_ "Merge Commit Message:"]}
+ * {set txt [_ "Commit Message:"]}
}
$ui_coml conf -text $txt
}
@@ -2201,23 +2201,23 @@ pack .vpane.lower.commarea.buffer -side left -fill y
set ctxm .vpane.lower.commarea.buffer.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
- -label [_ {Cut}] \
+ -label [_ Cut] \
-command {tk_textCut $ui_comm}
$ctxm add command \
- -label [_ {Copy}] \
+ -label [_ Copy] \
-command {tk_textCopy $ui_comm}
$ctxm add command \
- -label [_ {Paste}] \
+ -label [_ Paste] \
-command {tk_textPaste $ui_comm}
$ctxm add command \
- -label [_ {Delete}] \
+ -label [_ Delete] \
-command {$ui_comm delete sel.first sel.last}
$ctxm add separator
$ctxm add command \
- -label [_ {Select All}] \
+ -label [_ "Select All"] \
-command {focus $ui_comm;$ui_comm tag add sel 0.0 end}
$ctxm add command \
- -label [_ {Copy All}] \
+ -label [_ "Copy All"] \
-command {
$ui_comm tag add sel 0.0 end
tk_textCopy $ui_comm
@@ -2225,7 +2225,7 @@ $ctxm add command \
}
$ctxm add separator
$ctxm add command \
- -label [_ {Sign Off}] \
+ -label [_ "Sign Off"] \
-command do_signoff
bind_button3 $ui_comm "tk_popup $ctxm %X %Y"
@@ -2275,7 +2275,7 @@ pack .vpane.lower.diff.header.path -fill x
set ctxm .vpane.lower.diff.header.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
- -label [_ {Copy}] \
+ -label [_ Copy] \
-command {
clipboard clear
clipboard append \
@@ -2343,19 +2343,19 @@ $ui_diff tag raise sel
set ctxm .vpane.lower.diff.body.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
- -label [_ {Refresh}] \
+ -label [_ Refresh] \
-command reshow_diff
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label [_ {Copy}] \
+ -label [_ Copy] \
-command {tk_textCopy $ui_diff}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label [_ {Select All}] \
+ -label [_ "Select All"] \
-command {focus $ui_diff;$ui_diff tag add sel 0.0 end}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label [_ {Copy All}] \
+ -label [_ "Copy All"] \
-command {
$ui_diff tag add sel 0.0 end
tk_textCopy $ui_diff
@@ -2364,36 +2364,36 @@ $ctxm add command \
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
$ctxm add command \
- -label [_ {Apply/Reverse Hunk}] \
+ -label [_ "Apply/Reverse Hunk"] \
-command {apply_hunk $cursorX $cursorY}
set ui_diff_applyhunk [$ctxm index last]
lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
$ctxm add separator
$ctxm add command \
- -label [_ {Decrease Font Size}] \
+ -label [_ "Decrease Font Size"] \
-command {incr_font_size font_diff -1}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label [_ {Increase Font Size}] \
+ -label [_ "Increase Font Size"] \
-command {incr_font_size font_diff 1}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
$ctxm add command \
- -label [_ {Show Less Context}] \
+ -label [_ "Show Less Context"] \
-command {if {$repo_config(gui.diffcontext) >= 1} {
incr repo_config(gui.diffcontext) -1
reshow_diff
}}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add command \
- -label [_ {Show More Context}] \
+ -label [_ "Show More Context"] \
-command {if {$repo_config(gui.diffcontext) < 99} {
incr repo_config(gui.diffcontext)
reshow_diff
}}
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
$ctxm add separator
-$ctxm add command -label [_ {Options...}] \
+$ctxm add command -label [_ "Options..."] \
-command do_options
bind_button3 $ui_diff "
set cursorX %x
--
1.5.3.rc2.4.g726f9
[-- Attachment #5: 0004-Initial-German-translation-for-testing-of-i18n.patch --]
[-- Type: text/x-patch, Size: 5071 bytes --]
>From 9b7ef0f5d5627e65e5ab354cf99c8939770416d9 Mon Sep 17 00:00:00 2001
From: Christian Stimming <stimming@tuhh.de>
Date: Thu, 19 Jul 2007 12:50:19 +0200
Subject: [PATCH] Initial German translation for testing of i18n.
---
git-gui/po/de.po | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 249 insertions(+), 0 deletions(-)
create mode 100644 git-gui/po/de.po
diff --git a/git-gui/po/de.po b/git-gui/po/de.po
new file mode 100644
index 0000000..7a74329
--- /dev/null
+++ b/git-gui/po/de.po
@@ -0,0 +1,249 @@
+# Translation of git-gui to German.
+# Copyright (C) 2007 Linux Thorvalds
+# This file is distributed under the same license as the git package.
+# Christian Stimming <stimming@tuhh.de>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: git-gui\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-07-18 18:27+0200\n"
+"PO-Revision-Date: 2007-07-19 11:45+0200\n"
+"Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
+"Language-Team: German\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: git-gui.sh:1622
+msgid "Repository"
+msgstr ""
+
+#: git-gui.sh:1623
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: git-gui.sh:1625
+msgid "Branch"
+msgstr ""
+
+#: git-gui.sh:1628 git-gui.sh:1803
+msgid "Commit"
+msgstr ""
+
+#: git-gui.sh:1631
+msgid "Merge"
+msgstr ""
+
+#: git-gui.sh:1632
+msgid "Fetch"
+msgstr ""
+
+#: git-gui.sh:1633
+msgid "Push"
+msgstr ""
+
+#: git-gui.sh:1642
+msgid "Browse Current Branch"
+msgstr ""
+
+#: git-gui.sh:1648
+msgid "Visualize Current Branch"
+msgstr ""
+
+#: git-gui.sh:1652
+msgid "Visualize All Branches"
+msgstr ""
+
+#: git-gui.sh:1657
+msgid "Database Statistics"
+msgstr ""
+
+#: git-gui.sh:1660
+msgid "Compress Database"
+msgstr ""
+
+#: git-gui.sh:1663
+msgid "Verify Database"
+msgstr ""
+
+#: git-gui.sh:1670 git-gui.sh:1674 git-gui.sh:1678
+msgid "Create Desktop Icon"
+msgstr ""
+
+#: git-gui.sh:1683
+msgid "Quit"
+msgstr "Beenden"
+
+#: git-gui.sh:1690
+msgid "Undo"
+msgstr "Rückgängig"
+
+#: git-gui.sh:1693
+msgid "Redo"
+msgstr ""
+
+#: git-gui.sh:1697 git-gui.sh:2205
+msgid "Cut"
+msgstr "Ausschneiden"
+
+#: git-gui.sh:1700 git-gui.sh:2208 git-gui.sh:2279 git-gui.sh:2351
+msgid "Copy"
+msgstr "Kopieren"
+
+#: git-gui.sh:1703 git-gui.sh:2211
+msgid "Paste"
+msgstr "Einfügen"
+
+#: git-gui.sh:1706 git-gui.sh:2214
+msgid "Delete"
+msgstr "Löschen"
+
+#: git-gui.sh:1710 git-gui.sh:2218 git-gui.sh:2355
+msgid "Select All"
+msgstr ""
+
+#: git-gui.sh:1719
+msgid "Create..."
+msgstr ""
+
+#: git-gui.sh:1725
+msgid "Checkout..."
+msgstr ""
+
+#: git-gui.sh:1731
+msgid "Rename..."
+msgstr ""
+
+#: git-gui.sh:1736 git-gui.sh:1834
+msgid "Delete..."
+msgstr "Löschen..."
+
+#: git-gui.sh:1741
+msgid "Reset..."
+msgstr ""
+
+#: git-gui.sh:1753
+msgid "New Commit"
+msgstr ""
+
+#: git-gui.sh:1761
+msgid "Amend Last Commit"
+msgstr ""
+
+#: git-gui.sh:1770
+msgid "Rescan"
+msgstr "Neu laden"
+
+#: git-gui.sh:1776
+msgid "Add To Commit"
+msgstr ""
+
+#: git-gui.sh:1781
+msgid "Add Existing To Commit"
+msgstr ""
+
+#: git-gui.sh:1787
+msgid "Unstage From Commit"
+msgstr ""
+
+#: git-gui.sh:1792
+msgid "Revert Changes"
+msgstr ""
+
+#: git-gui.sh:1799 git-gui.sh:2229
+msgid "Sign Off"
+msgstr ""
+
+#: git-gui.sh:1814
+msgid "Local Merge..."
+msgstr ""
+
+#: git-gui.sh:1818
+msgid "Abort Merge..."
+msgstr ""
+
+#: git-gui.sh:1831
+msgid "Push..."
+msgstr ""
+
+#: git-gui.sh:1841
+msgid "Apple"
+msgstr "Apple"
+
+#: git-gui.sh:1844 git-gui.sh:1889
+#, tcl-format
+msgid "About %s"
+msgstr ""
+
+#: git-gui.sh:1846 git-gui.sh:1852 git-gui.sh:2397
+msgid "Options..."
+msgstr ""
+
+#: git-gui.sh:1874
+msgid "Tools"
+msgstr "Werkzeuge"
+
+#: git-gui.sh:1876
+msgid "Migrate"
+msgstr ""
+
+#: git-gui.sh:1885
+msgid "Help"
+msgstr "Hilfe"
+
+#: git-gui.sh:1926
+msgid "Online Documentation"
+msgstr ""
+
+#: git-gui.sh:2171
+msgid "Initial Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2172
+msgid "Amended Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2173
+msgid "Amended Initial Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2174
+msgid "Amended Merge Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2175
+msgid "Merge Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2176
+msgid "Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2221 git-gui.sh:2359
+msgid "Copy All"
+msgstr "Alle kopieren"
+
+#: git-gui.sh:2347
+msgid "Refresh"
+msgstr "Aktualisieren"
+
+#: git-gui.sh:2368
+msgid "Apply/Reverse Hunk"
+msgstr ""
+
+#: git-gui.sh:2374
+msgid "Decrease Font Size"
+msgstr "Schriftgröße verkleinern"
+
+#: git-gui.sh:2378
+msgid "Increase Font Size"
+msgstr "Schriftgröße vergrößern"
+
+#: git-gui.sh:2383
+msgid "Show Less Context"
+msgstr ""
+
+#: git-gui.sh:2390
+msgid "Show More Context"
+msgstr ""
--
1.5.3.rc2.4.g726f9
[-- Attachment #6: 0005-Makefile-rules-for-message-catalog-generation-and-in.patch --]
[-- Type: text/x-patch, Size: 2073 bytes --]
>From a91dc11906f6ced938dc79bded2fa46fcc147524 Mon Sep 17 00:00:00 2001
From: Christian Stimming <stimming@tuhh.de>
Date: Thu, 19 Jul 2007 12:50:32 +0200
Subject: [PATCH] Makefile rules for message catalog generation and installation.
---
git-gui/Makefile | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/git-gui/Makefile b/git-gui/Makefile
index 1bac6fe..f6a6ce3 100644
--- a/git-gui/Makefile
+++ b/git-gui/Makefile
@@ -103,6 +103,19 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
$(GITGUI_BUILT_INS): git-gui
$(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@
+XGETTEXT ?= xgettext
+msgsdir ?= $(libdir)/msgs
+msgsdir_SQ = $(subst ','\'',$(msgsdir))
+PO_TEMPLATE = po/git-gui.pot
+ALL_LINGUAS = de
+
+$(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES)
+ $(XGETTEXT) -k_ -LTcl -o $@ $(SCRIPT_SH) $(ALL_LIBFILES)
+update-po:: $(PO_TEMPLATE)
+ ( cd po ; for A in *.po ; do echo Updating $${A} ; msgmerge -U $${A} ../$(PO_TEMPLATE) ; done )
+catalogs:: $(PO_TEMPLATE)
+ ( cd po ; for A in $(ALL_LINGUAS) ; do echo Generating catalog $${A} ; msgfmt --statistics --tcl $${A}.po -l $${A} -d . ; done )
+
lib/tclIndex: $(ALL_LIBFILES)
$(QUIET_INDEX)if echo \
$(foreach p,$(PRELOAD_FILES),source $p\;) \
@@ -136,7 +149,7 @@ GIT-GUI-VARS: .FORCE-GIT-GUI-VARS
echo 1>$@ "$$VARS"; \
fi
-all:: $(ALL_PROGRAMS) lib/tclIndex
+all:: $(ALL_PROGRAMS) lib/tclIndex catalogs
install: all
$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1)
@@ -145,6 +158,8 @@ install: all
$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1)
$(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)'
$(QUIET)$(foreach p,$(ALL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true
+ $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1)
+ $(QUIET)$(foreach p,$(ALL_LINGUAS), $(INSTALL_R0)po/$p.msg $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true
dist-version:
@mkdir -p $(TARDIR)
--
1.5.3.rc2.4.g726f9
^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-19 10:56 Christian Stimming
@ 2007-07-19 12:25 ` Johannes Schindelin
2007-07-20 4:55 ` Shawn O. Pearce
0 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-07-19 12:25 UTC (permalink / raw)
To: Christian Stimming; +Cc: git, Shawn Pearce
Hi,
On Thu, 19 Jul 2007, Christian Stimming wrote:
> Does this implementation look okay?
This is valuable work, but unfortunately, it does not follow the
recommendation in Documentation/SubmittingPatches at all.
For starters, please send the patches inlined, one per mail. And you
might want to Cc the maintainer of git-gui (Shawn Pearce), too...
Ciao,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
@ 2007-07-19 17:33 Brett Schwarz
2007-07-20 5:04 ` Shawn O. Pearce
2007-07-20 9:03 ` Christian Stimming
0 siblings, 2 replies; 28+ messages in thread
From: Brett Schwarz @ 2007-07-19 17:33 UTC (permalink / raw)
To: Christian Stimming, git; +Cc: Paul Mackerras, Shawn O. Pearce
This is a good idea. However, I assume the _ proc is just sugar. It might be better to follow a more "standard" way for this, and just import the msgcat namespace, and then you can just use [mc]. For example:
package require msgcat
namespace import ::msgcat::*
.
.
.
.mbar add cascade -label [mc Repository] -menu .mbar.repository
Also, if the message catalogs are in a common location, then it might be worth looking into having gitk utilize these msg catalogs as well.
Thanks,
--brett
p.s. the frink tool (http://wiki.tcl.tk/2611) is supposed to be able to convert -text and -label switches to use msgcat...it might be worth looking into, instead of manually editing git-gui/gitk
----- Original Message ----
From: Christian Stimming <stimming@tuhh.de>
To: git@vger.kernel.org
Sent: Thursday, July 19, 2007 3:56:57 AM
Subject: [PATCH] Internationalization of git-gui
This is an initial patch of how internationalization (i18n) in git
could be done, starting with the git-gui application (because I need
that one in German to convince my workplace of switching to git).
Does this implementation look okay? If yes, I'd happily i18n'ize the
rest of git-gui and provide a full German translation as well.
Thanks,
Christian Stimming
____________________________________________________________________________________
Sick sense of humor? Visit Yahoo! TV's
Comedy with an Edge to see what's on, when.
http://tv.yahoo.com/collections/222
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-19 12:25 ` Johannes Schindelin
@ 2007-07-20 4:55 ` Shawn O. Pearce
2007-07-20 17:32 ` Paolo Ciarrocchi
0 siblings, 1 reply; 28+ messages in thread
From: Shawn O. Pearce @ 2007-07-20 4:55 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Christian Stimming, git
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Thu, 19 Jul 2007, Christian Stimming wrote:
>
> > Does this implementation look okay?
>
> This is valuable work, but unfortunately, it does not follow the
> recommendation in Documentation/SubmittingPatches at all.
>
> For starters, please send the patches inlined, one per mail. And you
> might want to Cc the maintainer of git-gui (Shawn Pearce), too...
I agree that internationalization of git-gui is worth doing.
I've thought about working on it, but haven't yet because nobody
else has seemed interested in having it done. Apparently someone
is, so patches towards that end are most welcome.
--
Shawn.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-19 17:33 Brett Schwarz
@ 2007-07-20 5:04 ` Shawn O. Pearce
2007-07-20 8:56 ` Christian Stimming
2007-07-20 9:03 ` Christian Stimming
1 sibling, 1 reply; 28+ messages in thread
From: Shawn O. Pearce @ 2007-07-20 5:04 UTC (permalink / raw)
To: Brett Schwarz; +Cc: Christian Stimming, git, Paul Mackerras
Brett Schwarz <brett_schwarz@yahoo.com> wrote:
> This is a good idea. However, I assume the _ proc is just sugar. It
> might be better to follow a more "standard" way for this, and just
> import the msgcat namespace, and then you can just use [mc]. For
> example:
>
> package require msgcat
> namespace import ::msgcat::*
> .
> .
> .
> .mbar add cascade -label [mc Repository] -menu .mbar.repository
Not just better, I'd prefer it. The proc name "_" is cute but
is just too darn short. I would much prefer to use "mc" and just
say that "mc" in all of git-gui's namespaces is reserved for the
message catalog, much as "cb" is already reserved for setting up
callbacks for Tcl/Tk event handlers.
--
Shawn.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 5:04 ` Shawn O. Pearce
@ 2007-07-20 8:56 ` Christian Stimming
2007-07-21 2:17 ` Shawn O. Pearce
0 siblings, 1 reply; 28+ messages in thread
From: Christian Stimming @ 2007-07-20 8:56 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Brett Schwarz, git, Paul Mackerras
Quoting "Shawn O. Pearce" <spearce@spearce.org>:
> Brett Schwarz <brett_schwarz@yahoo.com> wrote:
>> This is a good idea. However, I assume the _ proc is just sugar. It
>> might be better to follow a more "standard" way for this, and just
>> import the msgcat namespace, and then you can just use [mc].
>>
>> package require msgcat
>> namespace import ::msgcat::*
>> .
>> .
>> .mbar add cascade -label [mc Repository] -menu .mbar.repository
>
> Not just better, I'd prefer it. The proc name "_" is cute but
> is just too darn short. I would much prefer to use "mc" and just
> say that "mc" in all of git-gui's namespaces is reserved for the
> message catalog
I used (and prefer) "_" because that's the standard function name for
i18n'd strings when using gettext (talking about a "standard" way). In
that case the convention from C simply carries over to tcl/tk, and
programmers who have worked with gettext in C before, which uses
_("some message"), directly apply what they already know. [mc ..], on
the other hand, would be a tcl-only function name which doesn't give
too much of a hint of what this function does, except for those
programmers who happen to know that tcl's translation is done by a
package called msgcat. One might rather consider something like [tr
...], for "translate", or even [i18n ...].
That being said, I'm rather agnostic on which proc name you really
prefer. Just pick one.
Being a newcomer on this list, could you please explain to me how to
proceed with the i18n patches so far? Do you want to have patches
submitted after some further changes (which ones?) and/or in different
formats? Do you prefer to have all changes in a smaller number of
commit rather than split the way I did before? Should I wait for some
more days/weeks/whatever until you or particular other developers have
reviewed the patches? Thanks.
Christian
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-19 17:33 Brett Schwarz
2007-07-20 5:04 ` Shawn O. Pearce
@ 2007-07-20 9:03 ` Christian Stimming
1 sibling, 0 replies; 28+ messages in thread
From: Christian Stimming @ 2007-07-20 9:03 UTC (permalink / raw)
To: Brett Schwarz; +Cc: git, Paul Mackerras, Shawn O. Pearce
Quoting Brett Schwarz <brett_schwarz@yahoo.com>:
> Also, if the message catalogs are in a common location, then it
> might be worth looking into having gitk utilize these msg catalogs
> as well.
You mean you suggest to re-use existing msg catalogs in addition to
ones that are created on our own? Well, from the i18n coordination
work in another project (gnucash) I wouldn't expect any noticable
benefit from doing so. The re-usable parts of translations are rather
limited, basically limited to the standard menu entries and some more
single-word strings (Yes/No/Cancel...). But even then re-using other
translations might already decrease the quality of your own
translation, because other translators of packages might already have
chosen a different translation for e.g. "Cancel". For that reason I
strongly suggest using one single msg catalog for one single project,
so that the translator is even able to make sure each word is
translated into the same translation throughout the project.
(I also strongly suggest creating and translating a glossary of the
important terms before starting to translate the msg catalog itself,
but that's a different issue.)
> p.s. the frink tool (http://wiki.tcl.tk/2611) is supposed to be able
> to convert -text and -label switches to use msgcat...it might be
> worth looking into, instead of manually editing git-gui/gitk
Thanks for the pointer. However, the -text and -label switches can be
found and edited rather easily by keyboard macros and such. More
important than this are some changes that are necessary in order to
obtain strings that are actually translatable, such as
- .mbar.apple add command -label "About [appname]" \
+ .mbar.apple add command -label [format [_ "About %s"] [appname]] \
and you will agree those can only be done manually anyway.
Christian
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 4:55 ` Shawn O. Pearce
@ 2007-07-20 17:32 ` Paolo Ciarrocchi
2007-07-20 18:10 ` Junio C Hamano
0 siblings, 1 reply; 28+ messages in thread
From: Paolo Ciarrocchi @ 2007-07-20 17:32 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Johannes Schindelin, Christian Stimming, git
On 7/20/07, Shawn O. Pearce <spearce@spearce.org> wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On Thu, 19 Jul 2007, Christian Stimming wrote:
> >
> > > Does this implementation look okay?
> >
> > This is valuable work, but unfortunately, it does not follow the
> > recommendation in Documentation/SubmittingPatches at all.
> >
> > For starters, please send the patches inlined, one per mail. And you
> > might want to Cc the maintainer of git-gui (Shawn Pearce), too...
>
> I agree that internationalization of git-gui is worth doing.
> I've thought about working on it, but haven't yet because nobody
> else has seemed interested in having it done. Apparently someone
> is, so patches towards that end are most welcome.
Hi Shawn,
I volunteer to translate all the git-gui messages in Italian.
Just let me if you are interested and please give me an hint on how to
produce the translation so that you can incorporate it.
Thanks.
Regards,
--
Paolo
"Tutto cio' che merita di essere fatto,merita di essere fatto bene"
Philip Stanhope IV conte di Chesterfield
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 17:32 ` Paolo Ciarrocchi
@ 2007-07-20 18:10 ` Junio C Hamano
2007-07-20 18:38 ` Johannes Schindelin
` (3 more replies)
0 siblings, 4 replies; 28+ messages in thread
From: Junio C Hamano @ 2007-07-20 18:10 UTC (permalink / raw)
To: Paolo Ciarrocchi
Cc: Shawn O. Pearce, Johannes Schindelin, Christian Stimming, git
"Paolo Ciarrocchi" <paolo.ciarrocchi@gmail.com> writes:
> I volunteer to translate all the git-gui messages in Italian.
>
> Just let me if you are interested and please give me an hint on how to
> produce the translation so that you can incorporate it.
Ah, am I expected to volunteer for Japanese part?
Unless yashi, yoshifuji, or nanako3 volunteer, although I do not
mind doing that myself, that is (if there are any Japanese
people I forgot, I apologize). I wonder how many people outside
English zone are regularly on the list...
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
@ 2007-07-20 18:15 Brett Schwarz
0 siblings, 0 replies; 28+ messages in thread
From: Brett Schwarz @ 2007-07-20 18:15 UTC (permalink / raw)
To: Christian Stimming; +Cc: git, Paul Mackerras, Shawn O. Pearce
[my apologies about top posting...my mail reader sucks]
Sure, I wasn't saying there would be for sure an advantage in re-using catalogs. That's why I said it *might* be worth looking into. Just a suggestion.
I agree that a glossary should be created first. That way, translators have a common set to work with.
Just a note about string substitution. msgcat has substitution built-in, so instead of this:
.mbar.apple add command -label [format [_ "About %s"] [appname]] \
You can do this:
.mbar.apple add command -label [_ "About %s" [appname]] \
Thanks,
--brett
----- Original Message ----
From: Christian Stimming <stimming@tuhh.de>
To: Brett Schwarz <brett_schwarz@yahoo.com>
Cc: git@vger.kernel.org; Paul Mackerras <paulus@samba.org>; Shawn O. Pearce <spearce@spearce.org>
Sent: Friday, July 20, 2007 2:03:54 AM
Subject: Re: [PATCH] Internationalization of git-gui
Quoting Brett Schwarz <brett_schwarz@yahoo.com>:
> Also, if the message catalogs are in a common location, then it
> might be worth looking into having gitk utilize these msg catalogs
> as well.
You mean you suggest to re-use existing msg catalogs in addition to
ones that are created on our own? Well, from the i18n coordination
work in another project (gnucash) I wouldn't expect any noticable
benefit from doing so. The re-usable parts of translations are rather
limited, basically limited to the standard menu entries and some more
single-word strings (Yes/No/Cancel...). But even then re-using other
translations might already decrease the quality of your own
translation, because other translators of packages might already have
chosen a different translation for e.g. "Cancel". For that reason I
strongly suggest using one single msg catalog for one single project,
so that the translator is even able to make sure each word is
translated into the same translation throughout the project.
(I also strongly suggest creating and translating a glossary of the
important terms before starting to translate the msg catalog itself,
but that's a different issue.)
> p.s. the frink tool (http://wiki.tcl.tk/2611) is supposed to be able
> to convert -text and -label switches to use msgcat...it might be
> worth looking into, instead of manually editing git-gui/gitk
Thanks for the pointer. However, the -text and -label switches can be
found and edited rather easily by keyboard macros and such. More
important than this are some changes that are necessary in order to
obtain strings that are actually translatable, such as
- .mbar.apple add command -label "About [appname]" \
+ .mbar.apple add command -label [format [_ "About %s"] [appname]] \
and you will agree those can only be done manually anyway.
Christian
____________________________________________________________________________________
Fussy? Opinionated? Impossible to please? Perfect. Join Yahoo!'s user panel and lay it on us. http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
@ 2007-07-20 18:34 Brett Schwarz
2007-07-20 21:40 ` Christian Stimming
0 siblings, 1 reply; 28+ messages in thread
From: Brett Schwarz @ 2007-07-20 18:34 UTC (permalink / raw)
To: Paolo Ciarrocchi, Shawn O. Pearce
Cc: Johannes Schindelin, Christian Stimming, git
After the glossary of terms has been create, it is easy to create the catalog file (assuming we use Tcl's standard mechanism). Each locale should have it's own file, named <locale_name>.msg (for example, es.msg for spanish). Inside that file, you just create entries for each glossary term (the below assumes that the msgcat namespace was imported):
mcset es Hello Hola
mcset es "Hello %s" "Hola %s"
.
.
.
You can find more out here if you like http://wiki.tcl.tk/msgcat
HTH,
--brett
----- Original Message ----
From: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
To: Shawn O. Pearce <spearce@spearce.org>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>; Christian Stimming <stimming@tuhh.de>; git@vger.kernel.org
Sent: Friday, July 20, 2007 10:32:24 AM
Subject: Re: [PATCH] Internationalization of git-gui
On 7/20/07, Shawn O. Pearce <spearce@spearce.org> wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On Thu, 19 Jul 2007, Christian Stimming wrote:
> >
> > > Does this implementation look okay?
> >
> > This is valuable work, but unfortunately, it does not follow the
> > recommendation in Documentation/SubmittingPatches at all.
> >
> > For starters, please send the patches inlined, one per mail. And you
> > might want to Cc the maintainer of git-gui (Shawn Pearce), too...
>
> I agree that internationalization of git-gui is worth doing.
> I've thought about working on it, but haven't yet because nobody
> else has seemed interested in having it done. Apparently someone
> is, so patches towards that end are most welcome.
Hi Shawn,
I volunteer to translate all the git-gui messages in Italian.
Just let me if you are interested and please give me an hint on how to
produce the translation so that you can incorporate it.
Thanks.
Regards,
--
Paolo
"Tutto cio' che merita di essere fatto,merita di essere fatto bene"
Philip Stanhope IV conte di Chesterfield
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
____________________________________________________________________________________
Yahoo! oneSearch: Finally, mobile search
that gives answers, not web links.
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:10 ` Junio C Hamano
@ 2007-07-20 18:38 ` Johannes Schindelin
2007-07-20 18:47 ` Paolo Ciarrocchi
2007-07-20 19:02 ` Sam Ravnborg
` (2 subsequent siblings)
3 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-07-20 18:38 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Paolo Ciarrocchi, Shawn O. Pearce, Christian Stimming, git
Hi,
On Fri, 20 Jul 2007, Junio C Hamano wrote:
> "Paolo Ciarrocchi" <paolo.ciarrocchi@gmail.com> writes:
>
> > I volunteer to translate all the git-gui messages in Italian.
> >
> > Just let me if you are interested and please give me an hint on how to
> > produce the translation so that you can incorporate it.
>
> Ah, am I expected to volunteer for Japanese part?
>
> Unless yashi, yoshifuji, or nanako3 volunteer, although I do not
> mind doing that myself, that is (if there are any Japanese
> people I forgot, I apologize).
According to http://en.wikipedia.org/wiki/Japan, you forgot roughly
127,433,490 people ;-)
> I wonder how many people outside English zone are regularly on the
> list...
Here is one, but Christian already volunteered for the German part, I
understand...
Ciao,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:38 ` Johannes Schindelin
@ 2007-07-20 18:47 ` Paolo Ciarrocchi
2007-07-20 19:06 ` Johannes Schindelin
0 siblings, 1 reply; 28+ messages in thread
From: Paolo Ciarrocchi @ 2007-07-20 18:47 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Junio C Hamano, Shawn O. Pearce, Christian Stimming, git
On 7/20/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
[...]
> > I wonder how many people outside English zone are regularly on the
> > list...
I tried to verify the results of the survey I sent out last year:
http://git.or.cz/gitwiki/GitSurvey
unfortunately that page seems to be full of spam.
Ciao,
--
Paolo
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:10 ` Junio C Hamano
2007-07-20 18:38 ` Johannes Schindelin
@ 2007-07-20 19:02 ` Sam Ravnborg
2007-07-20 19:16 ` Xudong Guan
2007-07-21 8:12 ` しらいしななこ
3 siblings, 0 replies; 28+ messages in thread
From: Sam Ravnborg @ 2007-07-20 19:02 UTC (permalink / raw)
To: Junio C Hamano
Cc: Paolo Ciarrocchi, Shawn O. Pearce, Johannes Schindelin,
Christian Stimming, git
On Fri, Jul 20, 2007 at 11:10:42AM -0700, Junio C Hamano wrote:
> I wonder how many people outside
> English zone are regularly on the list...
>From a scandinavian country (Denmark) but really I would never use
a translated version. So some decent amount of pressure would
be needed to convince me to add danish :-)
Sam
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:47 ` Paolo Ciarrocchi
@ 2007-07-20 19:06 ` Johannes Schindelin
0 siblings, 0 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-07-20 19:06 UTC (permalink / raw)
To: Paolo Ciarrocchi; +Cc: Junio C Hamano, Shawn O. Pearce, Christian Stimming, git
Hi,
On Fri, 20 Jul 2007, Paolo Ciarrocchi wrote:
> On 7/20/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> [...]
> > > I wonder how many people outside English zone are regularly on the
> > > list...
>
> I tried to verify the results of the survey I sent out last year:
> http://git.or.cz/gitwiki/GitSurvey
> unfortunately that page seems to be full of spam.
No longer. FWIW you can do it yourself: if you are logged in, there is a
"restore" link to the far right on the "Info" page of every wiki page.
Hth,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:10 ` Junio C Hamano
2007-07-20 18:38 ` Johannes Schindelin
2007-07-20 19:02 ` Sam Ravnborg
@ 2007-07-20 19:16 ` Xudong Guan
2007-07-21 8:12 ` しらいしななこ
3 siblings, 0 replies; 28+ messages in thread
From: Xudong Guan @ 2007-07-20 19:16 UTC (permalink / raw)
To: Junio C Hamano
Cc: Paolo Ciarrocchi, Shawn O. Pearce, Johannes Schindelin,
Christian Stimming, git
On 11:10 Fri 20 Jul , Junio C Hamano wrote:
> I wonder how many people outside
> English zone are regularly on the list...
I am a Chinese, subscribed today.
Xudong
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:34 [PATCH] Internationalization of git-gui Brett Schwarz
@ 2007-07-20 21:40 ` Christian Stimming
0 siblings, 0 replies; 28+ messages in thread
From: Christian Stimming @ 2007-07-20 21:40 UTC (permalink / raw)
To: Brett Schwarz; +Cc: Paolo Ciarrocchi, Shawn O. Pearce, Johannes Schindelin, git
Am Freitag, 20. Juli 2007 20:34 schrieb Brett Schwarz:
> After the glossary of terms has been create, it is easy to create the
> catalog file (assuming we use Tcl's standard mechanism). Each locale should
> have it's own file, named <locale_name>.msg (for example, es.msg for
> spanish). Inside that file, you just create entries for each glossary term
> (the below assumes that the msgcat namespace was imported):
>
> mcset es Hello Hola
> mcset es "Hello %s" "Hola %s"
I beg your pardon, but I think you grossly misunderstood what I meant
by "glossary". So before we end up in further confusion, let me clarify how
the general translation approach works. I'll use gettext wording because
that's what I know (from being the i18n guy in the gnucash project), but you
can easily insert any other wording you like here.
#1 For the translation in general, there is the set of all user-visible
strings in the source language (here: english). In gettext terms this is
called the "PO template file", git-gui.pot, also called the message template
file. This set of to-be-translated strings needs to be extracted from the
source code, which can be done by the xgettext program.
#2 For each target language, there is a human-readable mapping file that maps
each source string (english) into the target language. In gettext terms this
is the "PO file", de.po and it.po and ja.po and whatnot, also called the
translation file. This is the *only* file translators actually work with.
Gettext uses its PO file format here and a plethora of different tools exist
to help translators editing these files. (Examples: emacs po-mode,
KBabel, ...)
#3 For each target language, the translation files are converted to a
(potentially not human-readable) "compiled" mapping file, which is then read
at program runtime and used for the actual translation. For the gettext po
file format, the msgfmt program can convert this to Tcl's .msg files.
If I understand correctly, your above suggestion implies that for Tcl msgcat,
the file in #2 and #3 are one and the same? In my opinion this might make
sense if and only if that file format is supported by at least as many
translation tools and offers as flexible translation updates as gettext's po
file format does. From my experience the po file format indeed offers a bunch
of features that other translation file formats are missing but which are of
significant help to the translator. That's why I would strongly suggest to do
the actual translation inside a po file, and have it converted to the msg
file afterwards.
On the other hand when I mentioned a "glossary", I was talking about a simple
text file that should collect the 15-20 most important single words from
within the project. Those words usually show up in many different translation
strings, and as a translator you would easily lose track of which word you
translated into which translation. (Example glossary terms: repository,
commit [both the verb and the noun, heh], fetch, pull, push.) That's why you
would first collect that glossary, then come up with a one-to-one translation
for each of the 20 words of the glossary, and *then* use that fixed wording
throughout all 200-500 message translations of the actual project.
Christian
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 8:56 ` Christian Stimming
@ 2007-07-21 2:17 ` Shawn O. Pearce
2007-07-21 7:50 ` Christian Stimming
0 siblings, 1 reply; 28+ messages in thread
From: Shawn O. Pearce @ 2007-07-21 2:17 UTC (permalink / raw)
To: Christian Stimming; +Cc: Brett Schwarz, git, Paul Mackerras
Christian Stimming <stimming@tuhh.de> wrote:
> I used (and prefer) "_" because that's the standard function name for
> i18n'd strings when using gettext (talking about a "standard" way).
I thought about this today. I almost want to use _, e.g:
proc _ {args} {
return [eval mc $args]
}
For the translation, but I don't think its worth the CPU cycles in
Tcl to eval mc via _ every time we need a string when it only is
saving us one keystroke on a function name, *and* we are breaking
tradition with Tcl.
So when in Rome, wear a toga. Or in this case, use [mc ...].
> Being a newcomer on this list, could you please explain to me how to
> proceed with the i18n patches so far?
Sure.
> Do you want to have patches
> submitted after some further changes (which ones?)
Yes. Here's a few to get started with and that are really obvious.
Some I'm just asking for more information on.
- Import msgcat::mc and use [mc] instead of [_].
- Please combine the second and third patches into a single change.
There is no reason to switch to [mc {}] only to switch to [mc ""].
- Please use mc's formatting support, rather than [format].
Its shorter code.
- Don't bother trying to translate the strings "Tools" (for the
Tools menu) or "Migrate" (for its only menu option). This block
of code doesn't even belong in git-gui. Its for my day-job and
is a custom hack that I need to strip out and carry as a local
patch there, rather than in the public distribution.
- In our Makefile we do the looping in GNU make using its
$(foreach) operator, rather than using the shell's for builtin.
In other words, can we have the catalog target look more like the
install target?
- Can ALL_LINGUAS be automatically built from the directory
contents of the po/ directory?
- Can we define a dist rule for the maintainer to build the catalog
files, so the maintainer can convert the .po -> .msg for Tcl and
the user doesn't need the GNU tools installed to build git-gui?
> and/or in different
> formats?
Please send one patch per email message, inline and not attached.
This way they are easy to review, respond to and comment on.
> Do you prefer to have all changes in a smaller number of
> commit rather than split the way I did before?
No, this series looks reasonably fine to me structurally.
Did you base the patches on git.git's git-gui/ subdirectory, or
did you base them on the git-gui.git repository? Technically all
patches for git-gui should be against the git-gui repository on
repo.or.cz, as git-gui is its own project. Periodic stable snapshots
are imported into git.git under the git-gui/ subdirectory, for the
ease of distribution with core git.
Dscho recently created a fork of git-gui.git here:
http://repo.or.cz/w/git-gui/git-gui-i18n.git
and added your patch series into it. But I'd like to see some
cleanups before it merges in, and I want to hold off on actually
applying it into git-gui 0.8.0 is released, which should be Real
Soon Now as I'm trying to make it into git 1.5.3, which is coming
Even Sooner Than I'd Hoped. ;-)
> Should I wait for some
> more days/weeks/whatever until you or particular other developers have
> reviewed the patches? Thanks.
I think we're settled on using [mc]. I'm fine with the *.po ->
*.msg thing, especially if the maintainer can produce them and
package the *.msg files in the release tarball, so that the enduser
doesn't need to worry about msgfmt working.
--
Shawn.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 2:17 ` Shawn O. Pearce
@ 2007-07-21 7:50 ` Christian Stimming
2007-07-21 8:03 ` Shawn O. Pearce
0 siblings, 1 reply; 28+ messages in thread
From: Christian Stimming @ 2007-07-21 7:50 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Brett Schwarz, git, Paul Mackerras
Thanks for the detailed feedback.
Am Samstag, 21. Juli 2007 04:17 schrieb Shawn O. Pearce:
> Christian Stimming <stimming@tuhh.de> wrote:
> > I used (and prefer) "_" because that's the standard function name for
> > i18n'd strings when using gettext (talking about a "standard" way).
>
> but I don't think its worth the CPU cycles in
> Tcl to eval mc via _ every time we need a string when it only is
> saving us one keystroke on a function name,
The actual lookup of the string in the translation catalog far outweighs the
discussion of one extra function evaluation, but if that's what you prefer -
> *and* we are breaking tradition with Tcl.
>
> So when in Rome, wear a toga. Or in this case, use [mc ...].
Ok.
> > Do you want to have patches
> > submitted after some further changes (which ones?)
>
> Yes. Here's a few to get started with and that are really obvious.
> Some I'm just asking for more information on.
>
> - Import msgcat::mc and use [mc] instead of [_].
Will do.
> - Please combine the second and third patches into a single change.
> There is no reason to switch to [mc {}] only to switch to [mc ""].
Will do.
> - Please use mc's formatting support, rather than [format].
> Its shorter code.
Didn't know about that (you know, C gettext doesn't have that), and I'll have
to check whether this might confuse xgettext on string extraction, but will
probably be done.
> - Don't bother trying to translate the strings "Tools" (for the
> Tools menu) or "Migrate" (for its only menu option). This block
> of code doesn't even belong in git-gui. Its for my day-job and
> is a custom hack that I need to strip out and carry as a local
> patch there, rather than in the public distribution.
Err... from looking at the code, it's not quite clear to me whether any code
parts like these are not publicly shown to the user. For that reason I rather
translated everything that was currently available in the file. But I'll
happily remove this from the patch.
> - In our Makefile we do the looping in GNU make using its
> $(foreach) operator, rather than using the shell's for builtin.
> In other words, can we have the catalog target look more like the
> install target?
Sure. I did it this way because I'm more used to the shell syntax, but I'll
change that.
> - Can ALL_LINGUAS be automatically built from the directory
> contents of the po/ directory?
Yes. I used this one because this variable always appears in gettext's
autoconf infrastructure, but it's not required here. Will remove it.
> - Can we define a dist rule for the maintainer to build the catalog
> files, so the maintainer can convert the .po -> .msg for Tcl and
> the user doesn't need the GNU tools installed to build git-gui?
Yes, I'll try to add that, but I'd need further feedback and testing whether
it actually works.
> > and/or in different
> > formats?
>
> Please send one patch per email message, inline and not attached.
> This way they are easy to review, respond to and comment on.
I'll try to do that, but at the workplace where I work on this issue I'm
forced to use a webmailer and I have to check whether this leaves the patches
intact.
> > Do you prefer to have all changes in a smaller number of
> > commit rather than split the way I did before?
>
> No, this series looks reasonably fine to me structurally.
>
> Did you base the patches on git.git's git-gui/ subdirectory,
Yes.
> or
> did you base them on the git-gui.git repository? Technically all
> patches for git-gui should be against the git-gui repository on
> repo.or.cz, as git-gui is its own project.
Will do.
> Dscho recently created a fork of git-gui.git here:
>
> http://repo.or.cz/w/git-gui/git-gui-i18n.git
>
> and added your patch series into it. But I'd like to see some
> cleanups before it merges in, and I want to hold off on actually
> applying it into git-gui 0.8.0 is released,
Was this meant to say "hold off until git-gui 0.8.0 is released"? Sure, no
problem.
I'll submit an updated set of patches by beginning of next week. Thank you
very much for the feedback.
Christian
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 7:50 ` Christian Stimming
@ 2007-07-21 8:03 ` Shawn O. Pearce
0 siblings, 0 replies; 28+ messages in thread
From: Shawn O. Pearce @ 2007-07-21 8:03 UTC (permalink / raw)
To: Christian Stimming; +Cc: Brett Schwarz, git, Paul Mackerras
Christian Stimming <stimming@tuhh.de> wrote:
> Thanks for the detailed feedback.
Thanks for working on this! Its something I knew we need to do,
but hadn't brought myself to do, because I speak English, and pretty
much only English. Unless Tcl counts. ;-)
> Am Samstag, 21. Juli 2007 04:17 schrieb Shawn O. Pearce:
> >
> > Please send one patch per email message, inline and not attached.
> > This way they are easy to review, respond to and comment on.
>
> I'll try to do that, but at the workplace where I work on this issue I'm
> forced to use a webmailer and I have to check whether this leaves the patches
> intact.
Can you push to the mob branch on repo.or.cz? Or setup your own
git-gui fork repository there? Or someplace? If so you can still
copy and paste the message into email for quick review and comment,
but I can actually pull the Git objects from a repository, and I
know Git won't corrupt things.
> > Dscho recently created a fork of git-gui.git here:
> >
> > http://repo.or.cz/w/git-gui/git-gui-i18n.git
> >
> > and added your patch series into it. But I'd like to see some
> > cleanups before it merges in, and I want to hold off on actually
> > applying it into git-gui 0.8.0 is released,
>
> Was this meant to say "hold off until git-gui 0.8.0 is released"? Sure, no
> problem.
More or less. I'm interested in this series, so I'm happy to get the
patches. But I won't put them into 0.8.0, as I think it is too late
in the development period. Especially for a build system change.
I've had too many bugs because of changes to the Makefile in prior
versions of git-gui. But I am hoping that they will be among the
very first things applied after I tag 0.8.0 and start the 0.9.0
development cycle. :-)
> I'll submit an updated set of patches by beginning of next week. Thank you
> very much for the feedback.
Thanks.
--
Shawn.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-20 18:10 ` Junio C Hamano
` (2 preceding siblings ...)
2007-07-20 19:16 ` Xudong Guan
@ 2007-07-21 8:12 ` しらいしななこ
2007-07-21 8:22 ` Junio C Hamano
3 siblings, 1 reply; 28+ messages in thread
From: しらいしななこ @ 2007-07-21 8:12 UTC (permalink / raw)
To: Junio C Hamano
Cc: Paolo Ciarrocchi, Shawn O. Pearce, Johannes Schindelin,
Christian Stimming, git
Quoting Junio C Hamano <gitster@pobox.com>:
> "Paolo Ciarrocchi" <paolo.ciarrocchi@gmail.com> writes:
>
>> I volunteer to translate all the git-gui messages in Italian.
>>
>> Just let me if you are interested and please give me an hint on how to
>> produce the translation so that you can incorporate it.
>
> Ah, am I expected to volunteer for Japanese part?
>
> Unless yashi, yoshifuji, or nanako3 volunteer, although I do not
> mind doing that myself, that is (if there are any Japanese
> people I forgot, I apologize). I wonder how many people outside
> English zone are regularly on the list...
I can help. What's involved?
--
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/
----------------------------------------------------------------------
Free pop3 email with a spam filter.
http://www.bluebottle.com/tag/5
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 8:12 ` しらいしななこ
@ 2007-07-21 8:22 ` Junio C Hamano
2007-07-21 13:21 ` Johannes Schindelin
2007-07-21 18:57 ` Paolo Ciarrocchi
0 siblings, 2 replies; 28+ messages in thread
From: Junio C Hamano @ 2007-07-21 8:22 UTC (permalink / raw)
To: しらいしななこ
Cc: Paolo Ciarrocchi, Shawn O. Pearce, Johannes Schindelin,
Christian Stimming, git
しらいしななこ <nanako3@bluebottle.com> writes:
> Quoting Junio C Hamano <gitster@pobox.com>:
>
>> Ah, am I expected to volunteer for Japanese part?
>>
>> Unless yashi, yoshifuji, or nanako3 volunteer, although I do not
>> mind doing that myself,...
>
> I can help. What's involved?
Wonderful.
As Johannes announced the 'mob' stuff, I think it would be
easiest to work there as others --- for this type of work, there
probably won't be much stepping on each other's toes involved as
long as there are not more than one translator per language.
What's involved to get a new language 'xy' started is roughly:
- Run 'make' once, to get po/git-gui.pot generated;
- Copy po/git-gui.pot to po/xy.po;
- Update the placeholder strings at the beginning of the
po/xy.po file appropriately.
- Add 'xy' to the list of languages to ALL_LINGUAS list in the
Makefile.
After that, add translations to the (initially empty) string on
the lines that begin with 'msgstr'. Set of msgid's need to be
kept in sync with the source as the translated software evolve,
but gettext framework hopefully will take care of most of the
chore.
I'll get on the 'mob' bandwagon and try to push out something
like the attached patch, so that you do not necessarily have to
have the whole gettext toolchain.
-- >8 --
This gets the ball started for Japanese translation, but as I am
lazy, I only translated three words. I took credit by placing
my name on the "Last-Translator" line, but shifted most of the
remaining work to Nana, who showed interest on the list, by
naming her at the beginnign of the file ;-)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
Makefile | 2 +-
po/ja.po | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 251 insertions(+), 1 deletions(-)
create mode 100644 po/ja.po
diff --git a/Makefile b/Makefile
index f6a6ce3..85d2c00 100644
--- a/Makefile
+++ b/Makefile
@@ -107,7 +107,7 @@ XGETTEXT ?= xgettext
msgsdir ?= $(libdir)/msgs
msgsdir_SQ = $(subst ','\'',$(msgsdir))
PO_TEMPLATE = po/git-gui.pot
-ALL_LINGUAS = de
+ALL_LINGUAS = de ja
$(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES)
$(XGETTEXT) -k_ -LTcl -o $@ $(SCRIPT_SH) $(ALL_LIBFILES)
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..abfd4f1
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,250 @@
+# Translation of git-gui to Japanese
+# Copyright (C) 2007 Shawn Pearce
+# This file is distributed under the same license as the git-gui package.
+# しらいし ななこ <nanako3@bluebottle.com>, 2007.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: git-gui\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-07-21 01:23-0700\n"
+"PO-Revision-Date: 2007-07-21 01:23-0700\n"
+"Last-Translator: Junio C Hamano <gitster@pobox.com>\n"
+"Language-Team: Japanese\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: git-gui.sh:1656
+msgid "Repository"
+msgstr "レポジトリ"
+
+#: git-gui.sh:1657
+msgid "Edit"
+msgstr "編集"
+
+#: git-gui.sh:1659
+msgid "Branch"
+msgstr "分岐"
+
+#: git-gui.sh:1662 git-gui.sh:1840
+msgid "Commit"
+msgstr ""
+
+#: git-gui.sh:1665
+msgid "Merge"
+msgstr ""
+
+#: git-gui.sh:1666
+msgid "Fetch"
+msgstr ""
+
+#: git-gui.sh:1667
+msgid "Push"
+msgstr ""
+
+#: git-gui.sh:1676
+msgid "Browse Current Branch's Files"
+msgstr ""
+
+#: git-gui.sh:1685
+msgid "Visualize Current Branch's History"
+msgstr ""
+
+#: git-gui.sh:1689
+msgid "Visualize All Branch History"
+msgstr ""
+
+#: git-gui.sh:1694
+msgid "Database Statistics"
+msgstr ""
+
+#: git-gui.sh:1697
+msgid "Compress Database"
+msgstr ""
+
+#: git-gui.sh:1700
+msgid "Verify Database"
+msgstr ""
+
+#: git-gui.sh:1707 git-gui.sh:1711 git-gui.sh:1715
+msgid "Create Desktop Icon"
+msgstr ""
+
+#: git-gui.sh:1720
+msgid "Quit"
+msgstr ""
+
+#: git-gui.sh:1727
+msgid "Undo"
+msgstr ""
+
+#: git-gui.sh:1730
+msgid "Redo"
+msgstr ""
+
+#: git-gui.sh:1734 git-gui.sh:2249
+msgid "Cut"
+msgstr ""
+
+#: git-gui.sh:1737 git-gui.sh:2252 git-gui.sh:2323 git-gui.sh:2395
+msgid "Copy"
+msgstr ""
+
+#: git-gui.sh:1740 git-gui.sh:2255
+msgid "Paste"
+msgstr ""
+
+#: git-gui.sh:1743 git-gui.sh:2258
+msgid "Delete"
+msgstr ""
+
+#: git-gui.sh:1747 git-gui.sh:2262 git-gui.sh:2399
+msgid "Select All"
+msgstr ""
+
+#: git-gui.sh:1756
+msgid "Create..."
+msgstr ""
+
+#: git-gui.sh:1762
+msgid "Checkout..."
+msgstr ""
+
+#: git-gui.sh:1768
+msgid "Rename..."
+msgstr ""
+
+#: git-gui.sh:1773 git-gui.sh:1871
+msgid "Delete..."
+msgstr ""
+
+#: git-gui.sh:1778
+msgid "Reset..."
+msgstr ""
+
+#: git-gui.sh:1790
+msgid "New Commit"
+msgstr ""
+
+#: git-gui.sh:1798
+msgid "Amend Last Commit"
+msgstr ""
+
+#: git-gui.sh:1807
+msgid "Rescan"
+msgstr ""
+
+#: git-gui.sh:1813
+msgid "Add To Commit"
+msgstr ""
+
+#: git-gui.sh:1818
+msgid "Add Existing To Commit"
+msgstr ""
+
+#: git-gui.sh:1824
+msgid "Unstage From Commit"
+msgstr ""
+
+#: git-gui.sh:1829
+msgid "Revert Changes"
+msgstr ""
+
+#: git-gui.sh:1836 git-gui.sh:2273
+msgid "Sign Off"
+msgstr ""
+
+#: git-gui.sh:1851
+msgid "Local Merge..."
+msgstr ""
+
+#: git-gui.sh:1856
+msgid "Abort Merge..."
+msgstr ""
+
+#: git-gui.sh:1868
+msgid "Push..."
+msgstr ""
+
+#: git-gui.sh:1878
+msgid "Apple"
+msgstr ""
+
+#: git-gui.sh:1881 git-gui.sh:1928
+#, tcl-format
+msgid "About %s"
+msgstr ""
+
+#: git-gui.sh:1883 git-gui.sh:1889 git-gui.sh:2441
+msgid "Options..."
+msgstr ""
+
+#: git-gui.sh:1913
+msgid "Tools"
+msgstr ""
+
+#: git-gui.sh:1915
+msgid "Migrate"
+msgstr ""
+
+#: git-gui.sh:1924
+msgid "Help"
+msgstr ""
+
+#: git-gui.sh:1965
+msgid "Online Documentation"
+msgstr ""
+
+#: git-gui.sh:2215
+msgid "Initial Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2216
+msgid "Amended Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2217
+msgid "Amended Initial Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2218
+msgid "Amended Merge Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2219
+msgid "Merge Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2220
+msgid "Commit Message:"
+msgstr ""
+
+#: git-gui.sh:2265 git-gui.sh:2403
+msgid "Copy All"
+msgstr ""
+
+#: git-gui.sh:2391
+msgid "Refresh"
+msgstr ""
+
+#: git-gui.sh:2412
+msgid "Apply/Reverse Hunk"
+msgstr ""
+
+#: git-gui.sh:2418
+msgid "Decrease Font Size"
+msgstr ""
+
+#: git-gui.sh:2422
+msgid "Increase Font Size"
+msgstr ""
+
+#: git-gui.sh:2427
+msgid "Show Less Context"
+msgstr ""
+
+#: git-gui.sh:2434
+msgid "Show More Context"
+msgstr ""
--
1.5.3.rc2.22.g69a9b
^ permalink raw reply related [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 8:22 ` Junio C Hamano
@ 2007-07-21 13:21 ` Johannes Schindelin
2007-07-21 18:57 ` Paolo Ciarrocchi
1 sibling, 0 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-07-21 13:21 UTC (permalink / raw)
To: Junio C Hamano
Cc: しらいしななこ,
Paolo Ciarrocchi, Shawn O. Pearce, Christian Stimming, git
Hi,
On Sat, 21 Jul 2007, Junio C Hamano wrote:
> As Johannes announced the 'mob' stuff, I think it would be easiest to
> work there as others --- for this type of work, there probably won't be
> much stepping on each other's toes involved as long as there are not
> more than one translator per language.
Already merged into git-gui-i18n's master.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
@ 2007-07-21 16:29 Brett Schwarz
0 siblings, 0 replies; 28+ messages in thread
From: Brett Schwarz @ 2007-07-21 16:29 UTC (permalink / raw)
To: Christian Stimming
Cc: Paolo Ciarrocchi, Shawn O. Pearce, Johannes Schindelin, git
> ----- Original Message ----
> From: Christian Stimming <stimming@tuhh.de>
> To: Brett Schwarz <brett_schwarz@yahoo.com>
> Cc: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>; Shawn O. Pearce <spearce@spearce.org>; Johannes Schindelin <Johannes.Schindelin@gmx.de>; git@vger.kernel.org
> Sent: Friday, July 20, 2007 2:40:27 PM
> Subject: Re: [PATCH] Internationalization of git-gui
>
> Am Freitag, 20. Juli 2007 20:34 schrieb Brett Schwarz:
> > After the glossary of terms has been create, it is easy to create the
> > catalog file (assuming we use Tcl's standard mechanism). Each locale should
> > have it's own file, named <locale_name>.msg (for example, es.msg for
> > spanish). Inside that file, you just create entries for each glossary term
> > (the below assumes that the msgcat namespace was imported):
> >
> > mcset es Hello Hola
> > mcset es "Hello %s" "Hola %s"
>
> I beg your pardon, but I think you grossly misunderstood what I meant
> by "glossary". So before we end up in further confusion, let me clarify how
> the general translation approach works. I'll use gettext wording because
> that's what I know (from being the i18n guy in the gnucash project), but you
> can easily insert any other wording you like here.
>
Ok, perhaps I did misunderstand you. From below, now I do understand...thanks.
> #1 For the translation in general, there is the set of all user-visible
> strings in the source language (here: english). In gettext terms this is
> called the "PO template file", git-gui.pot, also called the message template
> file. This set of to-be-translated strings needs to be extracted from the
> source code, which can be done by the xgettext program.
>
> #2 For each target language, there is a human-readable mapping file that maps
> each source string (english) into the target language. In gettext terms this
> is the "PO file", de.po and it.po and ja.po and whatnot, also called the
> translation file. This is the *only* file translators actually work with.
> Gettext uses its PO file format here and a plethora of different tools exist
> to help translators editing these files. (Examples: emacs po-mode,
> KBabel, ...)
>
> #3 For each target language, the translation files are converted to a
> (potentially not human-readable) "compiled" mapping file, which is then read
> at program runtime and used for the actual translation. For the gettext po
> file format, the msgfmt program can convert this to Tcl's .msg files.
>
> If I understand correctly, your above suggestion implies that for Tcl msgcat,
> the file in #2 and #3 are one and the same? In my opinion this might make
> sense if and only if that file format is supported by at least as many
> translation tools and offers as flexible translation updates as gettext's po
> file format does. From my experience the po file format indeed offers a bunch
> of features that other translation file formats are missing but which are of
> significant help to the translator. That's why I would strongly suggest to do
> the actual translation inside a po file, and have it converted to the msg
> file afterwards.
>
Yes, for the msgcat files, you create just the mapping files...that's it. No intermediate steps. So, a workflow would look something like this:
1) Somebody creates the initial "template" file. This is usually in the source's language (i.e. english). This too is just a msgcat file. Note that this file is not strictly necessary, but helps other translators.
2) A translator copies the template file, to their target language file, and edits the text:
# cp en.msg es.msg
# vi es.msg
this
mcset en Hello Hello
get's changed to this
mcset es Hello Hola
etc
That's it. There is no compilation needed, and no need for a makefile entry.
Now, even though I think this approach is alot more simplier and straight forward, I do recognize that alot of people are probably accustomed to the po format, and since the actual generation of the msgcat files are only done by the maintainer, I don't really have anything against using the po format.
I know it's already been decided to use the po format, but I just wanted to make sure to follow up on this email.
Thanks,
--brett
____________________________________________________________________________________
Boardwalk for $500? In 2007? Ha! Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games.
http://get.games.yahoo.com/proddesc?gamekey=monopolyherenow
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 8:22 ` Junio C Hamano
2007-07-21 13:21 ` Johannes Schindelin
@ 2007-07-21 18:57 ` Paolo Ciarrocchi
2007-07-21 21:25 ` Johannes Schindelin
1 sibling, 1 reply; 28+ messages in thread
From: Paolo Ciarrocchi @ 2007-07-21 18:57 UTC (permalink / raw)
To: Junio C Hamano
Cc: しらいしななこ,
Shawn O. Pearce, Johannes Schindelin, Christian Stimming, git
On 7/21/07, Junio C Hamano <gitster@pobox.com> wrote:
paolo@paolo-desktop:~/git-gui-i18n$ ls
git-gui.sh GIT-VERSION-GEN lib Makefile po
> - Run 'make' once, to get po/git-gui.pot generated;
paolo@paolo-desktop:~/git-gui-i18n$ make
GITGUI_VERSION = 0.8.GITGUI
* new locations or Tcl/Tk interpreter
GEN git-gui
BUILTIN git-citool
INDEX lib/
paolo@paolo-desktop:~/git-gui-i18n$ ls po/
de.msg de.po glossary.csv ja.msg ja.po
There is "po/git-gui.pot" file in my repository.
Am I doing something wrong?
Thanks!
Ciao,
--
Paolo
"Tutto cio' che merita di essere fatto,merita di essere fatto bene"
Philip Stanhope IV conte di Chesterfield
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 18:57 ` Paolo Ciarrocchi
@ 2007-07-21 21:25 ` Johannes Schindelin
2007-07-21 22:57 ` Junio C Hamano
0 siblings, 1 reply; 28+ messages in thread
From: Johannes Schindelin @ 2007-07-21 21:25 UTC (permalink / raw)
To: Paolo Ciarrocchi
Cc: Junio C Hamano,
しらいしななこ,
Shawn O. Pearce, Christian Stimming, git
Hi,
On Sat, 21 Jul 2007, Paolo Ciarrocchi wrote:
> On 7/21/07, Junio C Hamano <gitster@pobox.com> wrote:
>
> paolo@paolo-desktop:~/git-gui-i18n$ ls
> git-gui.sh GIT-VERSION-GEN lib Makefile po
>
>
> > - Run 'make' once, to get po/git-gui.pot generated;
>
> paolo@paolo-desktop:~/git-gui-i18n$ make
> GITGUI_VERSION = 0.8.GITGUI
> * new locations or Tcl/Tk interpreter
> GEN git-gui
> BUILTIN git-citool
> INDEX lib/
>
> paolo@paolo-desktop:~/git-gui-i18n$ ls po/
> de.msg de.po glossary.csv ja.msg ja.po
>
> There is "po/git-gui.pot" file in my repository.
My fault. I was rebasing Junio's patch on top of Christian's new series.
Alas, the PO_TEMPLATE was no longer created by default.
Should be fixed now.
Thanks,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 21:25 ` Johannes Schindelin
@ 2007-07-21 22:57 ` Junio C Hamano
2007-07-22 1:12 ` Johannes Schindelin
0 siblings, 1 reply; 28+ messages in thread
From: Junio C Hamano @ 2007-07-21 22:57 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Paolo Ciarrocchi,
しらいしななこ,
Shawn O. Pearce, Christian Stimming, git
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>> paolo@paolo-desktop:~/git-gui-i18n$ ls po/
>> de.msg de.po glossary.csv ja.msg ja.po
>>
>> There is "po/git-gui.pot" file in my repository.
>
> My fault. I was rebasing Junio's patch on top of Christian's new series.
> Alas, the PO_TEMPLATE was no longer created by default.
>
> Should be fixed now.
Note that if everybody agrees that the division of labor between
the developer, the i18n coordinator and translators I suggested
in the earlier message is the way to go, po/git-gui.pot should
be managed by the i18n coordinator and revision tracked in-tree.
Simple "make" should not try to update it for ordinary people,
but we can have a "i18n coordinator only" maintenance target to
update it.
That way, translators do not have to touch anything other than
their own po/xx.po files.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH] Internationalization of git-gui
2007-07-21 22:57 ` Junio C Hamano
@ 2007-07-22 1:12 ` Johannes Schindelin
0 siblings, 0 replies; 28+ messages in thread
From: Johannes Schindelin @ 2007-07-22 1:12 UTC (permalink / raw)
To: Junio C Hamano
Cc: Paolo Ciarrocchi,
しらいしななこ,
Shawn O. Pearce, Christian Stimming, git
Hi,
On Sat, 21 Jul 2007, Junio C Hamano wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> >> paolo@paolo-desktop:~/git-gui-i18n$ ls po/
> >> de.msg de.po glossary.csv ja.msg ja.po
> >>
> >> There is "po/git-gui.pot" file in my repository.
> >
> > My fault. I was rebasing Junio's patch on top of Christian's new series.
> > Alas, the PO_TEMPLATE was no longer created by default.
> >
> > Should be fixed now.
>
> Note that if everybody agrees that the division of labor between
> the developer, the i18n coordinator and translators I suggested
> in the earlier message is the way to go, po/git-gui.pot should
> be managed by the i18n coordinator and revision tracked in-tree.
> Simple "make" should not try to update it for ordinary people,
> but we can have a "i18n coordinator only" maintenance target to
> update it.
>
> That way, translators do not have to touch anything other than
> their own po/xx.po files.
Done.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2007-07-22 1:13 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-20 18:34 [PATCH] Internationalization of git-gui Brett Schwarz
2007-07-20 21:40 ` Christian Stimming
-- strict thread matches above, loose matches on Subject: below --
2007-07-21 16:29 Brett Schwarz
2007-07-20 18:15 Brett Schwarz
2007-07-19 17:33 Brett Schwarz
2007-07-20 5:04 ` Shawn O. Pearce
2007-07-20 8:56 ` Christian Stimming
2007-07-21 2:17 ` Shawn O. Pearce
2007-07-21 7:50 ` Christian Stimming
2007-07-21 8:03 ` Shawn O. Pearce
2007-07-20 9:03 ` Christian Stimming
2007-07-19 10:56 Christian Stimming
2007-07-19 12:25 ` Johannes Schindelin
2007-07-20 4:55 ` Shawn O. Pearce
2007-07-20 17:32 ` Paolo Ciarrocchi
2007-07-20 18:10 ` Junio C Hamano
2007-07-20 18:38 ` Johannes Schindelin
2007-07-20 18:47 ` Paolo Ciarrocchi
2007-07-20 19:06 ` Johannes Schindelin
2007-07-20 19:02 ` Sam Ravnborg
2007-07-20 19:16 ` Xudong Guan
2007-07-21 8:12 ` しらいしななこ
2007-07-21 8:22 ` Junio C Hamano
2007-07-21 13:21 ` Johannes Schindelin
2007-07-21 18:57 ` Paolo Ciarrocchi
2007-07-21 21:25 ` Johannes Schindelin
2007-07-21 22:57 ` Junio C Hamano
2007-07-22 1:12 ` Johannes Schindelin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).