利用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
相关文章推荐
- IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)
- IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)
- 如何创建一个安卓项目
- soapui中文操作手册(一)----创建一个新的项目
- Ionic:环境搭建和创建一个项目
- 在Xcode6种创建一个empty项目
- 【11-17】【博睿项目】用checkbox在创建role时加入action_permission【一个窗体 多个模型】
- 配合m2eclipse创建一个标准的maven web项目.
- [MyBatis日记](2)MyBatis创建一个简单项目
- 基于WEB系统的多语言支持--ASP国际化多语言详细方案
- 1.1、Android Studio创建一个项目
- 用intellij idea 11创建一个Java Web项目
- node.js之express4.x使用命令创建一个ejs项目及常用命令
- 在windows上安装Maven,并且创建一个项目
- Flair–一个让你在线创建Flex/AIR应用程序的项目
- JAVA学习中使用Eclipse创建一个动态的WEB项目
- 第十三周项目1.5创建一个长度为16的数组,并初始化前15个,输入b,并将其插入到a【0】,输出数组
- HzhJava框架搭建一:Eclipse+Maven创建一个web项目
- eclipes创建一个web项目web.xml不能自动更新的原因(web.xml和@WebServlet的作用)
- 创建一个新的Android产品项目