当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : linux程序的简体中文语言包汉化方法
帖子发表于 : 2009-05-19 14:28 
头像

注册: 2007-12-17 21:41
帖子: 782
送出感谢: 67
接收感谢: 23
linux程序的简体中文语言包汉化方法
也可参考ubuntu官方介绍 http://wiki.ubuntu.org.cn/index.php?tit ... iant=zh-cn

Careone, 2009.5.19

基本说明:
很多linux程序的本地化很简单,在指定位置(一般是 /usr/share/locale/zh_CN/LC_MESSAGES/ 目录)放上编译后的菜单文件xxx.mo,即可实现菜单的完全本地化。

locale代表本地化,zh_CN代表简体中文。注意目录名严格区分英文字母大小写。

xxx.po 菜单文件的源码文本文件,可用来翻译成多国语言;
xxx.mo 编译得到的菜单文件,供程序调用;
附件:
mk.zh_CN.po.jpg
mk.zh_CN.po.jpg [ 40.3 KiB | 被浏览 3199 次 ]


===================
一、翻译和处理:简单分为4步:
1. 找到标准语言版的.po菜单文件;
2. 翻译新的messages.po或xxx.po菜单文件,另存为其它.po文件;
3. 运行msgfmt 来编译得到.mo文件,并按指定的文件名放到指定位置;
4. 检验效果,修正错误并重新编译、检验直到完毕。

备注:处理完毕后,经网友证实翻译可靠和准确,可进一步联系软件作者,把翻译后的.po文件和编译得到的.mo文件打包并做相应注释,发E-mail到软件作者的个人邮箱,如果作者确认收下,那么新版本软件很可能会自带支持简体中文。
===================
二、详细处理过程:
1. 找到标准语言版的.po菜单文件:
查看软件包文件清单,在相关位置查找messages.po或xxx.po菜单文件。英文版一般放在 /usr/share/locale/en/LC_MESSAGES/ 目录。注意原始版本不一定是英文版,也可能是其它语言,取决于软件作者的母语。如果是同步翻译的,其它语言版本同样可采用,只要把上面的en换成相应语种即可。然后保存到简体中文语种的相应目录下(一般是 /usr/share/locale/zh_CN/LC_MESSAGES/ 目录,某些程序可能不同,以实际为准。locale代表本地化,zh_CN代表简体中文。注意目录名严格区分英文字母大小写。

或者从软件官方软件下载源码包,解压后查看 po 目录下的.po文件,选用一个最新版的.po文件进行翻译。想确定哪个版本是最新的.po文件,有下面几种方法:
1.01 以详细方式查看所有.po文件的最后修改时间,一般时间最新的可以认为是最新版。但也不一定,可用meld校对程序和其它语言版的.po文件进行对比来确认;
1.02 查看.po文件,在文件开头找到 Project-Id-Version 这一行查看文件的版本号,然后用meld和其它语言版对比确认;
1.03 查看 po 目录下的ChangeLog 文件,查看版本更新记录来确定最新的po语言版本。如果找不到与" po updated" 或者 “translated" 之类的有效记录,可到别的位置查找ChangeLog文件。

2. 翻译新的messages.po或xxx.po菜单文件,另存为其它.po文件.注意保留原始.po文件,用于校对比较;

3. 以超级用户权限,切换到需要编译的目录下(如 cd /usr/share/locale/en/LC_MESSAGES/ ),再运行 sudo msgfmt messages.po 命令即可。编译得到的文件默认保存到当前目录,文件名默认为messages.mo。(在其它很多linux程序中,需要把文件改名为 “xxx.mo” 并放到指定目录,才能被程序识别调用。)

4. 检验效果:重新启动程序,查看软件界面汉化是否完整,翻译是否准确。如果发现部分菜单汉化不完整,可能是以下几种原因:
4.01 所采用的原版 .po文件与当前程序版本不符(版本过高或过低);
4.02 某些 msgstr 的英文双引号 " 误写成中文全角双引号;
4.03 某些 msgid 的内容无意中被改动, 与原版或当前版本不符,如英文字母大小写有改动,多了或少了英文空格,英文双引号 " 误写成中文全角双引号;
校正后再用msgfmt 重新编译处理,再以指定文件名移到指定目录,重新启动程序检验效果。

下面是一个xxx.po示范文件:
----------------------
# 以英文#号开头的为注释行
# file name: /usr/lib/linuxmint/mintUpdate/locale/zh_CN/LC_MESSAGES/messages.po
msgid ""
msgstr ""
"Project-Id-Version: mintUpdate 4.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-17 14:09+0800\n"
"PO-Revision-Date: 2009-05-18 19:24+0800\n"
"Last-Translator: Careone <zzbusagain@yahoo.com.cn>\n"
"Language-Team: Careone <zzbusagain@yahoo.com.cn>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Chinese\n"
"X-Poedit-Country: CHINA\n"
"X-Poedit-SourceCharset: utf-8\n"

# 以上为文件头,应尽量保持不变,否则运行msgfmt编译可能报错;
# 第一个有效行应以msgid开头,否则运行msgfmt编译可能报错;
# 上面的时间、E-mail可自行更改;
# 把下面全部msgstr的内容翻译成简体中文即可。如有必要,可保留为英文不变;

msgid "Installing updates"
msgstr "正在安装更新"

msgid "Please wait, this can take some time"
msgstr "请稍候,这将花费一些时间"

msgid "Update is complete"
msgstr "更新完成"

msgid "Could not install the security updates"
msgstr "不能安装安全更新"

msgid "Checking for updates"
msgstr "正在检查更新"

msgid "Could not connect to the Internet"
msgstr "不能连接到网络"

# 更多内容省略...
----------------------
小技巧:先安装一个meld校对程序(sudo apt-get install meld),运行meld后左边文档选最新版的messages.po文件原版,右边是老版本的messages.po 汉化文件。(messages.po汉化文件同时以超级用户身份用gedit文本编辑器打开)。在meld中比较两个文件的差异,在gedit中做必要的修改。反复比对、修改和重新装载,直到完工。 
===================
五、急待汉化的部分linux软件

1 pidgin 2.5.5 (for Ubuntu 8.04):
多协议聊天软件
编译后的简体中文菜单文件位置和文件名:
/usr/share/locale/zh_CN/LC_MESSAGES/pidgin.mo
注:po版本实为2.3,已过期,可参考源码中po/zh_HK.po文件更新翻译;

2 aptoncd 0.1.98-0ubuntu1.1 (for Ubuntu 8.04):
软件包备份和还原程序
编译后的简体中文菜单文件位置和文件名:
/usr/share/locale/zh_CN/LC_MESSAGES/aptoncd.mo
注:po版本过低,可参考源码中po/zh_HK.po文件更新翻译;

3 brasero 0.8.1 (for Ubuntu 8.04):
光盘刻录软件
编译后的简体中文菜单文件位置和文件名:
/usr/share/locale/zh_CN/LC_MESSAGES/brasero.mo
注:运行后居然是繁体中文界面!不知道各位国人看到后做何感想。
po版本过低,可参考源码中po/zh_HK.po文件更新翻译;

4 thunderbird 2.0.0.21 (for Ubuntu 8.04):
雷鸟电子邮件收发程序,汉化不完整,尤其是日历和提醒功能。
注意此软件不是按上面的po菜单文件方式汉化界面的,详情可发E-mail联系简体中文维护人 (简体中文软件包名为 thunderbird-locale-zh-cn ,可做汉化参考)

5 LinuxMint: (相当于ubuntu番茄花园版,但是合法。)
官方网站(英文版): http://www.linuxmint.com/
我个人强烈推荐中国用户使用!(中文化做得相当不错,汉化包也可在linuxMint官方论坛找到)。
官方网站下载地址(英文版): http://www.linuxmint.com/edition.php?id=25

基于ubuntu,并加入一些硬件驱动、音频视频解码软件包和其它特色软件。
兼容debian和ubuntu的绝大多数软件包和程序。
在ununtu发布新版本后,linuxMint很快就会推出相应的新版本)。
常见版本如下:

