一、利用anjuta创建一个适合自己使用的工程;
二、在congfigure.ac文件中加入ALL_LINGUAS=zh_CN.UTF-8.
具体的加法可以是直接在configue.ac文件的起始几行加入这行代码,也可以在anjuta软件中,选择项目——属性——变量。在中间加入这个变量值。
三、在主函数main中加入下面的代码:
#include "config.h"
#include <libintl.h>
#define _(String) gettext (String)
#define gettext_noop(String) String
#define N_(String) gettext_noop (String)
和
setlocale(LC_ALL, "");
bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
textdomain(GETTEXT_PACKAGE);
当然,目前使用anjuta创建项目时,如果选择了国际化,这些代码就自动生成了。所以在创建项目时,可以多注意着点。
四、编写代码。根据自己的需要,创建工程。
五、利用anjuta,在生成中选择configure project选项,配置工程。
六、为了自动生成可以要国际化的内容,在工程中,将*.ui文件重命名成*.glade文件,当然在项目选项中也要对该文件设计到的地方修改,加入新的glade文件,而取消ui文件。以便支持。
七、在po目录下的LIGUAS文件中,加入要国际化的语言。例如简体中文,可以写为zh_CN.UTF-8。
八、在po目录下的POTFILES.in文件中加入包含了国际化语句内容的文件。例如src/main.c文件等。也就是那些想要被国际化的语句所在的文件。
九、生成pot文件。具体的生成方法有两种,一种是使用make update-po来生成。这种做法是将来能够在批处理中执行,但是缺点是不能将所有要国际化的语句都提取出来。另外一种做法就是使用xgettext -a -f po/POTFILES.in -o po/xxx.pot。这种做法的好处就是能够直接将所有的语句都给摘出来,有利于国际化。
不过要注意的是这里生成的只是一个简单的pot文件,并没有完成国际化的工作。这一步的作用是将我们需要国际化的内容都摘录出来,方便我们进行国际化。
十、修改pot文件中的charset=设置成utf-8。
十一、拷贝新生成的pot文件为国际化语言.po文件,例如zh_CN.po
十二、接下来就是真正的国际化操作了。具体的国际化,可以使用工具poedit来完成。具体的配置方法可以参见http://blog.chinaunix.net/u3/96577/showart_1985250.html
十三、安装。将编译生产的mo文件放置到/usr/share/locale/zh_CN/LC_MESSAGES/工程名.mo或者是/usr/local/share/locale/zh_CN/LC_MESSAGES/工程名.mo
到这里国际化就完成了。
一、执行xgettext -a -f po/POTFILES.in -o po/xxx.pot对现有文件进行筛选,生成包含了所有要被国际化语句的pot文件。
二、利用poedit工具对po文件中指定的内容进行国际化。
三、设置字符格式为UTF-8。
anjuta+glade3+gtkbuilder+国际化(处理pot,po,gmo,mo):http://blog.chinaunix.net/u3/96577/showart_1985170.html
如何更新 POTFILES.in 和 .POT 文件:http://www.linuxfans.org/bbs/thread-148479-1-3.html
结合Anjuta轻松使用gettext进行国际化:http://dev.firnow.com/course/3_program/c++/cppjs/20100628/212288.html
anjuta+poedit使用技巧:http://blog.chinaunix.net/u3/96577/showart_1985250.html
使用anjuta,在新建工程中添加(国际化/本地化)支持(po/i18n):http://socol.javaeye.com/blog/587024