在linux系统下,以c语言程序为例来实现程序的国际化,即让程序根据Linux系统不同的语言环境的不同来显示出对应该语言的文字,即先让c程序支持国际化然后再进行本地化翻译。
Linux上实现这个过程需要用到xgettext和msgfmt这两个工具。
Xgettext 是国际化的工具,用来提取程序中的字符串,生成*.po或是*.pot的文件,
msgfmt是本地化的工具,用来编译翻译后的.po文件为.mo文件,这样系统在启动时候会扫描系统环境提取对应名字的.mo文件中的字符串替代原来的英文,实现本地化。
如我们来做一个简单的rpm包,包文件的目录树如下:
hello.c /*我们用来测试的c语言程序*/
po /zh_CN.po /*放在该包根目录下的po目录。对应于该程序进行的中文翻译*/