第八章 翻译

这是为将 FreeBSD 文档(FAQ、手册、教程、手册页和其他文档)翻译成不同语言的人员提供的常见问题解答。

它很大程度上基于 FreeBSD 德语文档项目的翻译常见问题解答,最初由 Frank Gründer [email protected] 撰写,并由 Bernd Warken [email protected] 翻译回英文。

8.1. i18n 和 l10n 是什么意思?

i18n 表示国际化,l10n 表示本地化。它们只是一种方便的简写。

i18n 可以理解为“i”后跟 18 个字母,再跟“n”。类似地,l10n 是“l”后跟 10 个字母,再跟“n”。

8.2. 有没有供翻译人员使用的邮件列表?

是的。不同的翻译小组有自己的邮件列表。翻译项目列表包含有关每个翻译项目运行的邮件列表和网站的更多信息。此外,还有 [email protected] 用于一般翻译讨论。

8.3. 还需要更多翻译人员吗?

是的。参与翻译的人越多,完成的速度就越快,英文文档的更改反映在翻译文档中的速度也就越快。

您不必是专业翻译人员也能提供帮助。

8.4. 我需要懂哪些语言?

理想情况下,您需要精通英语写作,并且显然您需要流利地使用您要翻译的目标语言。

英语并非绝对必要。例如,您可以将西班牙语翻译的常见问题解答翻译成匈牙利语。

8.5. 我需要了解哪些软件?

强烈建议您维护 FreeBSD Git 存储库的本地副本(至少是文档部分)。这可以通过运行以下命令来完成:

% git clone https://git.FreeBSD.org/doc.git ~/doc

git.FreeBSD.org 是一个公共 git 服务器。

这需要安装 git-lite 软件包。

您应该熟悉使用 git。这将允许您查看构成文档的不同版本文件之间的更改。

例如,要查看 documentation/content/en/articles/committers-guide/_index.adoc 的修订版 abff932fe82191c44469 之间的差异,请运行:

% git diff abff932fe8 2191c44469 documentation/content/en/articles/committers-guide/_index.adoc

请参阅FreeBSD 手册中有关在 FreeBSD 中使用 Git 的完整说明。

8.6. 如何找到其他可能也在翻译成同一种语言的人?

文档项目翻译页面列出了当前已知的翻译工作。如果其他人已经在将文档翻译成您的语言,请不要重复他们的工作。相反,请与他们联系,看看您如何提供帮助。

如果该页面上没有人列为翻译成您的语言,请向FreeBSD 文档项目邮件列表发送消息,以防其他人也在考虑进行翻译,但尚未宣布。

8.7. 没有人翻译成我的语言。我该怎么办?

恭喜,您刚刚启动了“FreeBSD 您的语言 文档翻译项目”。欢迎加入。

首先,确定您是否有空闲时间。由于您目前是唯一一个处理您语言文档的人,宣传您的工作和协调任何可能想要帮助您的志愿者将是您的责任。

请向文档项目邮件列表发送电子邮件,宣布您将翻译文档,以便维护文档项目的翻译页面。

如果您的国家/地区已有人提供 FreeBSD 镜像服务,您应该联系他们,询问您是否可以为您的项目获得一些网络空间,以及可能的电子邮件地址或邮件列表服务。

然后选择一个文档并开始翻译。最好从一些比较小的文档开始——例如常见问题解答或教程之一。

8.8. 我已经翻译了一些文档,我应该将它发送到哪里?

这取决于具体情况。如果您已经在与某个翻译团队(例如日语团队或德语团队)合作,那么他们将有自己的处理提交文档的程序,这些程序将在其网页上概述。

如果您是唯一一个处理特定语言的人(或者您负责一个翻译项目并希望将您的更改提交回 FreeBSD 项目),那么您应该将您的翻译发送给 FreeBSD 项目(请参阅下一个问题)。

8.9. 我是唯一一个从事该语言翻译工作的人,我该如何提交我的翻译?

首先,确保您的翻译组织得当。这意味着它应该可以直接放入现有的文档树中并立即构建。

