From Fedora Project Wiki

< L10N‎ | Guide

本页面信息已过时
新版本地化指南 https://fedoraproject.org/wiki/L10N/Translate_on_Zanata/zh-cn

Fedora 本地化工作指南

简介

这份指南为翻译 Fedora 项目和文档提供一个快捷、简便、带有步骤的指导。您可以在本页面的末尾找到 FAQ。

我们需要反馈!
如果您发现了这份手册里的拼写错误,或者您想到了改进本手册的方法,请直接编辑本页面或者直接向 Fedora 本地化项目的邮件列表发送邮件。如果您有改进文档的建议,请尽可能具体地阐述出来。如果您发现了错误,请在报告中包含章节编号和部分上下文以便我们能容易地定位。


Fedora 本地化项目在线协作的网址为 https://fedora.transifex.com/

寻求帮助

您可以将问题发送到 trans 邮件列表,还可以通过 freenode.net 上的 #l10n:fedoraproject.org(other clients|?) 频道寻求帮助。

您还可以在 Transifex 上看到更多信息:http://help.transifex.com/

成为 Fedora 翻译人员

最开始您需要注册以获得翻译材料的访问权限:

  1. 新建一个 Transifex 账户
  2. 订阅邮件列表
  3. 介绍一下自己
  4. 加入与您使用的语言有关的Fedora 翻译团队

您的自我介绍非常重要。它能提升您被批准拥有写入权限的机会。您可能也想 新建一个 Bugzilla 账户 以解决用户报告的 Bug。

开始使用 Transifex

Fedora 使用 Transifex 平台来管理本地化工作流程。这些步骤会指导您新建 Transifex 账户并加入翻译团队。

http://fedora.transifex.com/

新建一个 Transifex 账户

  1. 访问 https://fedora.transifex.com/ 并点击右上角的 "Log in",并在接下来显示的页面中单击“创建一个账户”
  2. 填写表单完成后点击 “创建您的账号”按钮您可以使用您的 Fedora 邮箱或者您新建 Fedora 账户时使用的邮箱。选择一个好的密码(如上所述)。不过如果您忘记了的话,密码可以被重置。
  3. 在接下来出现的欢迎页面中,填写您的全名,并且选择您的角色为“开源贡献者”,并选择条目:“我是一名贡献者,我想帮忙翻译一个已经在 Transifex 上的项目。”在选择语言后单击“转到您的仪表盘“
  4. 检查您的邮箱。您应该很快能收到一封邮件用于校验您的邮箱地址。其中会有一个链接————点击它!
  5. 现在您应该能够用您的个人信息登录 Transifex 了。

加入与您使用的语言有关的 Fedora 翻译团队

  1. 访问 Fedora 团队页面,它位于 https://www.transifex.com/fedora/public/
  2. 如果您的语言在里面,点击它。
  3. 您应该能看到成员列表、领导人(协调人)。点击 "Join this team" 以请求加入团队。
  4. 团队领导人将会收到有关您的请求的提醒。他会检查您的信息,检查您是否已经做过自我介绍。
  5. 如果一切顺利,维护者会接受您的申请,您会接到通知。

这可能会花几小时或几天的工夫。如果时间更久,请点击 Transifex 上维护者的用户名,向他发送消息询问更多信息。

订阅邮件列表

  1. 访问 trans 并订阅这个最主要的邮件列表。
  2. 等待确认邮件,它包括一个链接以确认您的订阅。点击链接确认。

检查 本地化项目团队简介 页面看看是否有一个您熟悉的语言的专用邮件列表。如果有,也请您订阅。

介绍一下自己

  1. https://fedoraproject.org/wiki/User:Username 创建一个个人页面。这对 Fedora 贡献人员互相认识并联络非常有用。您需要先 新建一个 Fedora 账户
  2. https://fedoraproject.org/wiki/L10N_Self_introduction 的指导下向 trans 邮件列表和您本地团队的邮件列表发布一个简短的个人介绍。请记得提及您的 FAS 用户名和您的语言。使用这些信息,您的语言领导人可以识别您并批准您为他的团队的翻译成员。

新建一个 Bugzilla 账户

如果您被要求使用 Bugzilla,请访问 https://bugzilla.redhat.com/bugzilla/createaccount.cgi ,新建一个账户。

新建一个 Fedora 账户

下面的步骤指导您新建一个 Fedora 账户。

账户申请流程

  1. 要注册 Fedora 账户,首先访问 https://admin.fedoraproject.org/accounts 选择新账户。
  2. 填写用户名、全名和电子邮件,并点击注册!。您的密码会用电子邮件发送给您。
  3. 回到 https://admin.fedoraproject.org/accounts 使用您的密码登录。欢迎页面会被呈现,它会提醒您 CLA 没有完成。
  4. 要签署 CLA,电话号码和邮政地址区域也需要填写。这些信息不能被其他人访问,除了 admin 群组。请参阅 Fedora 隐私权策略,位于 https://fedoraproject.org/wiki/Legal:PrivacyPolicy
  5. 其他区域会显示给其他访问用户页面的成员。
  6. 现在点击页面底部的保存!以保存您的信息。

