From: Shawn O. Pearce Date: Sun, 2 Sep 2007 02:22:42 +0000 (-0400) Subject: git-gui: Initialize Tcl's msgcat library for internationalization X-Git-Tag: gitgui-0.9.0~103 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d4b0ccd931cc29f35e8f8493445af27ea72ed03e;p=git.git git-gui: Initialize Tcl's msgcat library for internationalization Tcl's msgcat library and corresponding mc procedure can locate a translated string for any user message, provided that it is first given a directory where the *.msg files are located containing the translations. During installation we will place the translations in lib/msgs/, so we need to inform msgcat of this location once we determine it during startup. Our source code tree however will store all of the translations within the po/ directory, so we need to special case this variant. Signed-off-by: Shawn O. Pearce --- diff --git a/git-gui.sh b/git-gui.sh index 4ea6e91b0..486d36ee1 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -51,8 +51,12 @@ set oguirel {@@GITGUI_RELATIVE@@} if {$oguirel eq {1}} { set oguilib [file dirname [file dirname [file normalize $argv0]]] set oguilib [file join $oguilib share git-gui lib] + set oguimsg [file join $oguilib msgs] } elseif {[string match @@* $oguirel]} { set oguilib [file join [file dirname [file normalize $argv0]] lib] + set oguimsg [file join [file dirname [file normalize $argv0]] po] +} else { + set oguimsg [file join $oguilib msgs] } unset oguirel @@ -74,6 +78,16 @@ if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { } } +###################################################################### +## +## 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 +::msgcat::mcload $oguimsg +unset oguimsg + ###################################################################### ## ## read only globals