QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1254|回复: 1

Anjuta创建GTK工程支本地语编程的快速指南——给初学者

[复制链接]
发表于 2006-2-13 13:38:16 | 显示全部楼层 |阅读模式
自己整理了一下——本文给初学者。
首先确保机器里安装好了automake autoconf libtools 等等一系列GNU开发工具。最好还附带装上Glade,这样才能让Anjuta的工程创建精灵起作用。打开支持本地化,还要有gettext工具。
这是一篇快速指南,具体还请参阅autotools文档和gettext的相关文档。

用Anjuta可以工程创建精灵可以方便的生成一个工程,虽然不一定要用anjuta来编程(本人使用Emacs),但是也可以稍微利用一下它这个工程创建精灵的作用。首先在创建工程时选择支持本地语言这样,可以让工程创建时增加一个setup-gettext脚本,可以运行一下,会提示:
[code:1]autopoint --force
autopoint: *** Missing version: please specify in configure.in through a line 'AM_GNU_GETTEXT_VERSION(x.yy.zz)'
  the gettext version the package is using
autopoint: *** Stop.[/code:1]
编辑一下configure.in 加入自己的gettext 的version信息。

[code:1]dnl Languages which your application supports
ALL_LINGUAS=""
AM_GLIB_GNU_GETTEXT[/code:1]
如果需要加入zh_CN的支持,就改成 ALL_LINGUAS="zh_CN",另外我习惯改成 AM_GNU_GETTEXT。最后在AC_OUTPUT 下加上 intl/Makefil 编辑 Makefile.am 在 SUBDIRS 里加上 intl。 编辑完后运行 setup-gettext 脚本。

编程的时候要调用一个函数。方便大家:


[code:1]static void
setup_i18n (void)
{
gtk_set_locale ();
bindtextdomain (PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset (PACKAGE, "UTF-8");
textdomain (PACKAGE);
}[/code:1]

把需要翻译的字符串都如下面这样写:
[code:1]gtk_window_set_title(GTK_WINDOW(opwin),_("General Options"));[/code:1]程序写差不多了进入po目录,运行 make update-po。如果报错说需要Changelog就用touch Changelog一下。po目录下就会有一个pot文件,名称就是你的工程名字。同时也有zh_CN.po文件。没有请将pot文件复制一份成zh_CN文件。编辑它,补全所有的头信息。写 charset=UTF-8。另外确保文件保存时编码为 UTF-8。然后开始翻译。格式如下:

[code:1]#: src/interface.c:95
msgid "About us"
msgstr "关于我们"[/code:1]
然后在po里面make一下就生成了一个gmo文件。最后make install你的软件运行一下,可以看到你的翻译信息在图形界面上显示了。程序变更后重新运行 make update-po。修正po文件,确保每一句翻译信息都如上例子,不要有

[code:1]#, fuzzy[/code:1]

诸如此类和其他的东西,全部删除掉,修正完毕后重新make,然后make install。

如果自己添加了文件,修正po目录下POTFILES.in,加上自己的文件,重新来一遍就可以了。
发表于 2006-2-14 00:28:09 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 22:26 , Processed in 0.045861 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表