签署 CLA 协议

您必须完成贡献人员许可协议,即 CLA。

  1. 访问 https://admin.fedoraproject.org/accounts 并使用您通过前面的过程获得的用户名和密码登录。
  2. 在欢迎页面,点击完成 CLA 或者访问 https://admin.fedoraproject.org/accounts/user/edit
  3. 如果电话号码和邮政地址信息还没有提供,编辑账户 (用户名) 页面会出现。否则 Fedora 贡献人员许可协议页面会被呈现。请仔细阅读协议内容,如果您乐意请点击我同意。
  4. 用户查看页面出现,显示 CLA: 区域为已签署 CLA。

开始翻译

软件包的可翻译部分呈现为一个或多个 PO 文件。一些项目可能也会使用其他的文件格式,例如 QT TS。 这些文件可以被放在许多版本控制系统(VCS)中的任一个中维护,例如 Subversion、Mercurial 和 git,具体选择依赖于其所在的项目。 它们可能托管在 fedorahosted.org 或者其他系统上。

本章会阐述如何翻译使用 Transifex 管理 L10n 工作流程的项目。翻译人员可以使用 web 界面或者命令行获取、提交文件。在您开始之前, 您必须首先准备保存您的 po 文件的目录。

Fedora 和上游项目
使用 Transifex,您可以同时向 Fedora 和其上游项目贡献力量。Fedora 自身项目中,Fedora 是维护和处理的上游。它们通常只用于 Fedora。

列出所有可被翻译的Fedora子项目

并不是所有项目都在这里
目前,我们正在清理部分已经死亡的项目。您可以帮助我们,具体请见 这里
  1. 访问 https://www.transifex.com/projects/p/fedora/
  2. 通过选择合适的 Release,选择您想要翻译的 Fedora 项目类型。您应该能看到 Fedora 本身、Fedora 文档和其他上游项目。点击您选择贡献的 release 。例如,点击指向 https://www.transifex.com/projects/p/fedora/r/fedora-15/l/ja/ 的链接。
  3. 新页面会显示该 release 分语言的完整统计信息。选择您的语言。
  4. 这个页面显示这个 release 的所有可翻译的资源(即文件)。点击表格的一行以获取您感兴趣的资源的信息。

您可以把本页面加为书签以供日后参考。下面我们把它叫做“语言-Release”页面。这是一个示例 URL:

https://www.transifex.com/projects/p/fedora/r/fedora-15/l/ja/


image


image

在线翻译

最简单的翻译方式是使用 Transifex Web 编辑器。它有一个直观的界面,不需要您下载文件到您的系统再重新上传回来。

  1. 遵从上面的指导以定位您感兴趣的资源。
  2. 在弹出层上,您应该能看到一个 "Translate Now" 的按钮。如果您已经登录到 Transifex,并且是相应语言团队的一员,它应该是可以点击的。点击它!
  3. 您现在应该就在使用 Transifex Web 编辑器(代号是 Lotte)了。继续下去,想翻译多少就翻译多少,最后点击 "Save and Exit"。

注意:当您在线翻译时,文件会被自动“锁上”,其他人会了解到您的工作。绝不要翻译其他翻译人员已经上锁的内容 -- 您可能会重写他自己的工作!

image

离线翻译

如果您更喜欢离线翻译,您可以简单地下载并上传翻译文件。

在您下载任何文件之前,我们建议您准备一个目录存储您的文件。下面描述的结构只是一个示例,您的结构可以以不同的方式组织。

mkdir -p ~/fedora-translations/

获取并翻译项目

您可以下载一个文件来翻译。您可能需要和语言团队里的其他翻译成员沟通以避免冲突。如果您不确定,请联系您的语言的协调人。锁上一个文件也可以避免可能的冲突。

  1. 在您的 Release-语言页面找到您想要翻译的资源(表格行)并点击使弹出层出现。
  2. 点击 "Download for translation" 按钮下载文件到您之前新建的目录中,文件名可以自由选择(例如 abrt.po)。
  3. 现在文件已经在您的本地机器上,可以被翻译了。使用一个您喜欢的 PO 编辑器例如 Lokalize 或 gtranslator 把文件翻译到您的语言。
  4. 在提交之前使用 msgfmt -cvo /dev/null abrt.po 检查您的文件的完整性。如果有错误信息出现,请先修正之后再提交。

请注意 Transifex 提供的所有文件都已经和 POT 文件合并过 (msgmerged)。这发生在您下载和上传文件时。

提交您的翻译内容

一旦您完成了翻译工作,使用同样的界面提交文件。

  1. 确定您已经登录到 Transifex。
  2. 回到您的 Release-语言页面,点击您想要上传到的资源。小心不要上传到不同的资源中。
  3. 点击 "Upload" 按钮,定位您本地系统上已翻译的文件,提交它。提交界面可能会花一些时间(对于大文件而言多达一分钟)并最终提醒您文件成功提交。如果您收到一个错误或其他信息,请把它发布到 Fedora 本地化项目邮件列表以使它可以被解决。

