1.程序中添加:
#include<stdio.h>
#include <libintl.h>
#include <locale.h> //包含了兩個頭文件
#define _(STRING) gettext(STRING) //定義了_(STRING)宏,只是爲了簡化
#define PACKAGE "test_locale" //定義了軟件包的名字,最後生成的.mo文件名應該命名爲這個
#define LOCALEDIR "~/work/practice/locale" //定義了mo文件將要存放的位置
int main(int argv,int*argc[])
{
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR); //bind軟件包與mo文件存放的位置
textdomain (PACKAGE);
printf(_("hello,world!/n")); //將_(STRING)宏應用到了字符串上
}
2.po文件夾中編輯POTFILES POTFILES.in
此文件中包含要翻譯的源代碼文件
3.
intltool-updata -p 生產pot文件
intltool-updata --maintain 更新
msginit --local=zh_CN
msgfmt -o *.mo zh_CN.po
*.mo即是所需