UbuntuChina文档组/翻译页
介绍
本页主要描述如何将官方文档组的成果翻译并将其放入Ubuntu。它旨在成为官方文档组的参考:翻译者并不需要知道所有信息。
如果你是一个翻译者,并且对将Ubuntu文档翻译感兴趣的话,你只需要知道如何使用 Rosetta 翻译系统 就可以了。你可以在 Rosetta 找到如何使用它。一旦你已经学会的话,您 可以在 这儿 找到官方文档 (别忘了登录).
要求包
- gnome-doc-utils
- gettext
处理过程
0. 当准备翻译英文的XML文件时,可以生成一个POT文件。我们可以使用命令 xml2po -e -o output.pot input.xml
- 注意如果文档超过一个文件时,xml2po命令需要做一个小改动。使用命令
xml2po --help
来为这种用法找个示例 - 如意想文档有一个 omf 文件,那么它也应该被包含在 pot 文件中
- 注意如果文档超过一个文件时,xml2po命令需要做一个小改动。使用命令
0. 然后将pot文件上传到rosetta上。如果pot文件是源DEB包形式的话,那么它会被自动上传到Ubuntu的当前版本,如果不是,那么它需要在Rosetta管理员的帮助下手工打包上传。
0. 文档通过Rosetta界面翻译。
0. 自动从Rosetta导出到官方文档组树还不能实现,而且今后实现它看来也很困难。因此官方文档组成员将检查翻译状态,并在他们准备好时将它们从Rosetta(到这个链接,点击在左边的相应模块,然后从右边的菜单中下载PO文件)提交官方文档组文档库中。
0. PO文件名是以cc.po
格式来命名的,其中的cc是遵照两字母语言代码来命名的。它们可以通过命令xml2po -p cc.po path/to/original/document.xml > path/to/translated/document-cc.xml
来转换回XML格式. 可以在目录中找到"translate.sh"脚本,这样许多文档可以自动进行这一处理。
文件命名约定
- 英文文档名可以包含一个连字符。如:
- 正确 "xxx-xxx.xml" "release-notes.xml
- 错误 "xxx-xxx-xxx.xml"
- POT文件命名方式同英文文档一样,只是它以.pot为其扩展名的。如:
- 正确 "xxx-xxx.pot" "release-notes.pot"
- 错误 "xxx-xxx-xxx.pot"
- PO文件名必须是下列格式:
- 正确 "nn.po" (其中 nn 为 两字母国家代码) 如 "fr.po"
- 错误 "xxxxxx-nn.pot"
- 英文文档名可以包含一个连字符。如:
注意:: 参见 ISO 639: 两字母代码 [1]
问题
使用Rosetta作翻译界面时可能会遇到下面一些问题。我们希望Rosetta成为被最多人使用的进行文档组文档翻译合适的方法,但是出现一些问题也是正常的,这个也许可以通过修正我们的make pot
/ make po
脚本或通过Rosetta guys提交BUG来得到解决。如果你所遇到的错误没有在此列出,请将其列在此处并将其报告给Docteam 和 Rosetta-users 邮件列表。
- PO文件也许包含语法错误。它们会在运行make-po脚本时显示。如:
msgfmt: releasenotes/release-notes-fr.po: some header fields still have the initial default value msgfmt: releasenotes/release-notes-fr.po: warning: PO file header fuzzy warning: older versions of msgfmt will give an error on this msgfmt: found 1 fatal error 124 translated messages.
遇到这种情况:
- 检查已被修改的头。有时人们会忘了完成"Last-Translator"域。
- 去掉了#行,文件混乱。
- 定位和解决所有的致命信息字符串错误。
- 有的语言如德语有着特殊的字符如 ü 和 ß 等,可以用"Decimal"来代替"Entity"。例如:将
ß
用ß
来代替。可以使用[2]来将"Entity"解析成"Decimal"。
在安装了另一种语言时如何检查翻译
sudo dpkg-reconfigure locales
选择你的本地化语言 然后 :
LANG=<locale> yelp ghelp:about-ubuntu
Replace about-ubuntu by either document of your choice.
待办事项
- 屏幕抓图的翻译 - 目前我们正在用的方法是安装相应的语言包,然后手工抓图(参见屏幕抓图)。这显示不方便,所以任何建议都是受欢迎的。谢谢!