免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 938 | 回复: 0
打印 上一主题 下一主题

快速更正linux的翻译错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-04 18:28 |只看该作者 |倒序浏览
我们总是希望GUI的程序都是简体中文的。繁体中文也能够接受。最无奈的就是满屏幕的E文了。
我们常常希望GUI的翻译是最专业准确的。用词生硬尚能够看懂。最无语的就是半中半英了。
前几天,更新了amarok播放器,启动后发现是E文的界面。很纳闷。查看了一下软件包的文件,发现有33个国家/地区的翻译,偏偏就没有简体中文。还好里面有繁体中文的翻译,看着也能接受。
可是,看了几天后总感觉有点别扭,繁体和简体的用词习惯毕竟有些不同。于是,打算把其中的部分文字简体化!
==== 参考:Linux 的翻译系统 =====
现代Linux系统使用gettext库进行翻译。只要程序中涉及需要翻译的字符串以gettext("xxxx")的形式进行调用,就能够通过gettext库自动进行语言环境的探测,取得正确的翻译后的字符串。
Linux的程序翻译文件通常放置在 /usr/share/locale/ 目录中,以国家代码为子文件夹,以应用程序的名称进行存放。
比如amarok的中文简体翻译文件位置就是:
/usr/share/locale/zh_CN/LC_MESSAGES/amarok.mo
====
首先将机器码形式的翻译文件转换为文本形式的翻译文件。使用命令
$ msgunfmt   /usr/share/locale/zh_TW/LC_MESSAGES/amarok.mo  -o  /tmp/amarok.po
接着就可以对/tmp/amarok.po进行翻译了。既可以使用传统的文本编辑工具,也可以使用专门的翻译工具。比如,我就使用lokalize翻译助手。
$ lokalize /tmp/amarok.po
翻译完成后(其实我也就把繁体替换成简体而已),在逆向转换为mo文件(下面的命令直接覆盖掉系统的amarok翻译文件,故需要超级用户权限,也可以翻译后自己复制过去):
$ sudo  msgfmt   /tmp/amarok.po  -o  /usr/share/locale/zh_CN/LC_MESSAGES/amarok.mo
好了!amarok的界面总算变成半简体的了。
PS:这个小技巧可以临时对付Linux中的翻译不准确问题(刚才还看到kdecn-mailist里有人说dolphin的翻译很晕乎)。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/97165/showart_2064109.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP