国际化
程序的国际化/本地化是指根据用户语言和区域的不同程序可以使用针对用户的交互信息。如,中文用户,则语言会变成中文,时间会显示北京时间,货币会显示RMB。
Linux 下 Gnu/gettext 工具套件可以完成语言(message)的本地化/国际化。gettext的官方手册 :http://www.gnu.org/software/gettext/manual/gettext.html
gettext套件包括如下工具:
- gettext : 进行translate,根据LC_MESSAGES环境变量的值和TEXTDOMAIN查找字串对应的本地表示。
- xgettext : 从程序中抽取调用gettext进行本地化的字符串,生成一份.po结尾的配置文件。
- msgfmt : 将配置好的本地化配置文件进行转换成gettext使用的格式。
- msgmerge:合并已有的两份.po文件
- msgunfmt:从msgfmt生成的.mo文件生成.po配置文件
- etc.
- 程序编写的时候,在程序开始的地方配置gettext:
setlocale(lc_ALL,""); /* "" 空串,则会根据运行时环境变量的情况决定 */ bindtextdomain('myapp','/usr/local/share/l