linux 程序 國際化 本地化

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

發佈了19 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章