这里主要简单讲一下如何用 msgcat 扩展方便地让 Tcl/Tk 程序支持国际化。
 
1.  将以下代码保存为文件 demo.tcl 到当前目录。
--------------------------------------------------------------------------------------
package require msgcat

msgcat::mclocale $::env(LANG)
msgcat::mcload [file join [file dirname [info script]] lang]
namespace import -force msgcat::mc
 
button .b -text [mc Exit] -command {exit}
pack .b -padx 10 -pady 10
--------------------------------------------------------------------------------------
 
2.  在当前目录下新建一个子目录 lang
 
3.  进入 lang 子目录,并新建下面两个 .msg 文件,切记一定要保存为 UTF-8 编码。
 
(1) 将以下代码保存为文件 en_US.msg
-------------------------------------------------------------------------------------
namespace import -force msgcat::mcset
 
mcset en_US Exit Exit_en_US
-------------------------------------------------------------------------------------
 
 
(2) 将以下代码保存为文件 zh_CN.msg
-------------------------------------------------------------------------------------
namespace import -force msgcat::mcset
 
mcset zh_CN Exit 退出
-------------------------------------------------------------------------------------
 
4.  运行 demo.tcl,程序会以当前系统语言的环境变量来设置 “退出” 按钮使用那种语言的文字。