From Fedora Project Wiki

本页面要介绍什么

  • 本页面介绍本地化规范
  • 本页面分享本地化经验
本文不介绍什么
请务必阅读 L10N/Guide 以了解加入 Fedora 本地化项目的步骤,阅读 自由软件中文化指南 学习本地化流程及方法。这里不会对其中涵盖的内容重复介绍。

谁应该阅读

  • 有兴趣加入本地化的志愿者
  • 有兴趣测试本地化成果的志愿者
  • Fedora 中文本地化项目贡献人员
  • 其他对本地化工作感兴趣的朋友

本地化规范

(标点)符号规范(软件及文档)

句号(.)

当“.”用于表示版本号,时间、日期等非标点符号用途时,翻译中应继续使用“.”;当“.”做标点符号使用时,翻译中改为中文句号“。”

原文 译文 注释
Fedora 19 features the 3.9.0 kernel. Fedora 19 采​用​ 3.9.0 内​核​。 3.9.0 是版本号,因此“.”不能改为“。”。句末尾“.”做为句号使用,翻译中使用中文句号“。”。
You may also find assistance on the #fedora channel on the IRC net irc.freenode.net. 同​时​您​也​可​以​通​过​ IRC 网​络​ irc.freenode.net 的​ #fedora 频​道​获​得​帮​助 其中的“.”用于网址。翻译中应继续使用“.”。

逗号/顿号

括号(及译文中的扩展使用)

  1. 文档翻译:文档翻译中,如果译文中括号内是半角字符或数字,则使用英文半角括号,并在括号与两侧文字间保留一个空格;如果译文括号内包含双字节字符(比如,汉字),则使用中文全角括号,括号与外面文字之间不留空格。例如:
    原文 译文 注释
    ...with the <package>reSIProcate</package> (repro) SIP proxy and <package>reTurnServer</package>... ...包括 <package>reSIProcate</package> (repro) SIP 代理和 <package>reTurnServer</package>... 由于括号中内容为英文内容 "repro",因此括号使用英文半角括号并且括号外与其它字符间保留一个空格
    and run either from your desktop's application menu (under Programming) 既可以从桌面应用程序菜单运行(位于编程菜单) 译文中括号内为汉字,因此括号采用中文全角括号
    ' ' '
  2. 软件翻译/字符界面翻译:软件界面和字符界面中,译文均使用英文半角括号。如果括号外为英文或数字等半角字符,则与括号间要保留一个空格。例如:
    原文 译文 注释
    ' ' '
    ' ' '
    ' ' '
  3. 扩展使用:有时原文中会出现一些不常见的词语、缩写或术语等等,这些内容可能没有通用性,可能也没有统一、标准的翻译,或者干脆是新出现的。在翻译这类内容时,如果直接将这些缩写或术语翻译过来,可能会让读者/用户对译文迷惑不解,甚至是误解。这样就与本地化的初衷相悖。因此为了解决这个问题,可以在译文后使用括号引用原始内容。比如:
    原文 译文 注释(示例不是特别贴切,可替换)
    ...the graphical programming environment from the <literal>Lifelong Kindergarten Group</literal> ...终身幼稚园团队 (Lifelong Kindergarten Group) 创造的图形编程环境。 '
    Rich Language for rule configuration 富​语​言 ​(Rich Language) 用​于​防​火​墙​规​则​配​置 '

    在软件翻译中以这种方式使用括号时,要考虑排版,界面等因素。以防止译文超出软件界面造成显示不完整的情况发生。

省略号

破折号

冒号

与“.”用法类似,做为标点符号使用时,冒号应在翻译中改为中文冒号;做分隔符用于时间或其它用途时,翻译中应继续使用英文“:”。

原文 译文 注释(示例不是特别贴切,可替换)
For news and details about the Cinnamon project, visit http://cinnamon.linuxmint.com 有​关​ Cinnamon 的​新​闻​和​细​节​可​访​问​ http://cinnamon.linuxmint.com 这里的“:”非标点符号,因此翻译中不做改变。
' ' '

更多本地化规范可参考:

本地化注意事项

