首先要确认GNU gettext已经被安装。 写一个示例程序 gettext_test.c: #include <stdio.h> 下面先分析一下上面的源文件 locale.h包含下面要调用的setlocale函数的声明。 libintl.h包含gettext所使用的一些函数。 setlocale(LC_ALL, "");进行区域设置。(第二个参数为""说明设置成当前系统的区域) bindtextdomain ("gettext_test", "language");设置包含给定domain的语言文件的基目录。这里domain设置为gettext_test,基目录是当前目录下的language目录。 textdomain("gettext_test");设置当前程序的domain,要与bindtextdomain中的domain保持一致(这里是"gettext_test")。 将所有要翻译的字符串写成gettext("some string.")的形式,如程序中原来的printf ("Hello world!\n");要写成printf (gettext ("Hello world!\n");根据GNU标准也可以使用_代替gettext,这样可以少写几个字... 编译源文件生成gettext_test程序: # gcc -o gettext_test gettext_test.c 生成翻译文件gettext_test.po: # xgettext -k_ gettext_test.c 按照bindtextdomain 中参数,建立目录结构: 在gettext_test当前目录下建立language目录,language目录下建立你的语言目录如:zh_CN、zh_TW等等,所有可以使用的名字参考setlocale的第二个参数。在所有的语言目录下建立LC_MESSAGES目录。下面建立目录结构,假设你已经位于gettext_test的当前目录下: # mkdir -p language/zh_CN/LC_MESSAGE |
|
来自: oskycar > 《c\vc\opencv》