Gettext/Tcl
From Get docs
Next: Perl, Previous: wxWidgets, Up: List of Programming Languages [Contents][Index]
15.5.20 Tcl - Tk’s scripting language
- RPMs
- tcl
- Ubuntu packages
- tcl
- File extension
tcl
- String syntax
"abc"
- gettext shorthand
[_ "abc"]
- gettext/ngettext functions
::msgcat::mc
- textdomain
- —
- bindtextdomain
- —, use
::msgcat::mcload
instead - setlocale
- automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL
- Prerequisite
package require msgcat
proc _ {s} {return [::msgcat::mc $s]}
- Use or emulate GNU gettext
- —, uses a Tcl specific message catalog format
- Extractor
xgettext -k_
- Formatting with positions
format "%2\$d %1\$d"
- Portability
- fully portable
- po-mode marking
- —
Two examples are available in the examples
directory:
hello-tcl
, hello-tcl-tk
.
Before marking strings as internationalizable, substitutions of variables
into the string need to be converted to format
applications. For
example, "file $filename not found"
becomes
[format "file %s not found" $filename]
.
Only after this is done, can the strings be marked and extracted.
After marking, this example becomes
[format [_ "file %s not found"] $filename]
or
[msgcat::mc "file %s not found" $filename]
. Note that the
msgcat::mc
function implicitly calls format
when more than one
argument is given.