参考: http://blog.chinaunix.net/u1/59571/showart_1670949.html
编写程序
对于国际化程序的编写,终端程序和图形界面程序是不同的,但是后期的翻译步骤是一致的。
终端程序只有gettext函数,可以通过预编译(#define)来简化,而glib中的gi18n.h提供了
_()
宏,比较方便。把所有文本放在 _()
中间即可。
下面编写两个示例来说明。
终端程序:
GTK+程序:
二、生成po文件
三、编辑po文件
将头部的CHARSET改为“UTF–8”,在msgstr后加入翻译。
四、生成mo文件
注意test是你程序中的GETTEXT_PACKAGE名字。
五、移动mo文件
先建立 locale/zh_CN/LC_MASSAGES/
这个文件夹,然后把mo文件移动过去,注意locale是你程序中的LOCALEDIR。
六、运行程序
呵呵,看看效果吧,在不同的locale下(可修改$LANG),运行的程序效果不同哦~
源码下载
(第一次用skydrive,不知道会不会很麻烦……)