在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
分享到:
相关推荐
Anjuta是一款集成开发环境(IDE),它为GTK+和Gnome应用提供了便利的开发支持,而Glade则是一个图形化界面设计工具,允许开发者通过拖放的方式设计用户界面。 在Linux环境中,Glade允许开发者无需编写大量繁琐的...
Linux 上 Anjuta 开发环境的搭建 Anjuta 是一个功能强大且功能丰富的...Anjuta 的优点包括可以提供一个功能强大且灵活的开发环境、可以与 Glade 进行集成、可以进行项目管理和版本控制、可以与其他开发工具集成等。
它为 Linux 和 Unix 系统提供一个命令行编程工具集合的可视化的界面。 Anjuta 的功能特点包括: 1. 完全可定制集成编辑器:自动亮显语法、自动代码格式、代码折叠/隐藏、行号/标记显示、文本变焦、代码自动完成、...
1. **项目管理**:Anjuta提供了一个强大的项目管理工具,支持创建、管理和组织多个源代码文件,便于进行大型项目的开发工作。 2. **源代码编辑器**:内置的源代码编辑器具备语法高亮、自动完成、代码折叠等功能,...
在Linux Ubuntu环境中,用户可以使用Anjuta创建一个新的C项目。首先,打开Anjuta,然后点击“新建项目”,选择“C++”作为项目类型,接着选择“通用 C++”作为项目模板。然后,输入项目名称,并选择存储项目文件的...
Anjuta是一款专为Linux系统设计的集成开发环境(IDE),其版本号为2.30.2.1,是官网最新发布的更新,对于在Ubuntu环境下学习和开发C/C++语言的用户来说,无疑是一个极好的工具。本文将详细介绍Anjuta的主要特性和...
Glade则是一个界面设计器,用户可以通过拖放控件来布局界面,生成相应的XML文件,这使得开发者可以专注于逻辑代码,而不是界面细节的编写。 “Linux renju”标签揭示了这个项目在Linux操作系统上的应用,以及可能...
Anjuta 利用 GLADE 生成优美用户界面的能力,加之以自己强大的源程序编辑能力,正成为一个极好的应用程序快速开发的集成环境(IDE)。 Glade 是一个用于在 GTK 环境下生成图形化用户界面的工具。 GLADE 不能算是一...
总的来说,Anjuta是一个强大的Linux IDE,尤其适合C/C++开发者,它通过自动化Makefile的创建和管理,简化了开发流程。不同版本的Anjuta满足了用户对新特性和改进的需求,而其开源特性使得用户可以根据自己的需求对其...
Anjuta不仅支持代码编辑、编译、调试等功能,还集成了Glade,使得开发者能够在一个环境中同时进行界面设计和代码编写,大大提高了开发效率和便捷性。 #### Glade:GUI设计工具 Glade是一款用于GTK+环境下的图形...
GCC是GNU项目的一个关键组件,它是一个多语言编译器,支持C、C++、Objective-C、FORTRAN、Java和Ada等语言。通常通过命令行使用,GCC在很多IDE中作为前端工具。尽管是命令行工具,但功能强大。GCC实际上是一个工具...
Anjuta DevStudio本身是一个专为GNU/Linux系统设计的IDE,支持多种编程语言,包括C、C++和Vala等。 Python作为一门易于学习且功能丰富的编程语言,被广泛应用于各种场景,包括快速开发和脚本编写。通过Anjuta ...
GCC不仅是一个单一的编译器,实际上包含了一系列前端和后端组件,能够支持不同语言的编译工作。其中,C语言通常使用`gcc`命令,而C++则使用`g++`。GCC的强大之处在于其跨平台性、丰富的优化选项以及广泛的社区支持。...
总的来说,本文提供了一个关于如何在Linux环境下开发GUI网络嗅探器的实例,通过使用Anjuta、GTK+和Glade等工具,提高了网络数据分析工具的易用性和实用性,对系统管理员和网络开发者具有很高的参考价值。同时,这种...
Anjuta是一个建立在GNU/Linux下为C、C++提供编译的集成开发环境。它最初旨在为GTK/GNOME设计,并且自身具有很好的编程属性。这其中包括项目管理、应用开发、交互调试以及强大的代码编辑和语法增彩的性质。
Anjuta是一款功能齐全的跨平台IDE,支持多种语言,包括C/C++、Java和Python等。它提供了代码自动完成、调试工具等功能,非常适合初学者使用。 ##### 3.2 安装Anjuta 1. **添加软件源**: - 打开“系统设置” -> ...
- **Python与pyserial**:Python是一种流行的编程语言,而pyserial是一个非标准库,用于处理串口通信。要安装pyserial,首先从SourceForge下载,然后在终端中进入下载目录,运行`python setup.py install`进行安装...
Code::Blocks是一个免费且开源的跨平台IDE,支持C和C++等语言。在Ubuntu上安装Code::Blocks同样可以通过`apt-get`命令来实现: ```bash sudo apt-get install codeblocks ``` **3.2 使用Code::Blocks编写C/C++程序*...
Bluefish是一款适用于Web开发的轻量级集成开发环境(IDE),尤其适合创建动态和交互式的网站。其特点包括: - 支持多种编程和标记语言。 - 资源占用率低,运行速度快。 - 可同时打开大量文档,最高可达3500个。 ...