您的位置:首页 > 其它

利用anjuta+glade+poedit创建一个支持国际化语言的项目

2010-07-28 15:56 489 查看

在linux系统下进行开发时,语言的国际化是一个常见的问题。也是做起来比较麻烦和费时的一个事情。不过随着Linux的不断发展,现在Linux推出了好几个工具,方便程序员进行国际化和编程。在这里,我主要介绍下如何利用anjuta创建一个工程,并且利用poedit进行国际化。

详细的使用步骤:

一、利用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: