GNU gettext utilities: Tcl
From Get docs
Gettext/docs/latest/Tcl
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.