From: Christian Stimming Date: Wed, 7 Nov 2007 17:40:59 +0000 (+0100) Subject: [PATCH] gitk i18n: Import msgcat for message string translation; load translation... X-Git-Tag: v1.5.4-rc3~4^2~12 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=663c3aa9c89ae7d7a52308c50bda084f8b4ab337;p=git.git [PATCH] gitk i18n: Import msgcat for message string translation; load translation catalogs By setting the environment variable GITK_MSGSDIR, one can manually set the directory where the .msg files are located. This is quite handy during development with GITK_MSGSDIR=po. Signed-off-by: Christian Stimming Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index 1da0b0af1..629acfbcc 100755 --- a/gitk +++ b/gitk @@ -8476,6 +8476,25 @@ set diffcolors {red "#00a000" blue} set diffcontext 3 set selectbgcolor gray85 +## For msgcat loading, first locate the installation location. +if { [info exists ::env(GITK_MSGSDIR)] } { + ## Msgsdir was manually set in the environment. + set gitk_msgsdir $::env(GITK_MSGSDIR) +} else { + ## Let's guess the prefix from argv0. + set gitk_prefix [file dirname [file dirname [file normalize $argv0]]] + set gitk_libdir [file join $gitk_prefix share gitk lib] + set gitk_msgsdir [file join $gitk_libdir msgs] + unset gitk_prefix +} + +## Internationalization (i18n) through msgcat and gettext. See +## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html +package require msgcat +namespace import ::msgcat::mc +## And eventually load the actual message catalog +::msgcat::mcload $gitk_msgsdir + catch {source ~/.gitk} font create optionfont -family sans-serif -size -12