加入新文件

如果 release 中有资源没有翻译,您应该能从 release 页面看到它的缺失,并且能在页面底部看到一个单独的列表,如下所示:

The following resources don't have any translations in Japanese:
1) python-fedora → python-fedora.pot
  1. 点击它 -- 它会带您到资源的主页面。
  2. 点击 "Add Translation"
  3. 选择您的语言并点击 "Translate Online"。
  4. 继续并且在线翻译一些或全部字符串,然后 "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.com/projects/p/fedora/r/fedora-docs/


理解多文件结构 (Multiple Files Structure)

Fedora 文档主要使用 Publican。与软件翻译不同,帮助文档的结构包括多个po文件。每个文件对应文档中的一个章节,文件名通常和章节名称相符。这一结构非常有利于多名译员同时翻译同一份帮助文档。

新语种:创建 docbook-locales 文件

如果您首次创建某个新语种的译文,就必须首先翻译 docbook-locales 文件。该语种的所有文档都会用到这份文件。

  1. 在 Transifex 上找到 docbook-locales 项目: https://www.transifex.com/projects/p/fedora-docbook-locales/resource/locale/
  2. 如果您的语言未被列出,则添加之。
  3. 在 Bugzilla 上就 "Fedora Documentation" 项目下的 "docs-requests" 组件提交一个 bug,其内容可以留空,或者只注明您要翻译的帮助文件名称。如有需要的话上传文件附件。如果在按照上面的指南提交 po 文件的时候遇到困难,可以在提交 bug 的时候附上该 po 文件。
  4. 在该 bug 的摘要(Summary)中填入下列内容: "[ja]: New language support request."

发布您的成果

当您的文档翻译已经准备好可以发布在 Fedora 文档网站 上时,请依照以下步骤提交一份正式的翻译发布请求:

  1. Bugzilla 提交 针对 Fedora 文档产品 publishing-requests 组件的 bug。记得在描述区域注明您想要发布的文档的名称与语言版本。如果您想要一次发布多份文档,请为每份文档分别提交 bug。
  2. FAS 中 docs-publishers 群组的成员会被提醒有您的请求,然后会发布您的翻译。一旦翻译得到发布,他们会为您关闭 bug。
发布翻译的其他方式
上面的步骤并不影响那些已经习惯于发布自己文档翻译的翻译团队。只要缺少必要人力或知识在 Fedora 文档网站上发布文档的翻译团队才需要在 Bugzilla 提交 bug 以发布他们的文档翻译。
成为 FAS 中 docs-publishers 群组的成员
如果您乐意帮忙处理发布过程,成为 FAS 中 docs-publishers 群组的成员,请联系 文档项目。为加速整个过程,建议翻译团队中至少有一个成员也在 FAS 的 docs-publishers 群组中以处理团队的发布请求。

什么样的文档需要翻译

对每个 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.com/projects/p/fedora/r/fedora-websites/

下载、翻译、提交网站项目,流程和软件项目的一样。请注意新翻译不时就会拉取,根据发布状态,周期可能是每天或是每周一次。如果您注意到已经有一段时间没有更新您的翻译,您可以在网站团队的邮件列表上请求更新。通过添加 L10n 邮件列表到抄送,您可以告知其他团队您已经请求了更新。 如果您认为已经 100% 完成您的翻译,却发现依然有英文字符串出现,请反馈至 这里

加入新的 .po 文件

添加新的 po 文件的方式和软件项目的一致。如果您是有史以来第一次为一个 locale 新建翻译,您必须提醒 Fedora 网站团队把新语言添加到网站上。向 websites 邮件列表发送更改请求或者 在这里提交一个 Ticket,以使网站团队可以把这个语言添加到网站的 Apache 配置中。

校对

一般说来,网站团队会提供测试站点以供校对。

翻译维基页面

请移步:维基页面翻译快速指南

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)

  1. 前往 https://www.transifex.com/projects/add/
  2. 遵循 http://help.transifex.com/intro/projects.html 页面的指导

如果您想要 Fedora 本地化项目处理您的翻译(也就是说您不是上游项目):

  1. 在您的项目详情(Project Details)页面点击 'Access Control'
  2. 外包团队控制权给 Fedora 项目("The Fedora Project")
  3. 发送邮件到 fedora-trans-list 让贡献人员知道这项更改。Fedora L10n Editors 之一会把您的项目加入到 Fedora 发行之中。

http://fedora.transifex.com/


您可能还想要阅读下面的两个链接:

我是开发者,怎样才能连.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 上的翻译人员可见。

本指南编写人员

以下人员参与翻译本中文页面:

以下人员参与完善原始英文页面:

  • Manuel Ospina
  • Paul W. Frields
  • Noriko Mizumoto
  • Dimitris Glezos
  • Diego Búrigo Zacarão
  • Piotr Drąg
  • Misha Shnurapet
  • Petr Kovar