Next: , Previous: , Up: Individual 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.