Fedora 本地化工作指南
简介
这份指南为翻译 Fedora 项目和文档提供一个快捷、简便、带有步骤的指导。您可以在本页面的末尾找到 FAQ。
Fedora 本地化项目在线协作的网址为 https://fedora.transifex.net/。
寻求帮助
您可以将问题发送到 trans 邮件列表,还可以通过 freenode.net 上的 #fedora-l10n[?] 频道寻求帮助。
您还可以在 Transifex 上看到更多信息:http://help.transifex.net/。
成为 Fedora 翻译人员
最开始您需要注册以获得翻译材料的访问权限:
您的自我介绍非常重要。它能提升您被批准拥有写入权限的机会。您可能也想 新建一个 Bugzilla 账户 以解决用户报告的 Bug。
开始使用 Transifex
Fedora 使用 Transifex 平台来管理本地化工作流程。这些步骤会指导您新建 Transifex 账户并加入翻译团队。
新建一个 Transifex 账户
- 访问 https://fedora.transifex.net/ 并点击右上角的 "Register"
- 填写表单完成后点击 “Register!”按钮您可以使用您的 Fedora 邮箱或者您新建 Fedora 账户时使用的邮箱。选择一个好的密码(如上所述)。不过如果您忘记了的话,密码可以被重置。
- 检查您的邮箱。您应该很快能收到一封邮件用于校验您的邮箱地址。其中会有一个链接————点击它!
- 现在您应该能够用您的个人信息登录 Transifex 了。
加入与您使用的语言有关的 Fedora 翻译团队
- 访问 Fedora 团队页面,它位于 https://www.transifex.net/projects/p/fedora/teams/ 。
- 如果您的语言在里面,点击它。
- 您应该能看到成员列表、领导人(协调人)。点击 "Join this team" 以请求加入团队。
- 团队领导人将会收到有关您的请求的提醒。他会检查您的信息,检查您是否已经做过自我介绍。
- 如果一切顺利,维护者会接受您的申请,您会接到通知。
这可能会花几小时或几天的工夫。如果时间更久,请点击 Transifex 上维护者的用户名,向他发送消息询问更多信息。
订阅邮件列表
- 访问 trans 并订阅这个最主要的邮件列表。
- 等待确认邮件,它包括一个链接以确认您的订阅。点击链接确认。
检查 本地化项目团队简介 页面看看是否有一个您熟悉的语言的专用邮件列表。如果有,也请您订阅。
介绍一下自己
- 在 https://fedoraproject.org/wiki/User:Username 创建一个个人页面。这对 Fedora 贡献人员互相认识并联络非常有用。您需要先 新建一个 Fedora 账户。
- 在 https://fedoraproject.org/wiki/L10N_Self_introduction 的指导下向 trans 邮件列表和您本地团队的邮件列表发布一个简短的个人介绍。请记得提及您的 FAS 用户名和您的语言。使用这些信息,您的语言领导人可以识别您并批准您为他的团队的翻译成员。
新建一个 Bugzilla 账户
如果您被要求使用 Bugzilla,请访问 https://bugzilla.redhat.com/bugzilla/createaccount.cgi ,新建一个账户。
新建一个 Fedora 账户
下面的步骤指导您新建一个 Fedora 账户。
账户申请流程
- 要注册 Fedora 账户,首先访问 https://admin.fedoraproject.org/accounts 选择新账户。
- 填写用户名、全名和电子邮件,并点击注册!。您的密码会用电子邮件发送给您。
- 回到 https://admin.fedoraproject.org/accounts 使用您的密码登录。欢迎页面会被呈现,它会提醒您 CLA 没有完成。
- 要签署 CLA,电话号码和邮政地址区域也需要填写。这些信息不能被其他人访问,除了 admin 群组。请参阅 Fedora 隐私权策略,位于 https://fedoraproject.org/wiki/Legal:PrivacyPolicy 。
- 其他区域会显示给其他访问用户页面的成员。
- 现在点击页面底部的保存!以保存您的信息。
签署 CLA 协议
您必须完成贡献人员许可协议,即 CLA。
- 访问 https://admin.fedoraproject.org/accounts 并使用您通过前面的过程获得的用户名和密码登录。
- 在欢迎页面,点击完成 CLA 或者访问 https://admin.fedoraproject.org/accounts/user/edit 。
- 如果电话号码和邮政地址信息还没有提供,编辑账户 (用户名) 页面会出现。否则 Fedora 贡献人员许可协议页面会被呈现。请仔细阅读协议内容,如果您乐意请点击我同意。
- 用户查看页面出现,显示 CLA: 区域为已签署 CLA。
开始翻译
软件包的可翻译部分呈现为一个或多个 PO 文件。一些项目可能也会使用其他的文件格式,例如 QT TS。 这些文件可以被放在许多版本控制系统(VCS)中的任一个中维护,例如 Subversion、Mercurial 和 git,具体选择依赖于其所在的项目。 它们可能托管在 fedorahosted.org 或者其他系统上。
本章会阐述如何翻译使用 Transifex 管理 L10n 工作流程的项目。翻译人员可以使用 web 界面或者命令行获取、提交文件。在您开始之前, 您必须首先准备保存您的 po 文件的目录。
列出所有可被翻译的Fedora子项目
- 访问 https://www.transifex.net/projects/p/fedora/ 。
- 通过选择合适的 Release,选择您想要翻译的 Fedora 项目类型。您应该能看到 Fedora 本身、Fedora 文档和其他上游项目。点击您选择贡献的 release 。例如,点击指向 https://www.transifex.net/projects/p/fedora/r/fedora-15/l/ja/ 的链接。
- 新页面会显示该 release 分语言的完整统计信息。选择您的语言。
- 这个页面显示这个 release 的所有可翻译的资源(即文件)。点击表格的一行以获取您感兴趣的资源的信息。
您可以把本页面加为书签以供日后参考。下面我们把它叫做“语言-Release”页面。这是一个示例 URL:
https://www.transifex.net/projects/p/fedora/r/fedora-15/l/ja/
在线翻译
最简单的翻译方式是使用 Transifex Web 编辑器。它有一个直观的界面,不需要您下载文件到您的系统再重新上传回来。
- 遵从上面的指导以定位您感兴趣的资源。
- 在弹出层上,您应该能看到一个 "Translate Now" 的按钮。如果您已经登录到 Transifex,并且是相应语言团队的一员,它应该是可以点击的。点击它!
- 您现在应该就在使用 Transifex Web 编辑器(代号是 Lotte)了。继续下去,想翻译多少就翻译多少,最后点击 "Save and Exit"。
注意:当您在线翻译时,文件会被自动“锁上”,其他人会了解到您的工作。绝不要翻译其他翻译人员已经上锁的内容 -- 您可能会重写他自己的工作!
离线翻译
如果您更喜欢离线翻译,您可以简单地下载并上传翻译文件。
在您下载任何文件之前,我们建议您准备一个目录存储您的文件。下面描述的结构只是一个示例,您的结构可以以不同的方式组织。
mkdir -p ~/fedora-translations/
获取并翻译项目
您可以下载一个文件来翻译。您可能需要和语言团队里的其他翻译成员沟通以避免冲突。如果您不确定,请联系您的语言的协调人。锁上一个文件也可以避免可能的冲突。
- 在您的 Release-语言页面找到您想要翻译的资源(表格行)并点击使弹出层出现。
- 点击 "Download for translation" 按钮下载文件到您之前新建的目录中,文件名可以自由选择(例如 abrt.po)。
- 现在文件已经在您的本地机器上,可以被翻译了。使用一个您喜欢的 PO 编辑器例如 Lokalize 或 gtranslator 把文件翻译到您的语言。
- 在提交之前使用
msgfmt -cvo /dev/null abrt.po
检查您的文件的完整性。如果有错误信息出现,请先修正之后再提交。
请注意 Transifex 提供的所有文件都已经和 POT 文件合并过 (msgmerged)。这发生在您下载和上传文件时。
提交您的翻译内容
一旦您完成了翻译工作,使用同样的界面提交文件。
- 确定您已经登录到 Transifex。
- 回到您的 Release-语言页面,点击您想要上传到的资源。小心不要上传到不同的资源中。
- 点击 "Upload" 按钮,定位您本地系统上已翻译的文件,提交它。提交界面可能会花一些时间(对于大文件而言多达一分钟)并最终提醒您文件成功提交。如果您收到一个错误或其他信息,请把它发布到 Fedora 本地化项目邮件列表以使它可以被解决。
加入新文件
如果 release 中有资源没有翻译,您应该能从 release 页面看到它的缺失,并且能在页面底部看到一个单独的列表,如下所示:
The following resources don't have any translations in Japanese: 1) python-fedora → python-fedora.pot
- 点击它 -- 它会带您到资源的主页面。
- 点击 "Add Translation"
- 选择您的语言并点击 "Translate Online"。
- 继续并且在线翻译一些或全部字符串,然后 "Save and Exit"。
校对软件中的译文
从 Fedora 12开始,尚在制作中的 LIVE 镜像可以提前下载,以便让翻译人员在自己的运行环境中审阅和修正软件的译文。该 LIVE 镜像的制作大约会比 Fedora 软件译文定稿日(Fedora Software Translation Deadline)提前一周时间,直到最后的定稿日当天。该镜像包含制作时所有已经提交的最新译文。
要在程序内校对您的译文,请采取如下步骤:
1. 更改目录至您要校对的软件包,例如:
cd ~/myproject/system-config-printer/
2. 使用 msgmft 命令,配合 -o 参数,将 po 文件转换成 mo 文件:
msgfmt -o system-config-printer.mo ja.po
3. 备份当前文件,并用新文件覆盖。
su - cp /usr/share/locale/ja/LC_MESSAGES/system-config-printer.mo system-config-printer.mo-backup mv system-config-printer.mo /usr/share/locale/ja/LC_MESSAGES/ exit
4. 在程序内校对译文包中已经翻译的字符串,设置程序以翻译后的界面运行。
LANG=ja_JP.UTF-8 system-config-printer
翻译 Fedora 文档
翻译 Fedora 文档与翻译软件文本如出一辙,按照上述指导进行即可。请务必选择 "Fedora Documentation" 版本,该链接通向文档(Docs)专用的语言版本(Release-Language)页面。
举例说明:
https://fedora.transifex.net/projects/p/fedora/r/fedora-docs/
理解多文件结构 (Multiple Files Structure)
Fedora 文档主要使用 Publican。与软件翻译不同,帮助文档的结构包括多个po文件。每个文件对应文档中的一个章节,文件名通常和章节名称相符。这一结构非常有利于多名译员同时翻译同一份帮助文档。
新语种:创建 docbook-locales 文件
如果您正要首次创建某个新语种的译文,就必须首先翻译 docbook-locales 文件。该语种的所有文档都会用到这份文件。
- 在Transifex上找到 docbook-locales 项目: https://www.transifex.net/projects/p/fedora-docbook-locales/resource/locale/
- 如果您的语言未被列出,则添加之。
- 在 Bugzilla 上就 "Fedora Documentation" 项目下的 "docs-requests" 组件提交一个bug,其内容可以留空,或者只注明您要翻译的帮助文件名称。如有需要的话上传文件附件。如果在按照上面的指南提交po文件的时候遇到困难,可以在提交bug的时候附上该po文件。
- 在该bug的摘要(Summary)中填入下列内容: "[ja]: New language support request."
发布您的成果
当您的文档翻译已经准备好可以发布在 Fedora 文档网站 上时,请依照以下步骤提交一份正式的翻译发布请求:
- 在 Bugzilla 提交 针对 Fedora 文档产品 publishing-requests 组件的 bug。记得在描述区域注明您想要发布的文档的名称与语言版本。如果您想要一次发布多份文档,请为每份文档分别提交 bug。
- FAS 中 docs-publishers 群组的成员会被提醒有您的请求,然后会发布您的翻译。一旦翻译得到发布,他们会为您关闭 bug。
什么样的文档需要翻译
对每个 Fedora 发行版本来说最重要的文档有:
- docbook-locales
- Common Content for Publican(Publican 常规内容)
- Publican branding for Fedora
- Documentation website(文档网站)
- Release Notes(发行注记)
- Burning ISOs(刻录ISO)
- Live Image(Live 镜像)
翻译 Fedora 项目网站
Fedora 网站同样可以通过 Transifex 进行翻译。您可以在 Fedora Websites Release 找到所有 Fedora 网站相关的项目:
https://www.transifex.net/projects/p/fedora/r/fedora-websites/
下载、翻译、提交网站项目,流程和软件项目的一样。请注意新翻译不时就会拉取,根据发布状态,周期可能是每天或是每周一次。如果您注意到已经有一段时间没有更新您的翻译,您可以在网站团队的邮件列表上请求更新。通过添加 L10n 邮件列表到抄送,您可以告知其他团队您已经请求了更新。
加入新的 .po 文件
添加新的 po 文件的方式和软件项目的一致。如果您是有史以来第一次为一个 locale 新建翻译,您必须提醒 Fedora 网站团队把新语言添加到网站上。向 trans 邮件列表发布请求,以使网站团队可以把这个语言添加到网站的 Apache 配置中。
校对
一般说来,网站团队会提供测试站点以供校对。
翻译维基页面
Fedora Wiki 是项目相关信息的仓库。其中的一些页面需要被翻译以更好地服务 Fedora 社区。这一章会一步步地解释翻译维基页面的正确方法。
1.找到待翻译页面的英文版本
英语是 Fedora 项目维基的基础语言,所以首先需要有您要工作的页面的英文版本。(如果您要翻译的页面没有英文版本,参考下面的“处理没有英文版本的翻译”。)
如果页面顶部已经有一个语言模板,点击语言盒子右边的 edit 链接,跳到第 4 步;否则,继续看第 2 步。
如果您新建的页面没有英文版本,请新建一个新页面用于英文版本,添加模板 { { template|autolang } }
,
然后添加模板 {{needs english}}
。这会标识这个页面需要英文翻译,同时会新建一个基础页面。
2.在英文页面顶部加入语言框
编辑英文页面,在页面顶部添加模板 { { template|autolang} }:
{ { autolang|base=yes } }
base=yes 部分对于英文页面是必需的。保存这个页面。
3.创建语言模板
{ { template|autolang } } autolang 模板应该会提供一个链接让您设置好语言盒。点击它会出现一个编辑页面。 不要更改任何内容,保存页面。然后点击语言盒右边的 edit 链接。
4.加入您使用的语言到模板中
到这一步您应该有了一个编辑框,其中有模板语法类似:{ { lang|en|page=Base page name } }
在 lang 和 page= 之间的文本是语言代码的列表。把您打算翻译到的语言的代码添加到列表中去。 使用下面的列表确定正确的 MediaWiki 语言代码。
http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/Names.php?view=markup
请保持列表的字母序:保持语言代码的列表依照代码的字母顺序排列。举个例子,这意味着德语(de)应该出现在英语(en)之前。
5.开始创作新页面
点击对应您的语言的红色链接以打开新页面。在页面顶部插入模板 { { autolang } },以使得语言列表出现在那里。 确定非英语的子页面的模板中不包含 base=yes。
6.移动已翻译的旧页面
对于不在正确位置的已翻译页面,请遵循以上的 1-4 步。然后复制新页面的标题(例如 Fedora Project Wiki/de)。 点击就业面顶部的 move 链接,把新页面名字粘贴到新标题区域。编辑新页面,在顶部添加 { { autolang } }。
FAQ (常见问题)
这里有一些有关本地化项目的常见问题。
我应该翻译法律声明吗?
不。您绝不要那么做。法律声明的准确措辞非常重要,不被律师认可的翻译版本非常冒险。Red Hat 是 Fedora 项目的法律代表和主要赞助商,它没有资源去对每一个翻译做交叉检查。当涉及到法律事务时,保持原始的英文声明原封不动即可。
我如何报告问题?
在(通过开启新的 ticket 或发到邮件列表)报告之前,请先搜索查看是否已经有问题报告开启。如果当时有已知问题,在 #fedora-l10n 频道询问有时候也有帮助。如果没有,请开启一个 ticket 详细描述服务中的问题。包含问题的本质、项目/资源、问题发生时间(UTC)和您的 Fedora 用户名。如果您怀疑问题和您在上传的特定文件或者目标文件有关,也请包含相应信息。
发现问题应向谁报告?
- 针对仅限于Transifex的问题,应该使用网站右侧的"Feedback"(反馈)按钮来进行汇报。
- 问题报告的范围包括:Transifex相关的疑问、可能的bug、请求增加新的功能、网站使用过程中遇到的问题(如网页反应很慢,无法登录等等)。
- 不要用Feedback功能汇报Fedora项目缺失、请求创建Fedora小组、Fedora协调员等问题。
- 针对仅限于Fedora L10n的问题,应该首先在IRC的#fedora-l10n频道里汇报,然后发信至trans-邮件列表。
- 内容可以涉及小组内部提问、发布版本、项目、Fedora的维护者、开发者等。
- 不要在此汇报Transifex的bug、功能请求、网站问题(如网页反应很慢、无法登录,或因发布版本中的项目缺失导致统计数据错误等)。
如何请求添加新的功能?
请参见上条,仅限于Transifex的问题。
我怎样新建一个团队? (#new-team)
请参阅 L10N 维护人员 查看如何成为一个新语言的维护人员。
我的翻译文件已经100%完成,但我测试程序的时候还是只能看到英文字符! (#missing-strings)
顺带一提,这没什么好担心的。别放在心上。问题可能出在如下几个方面:
- 字符丢失是因为开发人员没有将其标记为译文,因此POT文件里没有这些字符,于是PO文件里当然也不会有。开发者需要对相应译文使用gettext。
- 使用intltool的时候没有选中并包含相应的源文件。
- Transifex上的POT文件没有更新。组件(component)页面有POT文件的生成日期。如果该时间过于久远(超过几个小时,例如一两天以前),请通知管理员;否则没问题。
数据统计是实时的吗?多久更新一次? (#update-frequency)
Transifex项目页面上的数据统计总是实时的。发布页面则是每天更新一次。
如何在Transifex中添加新的模块? (#add-transifex)
如果您想要 Fedora 本地化项目处理您的翻译(也就是说您不是上游项目):
- 在您的项目详情(Project Details)页面点击 'Access Control'
- 外包团队控制权给 Fedora 项目("The Fedora Project")
- 发送邮件到 fedora-trans-list 让贡献人员知道这项更改。Fedora L10n Editors 之一会把您的项目加入到 Fedora 发行之中。
您可能还想要阅读下面的两个链接:
- http://lists.fedoraproject.org/pipermail/trans/2011-January/008573.html
- http://lists.fedoraproject.org/pipermail/docs/2011-February/013109.html
我是开发者,怎样才能连.desktop文件一起翻译?
Transifex很快就会内置对.desktop文件的支持。
我找不到字符串"About this Computer",它在哪儿?
可以在AboutThisComputer找到。
fedoraproject.org/get-fedora 页面底部显示的出口原则(export regulations)一节可以翻译吗?
不。它被特意设置为不可翻译。请参考 Non-translatable export regulations?。
如果一些字符串更改过了字符串冻结(string freeze),我怎样请求打破字符串冻结?
向 trans 邮件列表发送邮件!
万一我错误地覆盖了文件怎么办?
如果您错误地覆盖了一个您自己语言的文件,尝试在开发人员的 git 仓库 (http://git.fedorahosted.org/git/) 里找到旧文件并替换被错误更新的文件。
尽管有办法改正错误,我们强烈建议您在通过 Transifex 提交翻译时格外的小心,确保您上传文件到了正确的位置正确的语言下,因为一些项目不会在他们的 CVS 树下保留翻译文件(我说 "Anaconda" 了吗? oO)
我来自文档项目。我怎样使我的指南 / 发行注记 / 其他文档可以被翻译?
如果您把文档放在 git 仓库里,参见 Setting up a document with Transifex 以查看如何使它对 Transifex.net 上的翻译人员可见。
本指南编写人员
以下人员参与翻译本中文页面:
- Alick Zhao――翻译
- Christopher Meng――校对
- Lex Zhou――翻译
以下人员参与完善原始英文页面:
- Manuel Ospina
- Paul W. Frields
- Noriko Mizumoto
- Dimitris Glezos
- Diego Búrigo Zacarão
- Piotr Drąg
- Misha Shnurapet
- Petr Kovar