From Fedora Project Wiki

Fedora 本地化工作向导(不断完善中。。。)

简介

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

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


Fedora 本地化项目的网址为 https://fedora.transifex.net/

寻求帮助

您可以将问题张贴到 trans 邮件列表,还可以通过因特网中继聊天(IRC)在 irc.freenode.org 上的 #fedora-l10n 房间寻求帮助。

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

成为 Fedora 翻译人员

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

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

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

开始使用 Transifex

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

http://fedora.transifex.net/

新建一个 Transifex 账户

  1. 访问 https://fedora.transifex.net/ 并点击右上角的 "Register"
  2. 填写表单点击 Register!您可以使用您的 Fedora 邮箱或者您新建 Fedora 账户时使用的邮箱。选择一个好的密码(如上所述)。不过如果您忘记了的话,密码可以被重置。
  3. 检查您的邮箱。您应该很快能收到一封邮件用于校验您的邮箱地址。其中会有一个链接 — 点击它!
  4. 现在您应该能够用您的资料登录 Transifex 了。

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

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

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

订阅邮件列表

  1. 访问 https://admin.fedoraproject.org/mailman/listinfo/trans 并订阅这个主要的翻译邮件列表。
  2. 等待确认邮件,它包括一个链接以确认您的订阅。点击链接确认。

检查 https://fedoraproject.org/wiki/L10N/Teams 看看是否有一个您的语言的专门的邮件列表。如果有,请也订阅那个列表。

介绍一下自己

  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.net/projects/p/fedora/
  2. 通过选择合适的 Release,选择您想要翻译的 Fedora 项目类型。您应该能看到 Fedora 本身、Fedora 文档和其他上游项目。点击您选择贡献的 release 。例如,点击指向 https://www.transifex.net/projects/p/fedora/r/fedora-15/l/ja/ 的链接。
  3. 新页面会显示该 release 分语言的完整统计信息。选择您的语言。
  4. 这个页面显示这个 release 的所有可翻译的资源(即文件)。点击表格的一行以获取您感兴趣的资源的信息。

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

https://www.transifex.net/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.net/projects/p/fedora/r/fedora-docs/


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

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

新语种:创建 docbook-locales 文件

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

  1. 在Transifex上找到 docbook-locales 项目: https://www.transifex.net/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.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://fedoraproject.org/wiki 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)

  1. Navigate to https://www.transifex.net/projects/add/
  2. Follow the instructions from http://help.transifex.net/intro/projects.html

If you want the Fedora Localization Project to handle your translations (i.e. you are NOT an upstream project):

  1. Click 'Access Control' on your Project Details Page
  2. Outsource team control to "The Fedora Project"
  3. Send an email to fedora-trans-list and let the contributors know about the change. One of the Fedora L10n Editors will add your project to one of the Fedora releases.

http://fedora.transifex.net/


Here are two more pages you might want to read:

我是开发者,怎样才能连.desktop文件一起翻译?

Transifex很快就会内置对.desktop文件的支持。

我找不到字符串"About this Computer",它在哪儿?

可以在AboutThisComputer找到。

fedoraproject.org/get-fedora 页面底部显示的出口原则(export regulations)一节可以翻译吗?

不。它特意被设置为不可翻译。请参考 Non-translatable export regulations?

If some strings change past string freeze, how do I request a string freeze breakage?

Email the trans mailing list!

万一我错误地覆盖了文件怎么办?

如果您错误地覆盖了一个您自己语言的文件,尝试在开发人员的 git 仓库([1])里找到旧文件并替换被错误更新的文件。

尽管有办法改正错误,我们强烈建议您在通过 Transifex 提交翻译时格外的小心,确保您上传文件到了正确的位置正确的语言下,因为一些项目不会在他们的 CVS 树下保留翻译文件(我说 "Anaconda" 了吗? oO)

I'm from the Docs Project. How do I make my Guide / Release Notes / other document available for translation?

If you keep you document in a git repository, see Setting up a document with Transifex to find out how to make it available to translators on Transifex.net.

本指南编写人员

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

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

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