您需要翻译什么?

  1. PO 文件简介(translate.fedoraproject.org 在线进行翻译时可跳过本部分

Fedora 本地化项目主要包括 Fedora 操作系统本地化、Fedora 网站本地化、Fedora 文档本地化以及 Fedora 社区在线内容(维基页面)本地化。 前三者主要采用 PO 文件翻译实现,而社区在线内容则是直接进行翻译。 以下以 PO 文件为例,解释需要翻译的内容。

# Translations template for PROJECT.
# Copyright (C) 2012 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# 
# Translators:
# translator <translator@fedoraproject.org>, 2008, 2009, 2010, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Fedora Account System\n"
"Report-Msgid-Bugs-To: https://fedorahosted.org/fas/report/3\n"
"POT-Creation-Date: 2012-01-30 10:23-0800\n"
"PO-Revision-Date: 2012-02-16 21:11+0800\n"
"Last-Translator: translator <translator@fedoraproject.org>\n"
"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/fedora/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0\n"

以上是一个 PO 文件的开始部分。“#”开头的部分是注释部分,包括翻译文件的版权信息,翻译人员信息等等。接下来以双引号开始的内容,则是 PO 文件的格式、修改历史等等内容。对于翻译人员来说,这部分并不是要翻译的部分。在您使用 Poedit 等翻译软件进行 PO 文件翻译时,上述内容并不会出现。 但是,这并不代表以上内容不重要。 一个完整、准确、清晰的 PO 文件注释,就像是 PO 文件的摘要一样。可以让其它翻译人员清楚的了解 PO 文件的概况,以及已有的翻译人员信息。在发现 PO 文件翻译问题时,可通过注释里的联系方式联系到翻译人员。

#: fas/auth.py:360
#, python-format
msgid "%s membership required before application to this group is allowed"
msgstr "在申请加入此组之前您要成为 %s 成员"

#: fas/configs.py:126
#, python-format
msgid "You cannot look at configs for %s"
msgstr "您无法查看 %s 的配置"

#: fas/configs.py:167
#, python-format
msgid "You cannot edit configs for %s"
msgstr "您不能编辑 %s 的配置"

#: fas/configs.py:191
#, python-format
msgid "Error saving the config to the database: %s"
msgstr "向数据库保存配置时出错:%s"

以上是 PO 文件的“正文”部分,也就是需要翻译人员发力的地方。其中 msgid 一行中引号内的内容为原始未翻译语句,msgstr 一行中引号内的内容是翻译的内容。做为翻译人员,msgid 行的内容是不建议您去直接更改的。如果您发现该行内存在问题,可向维护/开发人员联系,或提交 bug。请注意:对于使用 Poedit 或在线翻译 (如 transifex.net) 的用户,并不会看到 msgid 和 msgstr 以及双引号,它们会直接显示原文或翻译内容。

The <package>Window Switcher</package> now has six possible layouts. You can choose between layouts in the <package>System Settings</package> application.
翻译为:
<package>Window Switcher</package> 目前有六种布局。您可在 <package>系统设置</package> 中切换布局。

上面内容摘自 Fedora 17 发行注记的 Desktop PO 文件,原文中带有 <package> 标记,这类标记主要用于表现所翻译内容的样式、格式等等,本身并不需要翻译,而其中的内容仍需要根据具体情况进行翻译。比如:

<filename>/run/media/$USER/</filename>
译为
<filename>/run/media/$USER/</filename>  ##文件名或目录保留原文

<primary>Dolphin</primary>
译为
<primary>Dolphin</primary>  ##软件包名称保留原文

<primary>Reporting</primary> <secondary>Bug and Feature Request</secondary>
译为
<primary>报告</primary> <secondary>Bug 与特性请求</secondary>

怎样检验您的翻译是否具有价值?

这里的价值当然不是指翻译到底有多少经济利益:D 这个价值,简单地说,就是指您的翻译对最终用户有没有用处,有多大用处。 我们还是通过举例来说明。

您翻译的语句是否准确、简洁、到位?

准确

准确是翻译的一个基本点。不准确的翻译可能会让读者感到莫名其妙。(例如 wget 1.12 中将 eta 翻译为“英国中部时间”,实为“估时”)

容易在准确性上出问题的情况往往是不清楚上下文的多义词。拿到的 PO 文件中有些原文只是单词或者短语,难以琢磨具体含义。有时候开发者会给翻译人员留下一些注记,提示词句的语境。这些注记会出现在词条上方的注释中。此时一定要好好利用这些解释说明,弄清具体含义。

然而不是所有的都有额外的注释。对于缺少注释而拿不准的条目,最好从版本库或者源码包中找到源代码,阅读代码中的上下文。PO 文件中显示了词条对应的源代码文件名和行数,对此很有帮助。

简洁

一般说来,常用的首字母缩写词在第一次出现时尽量给出英文全称和中文翻译,之后则可以直接使用首字母缩写词。

翻译时可以考虑使用简洁明了的成语。

到位

有时翻译原文中会有多个程序中变量的占位符(如%s),而翻译时不调整其顺序无法将意思表述到位。对于这个问题,我们需要对不同编程语言得到的 PO 文件区别对待。对于 C/C++ 程序源码中提取的词条,可以使用类似 %1$s 的带位置标志的占位符。对于 Python 程序,则需要联系开发者,请求给出类似 %(word)s 的带含义标志的占位符。

翻译的一致性

开源项目的翻译往往由多个志愿者参与完成。每个人可能有自己的习惯,所以翻译的一致性较难保证。对此我们建议利用以下资源或途径减少不一致的出现:

  • 已有译文。请大家翻译前浏览下已有的翻译内容,一来了解翻译风格习惯,二来可以帮助校对。
  • 术语表。本地化贡献人员整理了一份术语表(维基版本git仓库中最新版),可供翻译时参考。也欢迎大家丰富、更新这一术语表。另外还有一个 GNOME, KDE 术语的查询界面,微软术语表也提供查询界面,可供参考。
  • 网络搜索结果以及词典条目。可以考虑借助网络搜索了解常用翻译,借助词典明晰词义。
  • 邮件列表讨论。对于拿捏不准的词句和段落,可以发邮件到 trans-zh_cn 列表,与全体本地化贡献人员讨论。

翻译要避免什么

  • 错别字

错别字也许是翻译中最容易出现也是最不容易找到的问题之一,但却是最让人恼火的错误之一。举例说明:

Fedora 由 红帽赞助,石阶上最受信赖的开源技术提供商。

很明显,石阶应该是”世界“才对。

  • 对时态不做僵硬转换
  • 通常不翻译不定冠词

英文中常出现 a、an 等词。如果做不定冠词的话,多数情况是不翻译的。也就是说我们不能把它翻译成一个什么什么。举例说明:

...if you have a fast Internet connection available...

如果翻译做:

如果您有一个高速的网络连接……

,没什么问题。但是如果翻译做

如果您有高速网络连接……

会更好些。

  • 情态动词的翻译
您已选择跳过引导装载程序安装。您的系统将无法引导。
You have chosen to skip bootloader installation. Your system may not be bootable.

这里 may 有“可能”的意思,直接翻译成“将”是错误的,让用户会认为不安装,即无法引导。而事实上,是可能无法引导(如果没有任何引导程序存在的话)。

要逐字翻译吗?

不一定。 (加入实例)