`
Michaelmatrix
  • 浏览: 222366 次
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

利用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

分享到:
评论

相关推荐

    glade编程(学以致用)

    Anjuta是一款集成开发环境(IDE),它为GTK+和Gnome应用提供了便利的开发支持,而Glade则是一个图形化界面设计工具,允许开发者通过拖放的方式设计用户界面。 在Linux环境中,Glade允许开发者无需编写大量繁琐的...

    Linux上Anjuta开发环境的搭建.pdf

    Linux 上 Anjuta 开发环境的搭建 Anjuta 是一个功能强大且功能丰富的...Anjuta 的优点包括可以提供一个功能强大且灵活的开发环境、可以与 Glade 进行集成、可以进行项目管理和版本控制、可以与其他开发工具集成等。

    anjuta使用手册

    它为 Linux 和 Unix 系统提供一个命令行编程工具集合的可视化的界面。 Anjuta 的功能特点包括: 1. 完全可定制集成编辑器:自动亮显语法、自动代码格式、代码折叠/隐藏、行号/标记显示、文本变焦、代码自动完成、...

    Anjuta IDE

    1. **项目管理**:Anjuta提供了一个强大的项目管理工具,支持创建、管理和组织多个源代码文件,便于进行大型项目的开发工作。 2. **源代码编辑器**:内置的源代码编辑器具备语法高亮、自动完成、代码折叠等功能,...

    linux ubuntu环境中Anjuta编写c程序教程.docx

    在Linux Ubuntu环境中,用户可以使用Anjuta创建一个新的C项目。首先,打开Anjuta,然后点击“新建项目”,选择“C++”作为项目类型,接着选择“通用 C++”作为项目模板。然后,输入项目名称,并选择存储项目文件的...

    Anjuta-2.30.2.1tar.gz

    Anjuta是一款专为Linux系统设计的集成开发环境(IDE),其版本号为2.30.2.1,是官网最新发布的更新,对于在Ubuntu环境下学习和开发C/C++语言的用户来说,无疑是一个极好的工具。本文将详细介绍Anjuta的主要特性和...

    gtk五子棋——人机对战(内有代码解说文档和gtk文档)

    Glade则是一个界面设计器,用户可以通过拖放控件来布局界面,生成相应的XML文件,这使得开发者可以专注于逻辑代码,而不是界面细节的编写。 “Linux renju”标签揭示了这个项目在Linux操作系统上的应用,以及可能...

    Linux上搭建C/C++IDE开发环境

    Anjuta 利用 GLADE 生成优美用户界面的能力,加之以自己强大的源程序编辑能力,正成为一个极好的应用程序快速开发的集成环境(IDE)。 Glade 是一个用于在 GTK 环境下生成图形化用户界面的工具。 GLADE 不能算是一...

    anjuta-1.2.4.tar.gz_anjuta 1.2_anjuta-3.3.1.tar.z_linux anju_mak

    总的来说,Anjuta是一个强大的Linux IDE,尤其适合C/C++开发者,它通过自动化Makefile的创建和管理,简化了开发流程。不同版本的Anjuta满足了用户对新特性和改进的需求,而其开源特性使得用户可以根据自己的需求对其...

    linux上搭建cc++ide开发环境_linux教程

    Anjuta不仅支持代码编辑、编译、调试等功能,还集成了Glade,使得开发者能够在一个环境中同时进行界面设计和代码编写,大大提高了开发效率和便捷性。 #### Glade:GUI设计工具 Glade是一款用于GTK+环境下的图形...

    Linux开发环境必备十大开发工具

    GCC是GNU项目的一个关键组件,它是一个多语言编译器,支持C、C++、Objective-C、FORTRAN、Java和Ada等语言。通常通过命令行使用,GCC在很多IDE中作为前端工具。尽管是命令行工具,但功能强大。GCC实际上是一个工具...

    Anjuta Python bindings-开源

    Anjuta DevStudio本身是一个专为GNU/Linux系统设计的IDE,支持多种编程语言,包括C、C++和Vala等。 Python作为一门易于学习且功能丰富的编程语言,被广泛应用于各种场景,包括快速开发和脚本编写。通过Anjuta ...

    arm Linux嵌入式开发

    GCC不仅是一个单一的编译器,实际上包含了一系列前端和后端组件,能够支持不同语言的编译工作。其中,C语言通常使用`gcc`命令,而C++则使用`g++`。GCC的强大之处在于其跨平台性、丰富的优化选项以及广泛的社区支持。...

    Linux下GUI网络数据包嗅探器的研究与实现.pdf

    总的来说,本文提供了一个关于如何在Linux环境下开发GUI网络嗅探器的实例,通过使用Anjuta、GTK+和Glade等工具,提高了网络数据分析工具的易用性和实用性,对系统管理员和网络开发者具有很高的参考价值。同时,这种...

    anjuta--C、C++集成界面

    Anjuta是一个建立在GNU/Linux下为C、C++提供编译的集成开发环境。它最初旨在为GTK/GNOME设计,并且自身具有很好的编程属性。这其中包括项目管理、应用开发、交互调试以及强大的代码编辑和语法增彩的性质。

    Linux下搭建CC++开发环境(GTK)

    Anjuta是一款功能齐全的跨平台IDE,支持多种语言,包括C/C++、Java和Python等。它提供了代码自动完成、调试工具等功能,非常适合初学者使用。 ##### 3.2 安装Anjuta 1. **添加软件源**: - 打开“系统设置” -&gt; ...

    Ubuntu应用程序快速开发(以编写单片机串口助手软件为例)归纳.pdf

    - **Python与pyserial**:Python是一种流行的编程语言,而pyserial是一个非标准库,用于处理串口通信。要安装pyserial,首先从SourceForge下载,然后在终端中进入下载目录,运行`python setup.py install`进行安装...

    Ubuntu系统下搭建C(C++)开发环境 (1).pdf

    Code::Blocks是一个免费且开源的跨平台IDE,支持C和C++等语言。在Ubuntu上安装Code::Blocks同样可以通过`apt-get`命令来实现: ```bash sudo apt-get install codeblocks ``` **3.2 使用Code::Blocks编写C/C++程序*...

    10大linux开发工具[归类].pdf

    Bluefish是一款适用于Web开发的轻量级集成开发环境(IDE),尤其适合创建动态和交互式的网站。其特点包括: - 支持多种编程和标记语言。 - 资源占用率低,运行速度快。 - 可同时打开大量文档,最高可达3500个。 ...

Global site tag (gtag.js) - Google Analytics