此目录下的子目录根据其所用语言代码命名,如 ISO639(在 1999 年 1 月 20 日之后版本的 FreeBSD 上为 /usr/share/misc/iso639)中定义。

Hugo 需要小写的语言代码。例如,Hugo 使用 pt-br 而不是 pt_BR

目前,FreeBSD 文档存储在一个名为 documentation/ 的顶级目录中。此目录下的子目录根据其所用语言代码命名,如 ISO639(在 1999 年 1 月 20 日之后版本的 FreeBSD 上为 /usr/share/misc/iso639)中定义。

如果您的语言可以用不同的方式编码(例如,中文),那么在此目录下应该有子目录,每个子目录对应您提供的每种编码格式。

最后,您应该为每个文档创建目录。

例如,一个假设的瑞典语翻译可能如下所示

documentation/
  content/
    sv/
      books/
        faq/
          _index.adoc

sv 是翻译的名称,采用 lang 形式。请注意两个 Makefile,它们将用于构建文档。

使用 git diff 命令生成差异文件并将其发送到审查系统

% git diff > sv-faq.diff

您应该使用 Bugzilla 提交报告,表明您已提交文档。如果您能让其他人检查您的翻译并进行二次检查,这将非常有帮助,因为提交翻译的人不太可能精通该语言。

然后,有人(可能是文档项目经理,目前是文档工程团队 <[email protected]>)将获取您的翻译并确认其是否可以构建。特别是,将检查以下内容

  1. root 目录中执行 make 是否正常工作?

如果出现任何问题,审核提交的人员将与您联系以解决这些问题。

如果没有问题,您的翻译将尽快提交。

8.10. 我可以在翻译中包含特定于语言或国家/地区的文本吗?

我们希望您不要这样做。

例如,假设您正在将手册翻译成韩语,并希望在您的手册中包含关于韩国零售商的部分。

没有真正的理由说明为什么这些信息不应该也出现在英文(或德文、西班牙文、日文或……)版本中。在韩国的英语使用者可能会尝试在那里获取 FreeBSD 的副本。这也有助于提升 FreeBSD 在全球的认知度,这不是一件坏事。

如果您有特定于国家/地区的信息,请将其作为对英文手册的更改提交(使用 Bugzilla),然后将更改翻译回您翻译的手册中。

谢谢。

8.10.1. 称呼读者

在英文文档中,读者被称为“您”,不像某些语言那样有正式/非正式的区别。

如果您要翻译成区分正式/非正式的语言,请使用您的语言中其他技术文档中通常使用的形式。如有疑问,请使用略微礼貌的形式。

8.10.2. 我需要在我的翻译中包含任何其他信息吗?

是的。

每个文档的英文版本标题如下所示

 ---
 title: Why you should use a BSD style license for your Open Source Project
 releaseinfo: "$FreeBSD: head/en_US.ISO8859-1/articles/bsdl-gpl/article.xml 53942 2020-03-01 12:23:40Z carlavilla $"
 trademarks: ["freebsd", "intel", "general"]
 ---

 = Why you should use a BSD style license for your Open Source Project

确切的样板文件可能会更改,但它将始终包含 $FreeBSD$ 行和短语“FreeBSD 文档项目”。请注意,$FreeBSD$ 部分由 Git 自动扩展,因此对于新文件,它应该是空的(只是 $FreeBSD$)。

您翻译的文档应该包含它们自己的 FreeBSD 行,并将“FreeBSD 文档项目”行更改为“FreeBSD *语言* 文档项目”。

此外,您应该添加第三行,指示这是基于英文文本的哪个版本。

因此,此文件的西班牙语版本可能以开头

 ---
 title: Soporte para segundos intercalares en FreeBSD
 releaseinfo: "$FreeBSD: head/es_ES.ISO8859-1/articles/leap-seconds/article.xml 53090 2019-06-01 17:52:59Z carlavilla $"
 ---

 = Soporte para segundos intercalares en FreeBSD

**上次修改时间:**2024 年 10 月 22 日,修改者:Mateusz Piotrowski