Browse Source

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 <spearce@spearce.org>
maint
Shawn O. Pearce 17 years ago
parent
commit
d4b0ccd931
  1. 14
      git-gui.sh

14
git-gui.sh

@ -51,8 +51,12 @@ set oguirel {@@GITGUI_RELATIVE@@} @@ -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)}]} { @@ -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

Loading…
Cancel
Save