知我者谓我心忧,不知我者谓我何求。 顺天命者,悲;逆,亡?

anjuta+glade中使用getttext实现国际化编程的步骤

上一篇 / 下一篇  2007-06-22 09:13:12 / 个人分类:备忘

查看( 3255 ) / 评论( 8 )
开发Linux下的图形界面程序时难免会考虑到中文显示问题。之前是直接把中文字符写在程序里,直道现在才打算去正式使用gettext支持。
网络上找了不少教程,没一个可全部调通的,再次感慨下linux文档的不完整性。

我用的是 anjuta1.2.4a  glade2

要实现程序界面内容的自动翻译,也就是说当用户的 local 是英文,则显示英文内容,如果是中文,就显示中文。当然你可以自己写程序判断,在指定单独的宏定义也可。
既然GNU有相关国际化编程的标准,我们为什么不使用他呢?

1、建立项目
使用anjuta建立 gnome 项目,项目名为 sanool。默认情况下会创建一个 只有  window1 控件的窗口。

2、修改语言定义
在configure.in 里找到 ALL_LINGUAS, 如果你要增加中文支持,则改为
ALL_LINGUAS="zh_CN"

3、创建po文件,并制作翻译内容
进入 po 文件夹, 执行
make update-po
会得到以项目名开头的pot文件,例如 sanool.pot, 把此文件复制一份并改名为  zh_CN.po
修改zh_CN.po里的头部大写字段内容,尤其是 CHARSET 要改成utf-8

同时在该文件可以看到类似 msgid  msgstr 等内容
msgstr就是你填写翻译内容的地方。

4、重新gen
执行 ./autogen.sh ,这一步可不能漏哦。

5、创建gmo文件
进入po文件夹,执行
make
得到zh_CN.gmo 文件

结束。

TAG:

skykingf的个人空间 skykingf 发布于2007-06-22 09:36:41
anjuta确实是一款不错的IDE
Sanool和开源的故事--邵炜主题博客.. sanool 发布于2007-06-22 13:43:34
最近业余时间在做一个  linux助手
为新手服务的  用于查看软硬件信息 安装常用软件指导  性能优化 以及 技术问答等功能。
红尘弥漫 snail 发布于2007-06-22 15:41:31
收到,本来很少用IDE的,一直都用gedit,呵呵
现在去试试anjuta
Fluke@LUPA fluke 发布于2007-06-23 11:58:06
一样,也是用gedit多,最近打算写点东西,可能需要gui,到时写成了也放出来,呵呵。
love163发布于2008-04-23 21:55:49
gedit本身很强大了,还再学习.不知道什么时候能有你们的水平......
Sanool和开源的故事--邵炜主题博客.. sanool 发布于2008-07-01 16:05:30
anjuta的确是省了不少时间
现在也支持java和python了。。。
婷巧芙发布于2008-08-01 12:59:05
进口轴承
skf轴承

ntn轴承

fag轴承

nsk轴承

本公司专业销售 进口轴承skf轴承ntn轴承fag轴承nsk轴承
我来说两句

(可选)

Open Toolbar