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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值