版本 版本代号 对应的ubuntu版本 说明
LinuxMint 7 Gloria Ubuntu 9.04 Jaunty 正式版暂未发布,支持到2010年10月。
LinuxMint 6 Felicia Ubuntu 8.10 Intrepid 支持到2010年4月。

LinuxMint 5 Elyssa Ubuntu 8.04.1 Hardy LTS长期支持版本, 支持到2011年4月。

LinuxMint 4.0 Daryna Ubuntu 7.10 Gutsy 2009年4月已停止支持。

最新版(LinuxMint 7)的翻译汉化进度请访问:
http://forums.linuxmint.com/viewforum.php?f=162
或者: http://www.linuxmint.com ‹ forums ‹ Development ‹ Translations ‹ Linux Mint 7 Gloria

LinuxMint论坛中文主题:
http://forums.linuxmint.com/viewforum.php?f=73
或者: http://www.linuxmint.com ‹ forums ‹ Languages ‹ Other Languages ‹ Chinese

===================
六、打包简体中文汉化包成deb格式:
1 deb包的control文件示例:
----------------------
Package: xxx-locale-zh-cn
Version:
Section: translations
Priority: optional
Architecture: all
Depends:
Installed-Size:
Maintainer: Careone <zzbusagain@yahoo.com.cn>
Description: Chinese Simplefied translations (zh_CN) for xxx
Homepage:
.
E-mail:

----------------------
2 简体中文汉化软件包命名规则:

按惯例,命名规则为: xxx-locale-zh-cn ;
版本号建议与主程序同步;
硬件平台为: all
===================

不要幻想等别人来汉化。我们已经等得够久了。
难道还要继续等待下去?......
软件要汉化,国人当自强!
*********************


_________________
* 日本人说:就算我们不拜靖国神社,韩国人也不会买我们的东西;
就算我们拜靖国神社,中国人照样买我们的东西。

* 历史不相信眼泪。能挡住狼的不是篱笆,而是棍子和猎枪。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/


页首
 用户资料  
 
2 楼 
 文章标题 : Re: linux程序的简体中文语言包汉化方法
帖子发表于 : 2009-09-17 7:32 

注册: 2009-07-30 20:20
帖子: 259
送出感谢: 0 次
接收感谢: 0 次
很好,楼主都未说,哪种汉化工具好用。。。。

如果用文本编辑器,界面不够 汉化工具直观。。。。。

:em06 :em06 :em06


_________________
你还在用老掉牙的windows吗?


页首
 用户资料  
 
3 楼 
 文章标题 : Re: linux程序的简体中文语言包汉化方法
帖子发表于 : 2009-09-19 14:49 
头像

注册: 2008-06-30 22:32
帖子: 2869
送出感谢: 0 次
接收感谢: 10
很好
顶一把~
:em11


页首
 用户资料  
 
4 楼 
 文章标题 : Re: linux程序的简体中文语言包汉化方法
帖子发表于 : 2009-09-21 10:30 
头像

注册: 2008-09-07 23:44
帖子: 550
送出感谢: 0 次
接收感谢: 1
一直用poedit。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译