From Fedora Project Wiki

 
(28 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== 本页面要介绍什么 ==
== 本页面要介绍什么 ==
* 本页面'''不介绍'''加入 Fedora 本地化项目步骤 -[[L10N/Guide|为什么?]]
* 本页面'''不介绍'''本地化流程及方法 -[http://people.ubuntu.com/~happyaron/l10n/l10n-guide-zh-cn.pdf 为什么?]
* 本页面'''介绍'''本地化规范
* 本页面'''介绍'''本地化规范
* 本页面'''分享'''本地化经验
* 本页面'''分享'''本地化经验
{{admon/note|本文不介绍什么|请务必阅读 [[L10N/Guide]] 以了解加入 Fedora 本地化项目的步骤,阅读 [http://people.ubuntu.com/~happyaron/l10n/l10n-guide-zh-cn.pdf 自由软件中文化指南] 学习本地化流程及方法。这里不会对其中涵盖的内容重复介绍。}}


== 谁应该阅读 ==
== 谁应该阅读 ==
Line 9: Line 9:
* 有兴趣测试本地化成果的志愿者
* 有兴趣测试本地化成果的志愿者
* Fedora 中文本地化项目贡献人员
* Fedora 中文本地化项目贡献人员
* 其他
* 其他对本地化工作感兴趣的朋友
== 本地化规范 ==
=== (标点)符号规范(软件及文档) ===
==== 句号(.) ====
当“.”用于表示版本号,时间、日期等非标点符号用途时,翻译中应继续使用“.”;当“.”做标点符号使用时,翻译中改为中文句号“。”
{|
|- style=" color: #fff; background-color: #3074c2;"
| '''原文''' || '''译文''' || '''注释'''
|-
| 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 频​道​获​得​帮​助 || 其中的“.”用于网址。翻译中应继续使用“.”。
|-
|}
==== 逗号/顿号 ====
==== 括号(及译文中的扩展使用)====
<ol>
<li>'''文档翻译''':文档翻译中,如果译文中括号内是半角字符或数字,则使用英文半角括号,并在括号与两侧文字间保留一个空格;如果译文括号内包含双字节字符(比如,汉字),则使用中文全角括号,括号与外面文字之间不留空格。例如:
{|
|- style=" color: #fff; background-color: #3074c2;"
| '''原文''' || '''译文''' || '''注释'''
|-
| ...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) ''' ||既可以从桌面应用程序菜单运行'''(位于编程菜单)'''||译文中括号内为汉字,因此括号采用中文全角括号
|-
| ''''''||''''''||''''''
|}
</li>
<li>'''软件翻译/字符界面翻译''':软件界面和字符界面中,译文均使用英文半角括号。如果括号外为英文或数字等半角字符,则与括号间要保留一个空格。例如:
{|
|- style=" color: #fff; background-color: #3074c2;"
| '''原文''' || '''译文''' || '''注释'''
|-
| '''''' || ''''''||''''''
|-
| '''''' || ''''''||''''''
|-
| '''''' || ''''''||''''''
|}
</li>
<li>'''扩展使用''':有时原文中会出现一些不常见的词语、缩写或术语等等,这些内容可能没有通用性,可能也没有统一、标准的翻译,或者干脆是新出现的。在翻译这类内容时,如果直接将这些缩写或术语翻译过来,可能会让读者/用户对译文迷惑不解,甚至是误解。这样就与本地化的初衷相悖。因此为了解决这个问题,可以在译文后使用括号引用原始内容。比如:
{|
|- style=" color: #fff; background-color: #3074c2;"
| '''原文''' || '''译文''' || '''注释(示例不是特别贴切,可替换)'''
|-
| ...the graphical programming environment from the '''<literal>Lifelong Kindergarten Group</literal>''' || ...终身幼稚园团队''' (Lifelong Kindergarten Group) '''创造的图形编程环境。||''''''
|-
| '''Rich Language''' for rule configuration || 富​语​言''' ​(Rich Language) '''用​于​防​火​墙​规​则​配​置 || ''''''
|-
|}
在软件翻译中以这种方式使用括号时,要考虑排版,界面等因素。以防止译文超出软件界面造成显示不完整的情况发生。
</li>
</ol>
 
==== 省略号 ====
==== 破折号 ====
==== 冒号 ====
与“.”用法类似,做为标点符号使用时,冒号应在翻译中改为中文冒号;做分隔符用于时间或其它用途时,翻译中应继续使用英文“:”。
{|
|- style=" color: #fff; background-color: #3074c2;"
| '''原文''' || '''译文''' || '''注释(示例不是特别贴切,可替换)'''
|-
| For news and details about the Cinnamon project, visit http''':'''//cinnamon.linuxmint.com || 有​关​ Cinnamon 的​新​闻​和​细​节​可​访​问​ http''':'''//cinnamon.linuxmint.com||这里的“:”非标点符号,因此翻译中不做改变。
|-
| '''''' || '''''' || ''''''
|-
|}
 
更多本地化规范可参考:
 
* http://people.ubuntu.com/~wzssyqa/gnome-translation-details.pdf
* http://people.ubuntu.com/~happyaron/l10n/
 
== 本地化注意事项 ==
== 本地化注意事项 ==
=== 您需要翻译什么? ===
=== 您需要翻译什么? ===
# PO 文件简介
# PO 文件简介('''translate.fedoraproject.org 在线进行翻译时可跳过本部分''')
Fedora 本地化项目主要包括 Fedora 操作系统本地化和 Fedora 网页以及 Fedora 社区在线内容(维基页面)本地化。
Fedora 本地化项目主要包括 Fedora 操作系统本地化、Fedora 网站本地化、Fedora 文档本地化以及 Fedora 社区在线内容(维基页面)本地化。
前两者主要采用 PO 文件翻译实现,而社区在线内容则是直接进行翻译。
前三者主要采用 PO 文件翻译实现,而社区在线内容则是直接进行翻译。
以下以 PO 文件为例,解释需要翻译的内容。
以下以 PO 文件为例,解释需要翻译的内容。


Line 86: Line 159:


=== 怎样检验您的翻译是否具有价值? ===
=== 怎样检验您的翻译是否具有价值? ===
这里的价值当然不是指翻译到底有多少经济利益:D
这个价值,简单地说,就是指您的翻译对最终用户有没有用处,有多大用处。
我们还是通过举例来说明。
=== 您翻译的语句是否准确、简洁、到位? ===
=== 您翻译的语句是否准确、简洁、到位? ===
'''准确'''
准确是翻译的一个基本点。不准确的翻译可能会让读者感到莫名其妙。(例如 wget 1.12 中将 eta 翻译为“英国中部时间”,实为“估时”)
容易在准确性上出问题的情况往往是不清楚上下文的多义词。拿到的 PO 文件中有些原文只是单词或者短语,难以琢磨具体含义。有时候开发者会给翻译人员留下一些注记,提示词句的语境。这些注记会出现在词条上方的注释中。此时一定要好好利用这些解释说明,弄清具体含义。
然而不是所有的都有额外的注释。对于缺少注释而拿不准的条目,最好从版本库或者源码包中找到源代码,阅读代码中的上下文。PO 文件中显示了词条对应的源代码文件名和行数,对此很有帮助。
'''简洁'''
一般说来,常用的首字母缩写词在第一次出现时尽量给出英文全称和中文翻译,之后则可以直接使用首字母缩写词。
翻译时可以考虑使用简洁明了的成语。
'''到位'''
有时翻译原文中会有多个程序中变量的占位符(如<code>%s</code>),而翻译时不调整其顺序无法将意思表述到位。对于这个问题,我们需要对不同编程语言得到的 PO 文件区别对待。对于 C/C++ 程序源码中提取的词条,可以使用类似 <code>%1$s</code> 的带位置标志的占位符。对于 Python 程序,则需要联系开发者,请求给出类似 <code>%(word)s</code> 的带含义标志的占位符。
=== 翻译的一致性 ===
开源项目的翻译往往由多个志愿者参与完成。每个人可能有自己的习惯,所以翻译的一致性较难保证。对此我们建议利用以下资源或途径减少不一致的出现:
* 已有译文。请大家翻译前浏览下已有的翻译内容,一来了解翻译风格习惯,二来可以帮助校对。
* 术语表。本地化贡献人员整理了一份术语表([[Chinese_translation_glossary|维基版本]],[https://github.com/gbraad/chinese-glossary/blob/master/glossary.csv git仓库中最新版]),可供翻译时参考。也欢迎大家丰富、更新这一术语表。另外还有一个 GNOME, KDE 术语的[https://www.csslayer.info/l10n/query/index.php 查询界面],微软术语表也提供[http://www.microsoft.com/Language/zh-cn/Search.aspx 查询界面],可供参考。
* 网络搜索结果以及词典条目。可以考虑借助网络搜索了解常用翻译,借助词典明晰词义。
* 邮件列表讨论。对于拿捏不准的词句和段落,可以发邮件到 {{fplist|trans-zh_cn}} 列表,与全体本地化贡献人员讨论。
=== 翻译要避免什么 ===
* 错别字
错别字也许是翻译中最容易出现也是最不容易找到的问题之一,但却是最让人恼火的错误之一。举例说明:
<pre>Fedora 由 红帽赞助,石阶上最受信赖的开源技术提供商。</pre> 很明显,石阶应该是”世界“才对。
* 对时态不做僵硬转换
* 通常不翻译不定冠词
英文中常出现 a、an 等词。如果做不定冠词的话,多数情况是不翻译的。也就是说我们不能把它翻译成一个什么什么。举例说明:
<pre>...if you have a fast Internet connection available...</pre>
如果翻译做:<pre>如果您有一个高速的网络连接……</pre>,没什么问题。但是如果翻译做<pre>如果您有高速网络连接……</pre>会更好些。
* 情态动词的翻译
<pre>您已选择跳过引导装载程序安装。您的系统将无法引导。
You have chosen to skip bootloader installation. Your system may not be bootable.</pre>
这里 may 有“可能”的意思,直接翻译成“将”是错误的,让用户会认为不安装,即无法引导。而事实上,是可能无法引导(如果没有任何引导程序存在的话)。
=== 要逐字翻译吗? ===
不一定。
(加入实例)
[[Category:Zh]]
[[Category:翻译]]

Latest revision as of 10:50, 8 April 2021

本页面要介绍什么

  • 本页面介绍本地化规范
  • 本页面分享本地化经验
本文不介绍什么
请务必阅读 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 有“可能”的意思,直接翻译成“将”是错误的,让用户会认为不安装,即无法引导。而事实上,是可能无法引导(如果没有任何引导程序存在的话)。

要逐字翻译吗?

不一定。 (加入实例)