如何参与本地化项目

庆祝 Gnome 3.20 发布

分享人:程路

@DawnDIY

先提一个问题

有多少人吐槽过自己用过的好与不好的软件?

99.99% 吐槽

吐槽之后你又做了什么?

我与Gnome3的接触

Ubuntu 11.04 第一次应用 Unity 桌面

Ubuntu 11.10 Gnome3已经添加到默认源中

《PyGTK/PyGObject 学习笔记 系列》

从一篇博文说起

参与本地化项目

  • 创建帐号
  • 加入翻译小组
  • 寻找翻译对象
  • 贡献翻译
  • 关注审阅状态

创建帐号

注册:http://l10n.gnome.org/register/

注意修改自己的详细资料,添加联系方式(邮件)

加入翻译小组

在自己的贡献者页面上选择要加入的翻译小组,

成为小组中的翻译者。

组员角色

翻译者

主动加入翻译小组的人员,可以在po文件页面评论、占用文件进行翻译和上传新的翻译。

审阅者

审阅者是小组指定的审阅新翻译的人员,他们有翻译者可用的全部权限,此外还有用于完成审阅的几个操作(占用文件进行审阅、标记翻译为可以提交等)的权限。

提交者

提交者是小组中有权限将翻译提交到 GNOME 仓库并使之可以在软件下一次发布时一并被发行的人。如果没有提交者进行操作,所有的翻译、审阅都仅仅是在此网页平台上,而不能被应用到实际的仓库中。

寻找翻译对象

质量优先,强烈不赞成翻译自己不熟悉的软件或文档

可以从翻译用户界面开始、然后在尝试翻译文档

无状态 - 如果没有状态文本,说明此处正等待有人来占用,以进行翻译或改进。

 

正在翻译 - 这说明已经有人占用了词文件并在进行工作,此时翻译文件不能再被其他人占用以避免发生重复工作。如果有人长时间占用了一个文件,您可以取询问他/她是否愿意放弃这个占用。

 

已翻译 - 这说明已经有人完成了一个版本的翻译,并且上传到了站点上。此时翻译正在等待审阅和提交。

 

待审 - 此状态说明翻译者要求其他人应当帮助检查他/她的翻译。

 

正在审阅 - 词状态说明小组中的审阅人员正在审阅翻译者提交的文件。

 

待提交 - 这意味着审阅者已经查看并修改了翻译文件,此时翻译文件已经达到可以提交到仓库并发行给所有用户的质量。

贡献翻译&翻译流程

在翻译列表中找到感兴趣并无状态待翻译的文件,进入界面后选择“占用此文件并进行翻译”

完成后上传新的翻译文件,等待审阅人员的审阅。

关注审阅状态

上传新的翻译文件后,审阅者会进行审核并给出结果。待提交或其他结果。翻译者可以关注diff中的不同,查看审阅者给出的意见并学习。

翻译PO文件

  • 基本要求
  • 翻译工具
  • 关于复数
  • 关于参数
  • 关于空格

基本要求

  1. 准确表述原文的意思
  2. 中文应该意思清晰且符合中文表达习惯
  3. 原文如果表达不清晰,中文应该意译,并且应根据上下文和注释进行推断并填补相应的信息
  4. 情况 3 不能太多
  5. 对同样短语的翻译,前后必须一致。

翻译工具

文本编辑器或PO编辑器

  • Poedit
  • Gtranslator

关于复数

PO文件头

Plural-Forms: nplurals=1; plural=0;

nplurals 表示译文单复数变化形式的总数量,它是一个正整数。中文里一般没有单复数区分,也就 是说没有复数变化, 所以一般情况下 nplurals=1;

plural 表示原文中表示“n 个”的概念的时候应用复数形式,这里是一个非负整数,可以是一个 C 语言表达式的值,该值必须小于 nplurals 且非负。对于中文而言,可以取到的值只有 0,于是 plural=0。

关于参数

有时候原来的参数顺序不符合中文的语法,一方面, 翻译可以通过调整副词、语序等手法来符合中文习惯,另外一方面,在必要的情况下,需要改变参数的位置

msgid "%d articles match rule %d"
msgstr "匹配规则 %2$d 的文章有 %1$d 个"

用 1$、2$、3$ 等符号标明参数在原文里出现的位置。同时,任何一个参数的顺序进行了调整, 则在这一句译文中所有参数都必须注明原文位置,否则无法通过格式检查。

关于空格

为了美观,通常建议在中文与英文、中文与阿拉伯数字、英文与阿拉伯数字之间加入一个半角空格。

msgid "Installing driver for %1"
msgstr "正在安装 %1 的驱动程序"

msgid ""
"Parameter start_num specifies the character at which to start the search. "
"The first character is character number 1. If start_num is omitted, it is "
"assumed to be 1."
msgstr ""
"参数 start_num 指定开始搜索的字符位置。第一个字符序号为 1。如果省略 "
"start_num,默认它为 1。"

更多

自由软件中文化工作指南(L10N)

http://people.ubuntu.com/~happyaron/l10n/l10n-guide-zh-cn.pdf

GNOME Translation Project Wiki

https://wiki.gnome.org/TranslationProject/

分享一个失误

第一次参加翻译时直接把原文 "translator-credits" 翻译成 "致谢译者"

谢谢

分享人:程路

@DawnDIY

Made with Slides.com