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即是所需