# 如何在不是程序员的情况下做出贡献——成为 FreeBSD 译者

> **警告**
>
> 本文译者敬告所有读者，**不要** 在没有充分沟通（无论是我们还是 FreeBSD 社区）的情况下对任何 FreeBSD 官方文档进行任何翻译，避免浪费时间金钱与精力——我看到已经有不少人这样做，据我所知我见过三拨/三个人，他们都无功而返。

* 原文链接：[How to Contribute Without Being a Programmer](https://freebsdfoundation.org/wp-content/uploads/2020/11/FreeBSD-Translator.pdf)
* 作者：**DANILO G. BAIO**

FreeBSD 项目正在采用 Weblate 作为其基于网页的持续本地化平台，这使得人们可以轻松成为译者。该平台于今年年初开始运营，到目前为止，已汇聚了 10 种语言和 89 名贡献者来帮助翻译 FreeBSD 文档。

| 语言   | 代码     |
| ---- | ------ |
| 简体中文 | zh\_CN |
| 繁体中文 | zh\_TW |
| 法语   | fr\_FR |
| 德语   | de\_DE |
| 意大利语 | it\_IT |
| 挪威语  | nb\_NO |
| 波斯语  | fa\_IR |
| 葡萄牙语 | pt\_BR |
| 西班牙语 | es\_ES |
| 土耳其语 | tr\_TR |

该列表仅显示我们 Weblate 实例中当前正在使用的语言——非常欢迎新语言。此列表未显示已经提交到 FreeBSD 文档仓库中的当前翻译。

使用 Weblate，翻译变得如此简单，贡献者无需处理仓库、xml 文件、构建或了解 DocBook/XHTML。他们只需要学习一些有趣的内容，并在此过程中将其翻译成母语。

专注于学习，FreeBSD 文档因其质量而广为人知。当你开始翻译任何文档时，我可以保证你会明白为什么。

完整的文档集包含 35 篇文章和 8 本书。以下是来自 Weblate 的当前统计数据（<https://translate-dev.freebsd.org/projects/freebsd-doc/#information>）。

|      | 字符串    | 单词量     |
| ---- | ------ | ------- |
| 所有文档 | 39,779 | 691,513 |

FreeBSD 手册是个大型文档，目前是 FreeBSD 项目的主要文档。

|            | 字符串/s 句子 | 单词量     |
| ---------- | -------- | ------- |
| FreeBSD 手册 | 12,212   | 254,554 |

还有一些较小的文档——例如文章：

|               | 句子/字符串 | 单词    |
| ------------- | ------ | ----- |
| 为 FreeBSD 做贡献 | 217    | 5,622 |

它们都可以在 <https://www.freebsd.org/docs/books.html> 上访问。

对于新语言，我们建议先从一到两个小文档开始，而不是直接从 FreeBSD 手册开始，这样人们可以先熟悉工具，并且能更快看到自己的翻译成果。

在翻译时，您需要全神贯注于文本，理解上下文，并且偶尔需要重读，这对您来说是件好事，也是您在这个过程中学习的方式。我仍然记得我过去翻译的一些具体细节。

## 开始贡献的简单步骤

* 创建一个帐户，使用电子邮件地址或 Github ID

<https://translate-dev.freebsd.org/>

Weblate 为每个翻译创建新的提交，并通过您的电子邮件地址引用它们，因此您可以轻松跟踪自己的工作。只要您使用与 Github 帐户匹配的电子邮件地址，您的翻译将出现在您的 Github 贡献活动中。

* 订阅 freebsd-translators 邮件列表

<https://lists.freebsd.org/mailman/listinfo/freebsd-translators>

有关基础设施的更新以及所有关于翻译的新闻都将通过该邮件列表发送。如果您有任何疑问，这是您可以查看的地方。

* 在邮件列表中介绍自己并请求加入一个语言团队

如果该语言团队不存在，请请求创建它——您可能是协调员。

介绍自己很重要，因为您可以发现其他正在翻译相同语言的人，并使协调工作变得更容易。

* 使用新帐户登录 Weblate

在您的介绍后，管理员或协调员将会把您的用户名添加到一个语言团队中，您就可以开始翻译了。

* 找到您的语言团队并选择一个初始文档进行翻译

在 Weblate 界面上在线翻译是最简单的贡献方式，一旦协调员或管理员给予您语言访问权限，保存按钮就会被启用，您可以开始工作。

![](https://github.com/user-attachments/assets/99745e61-ec16-43d3-9725-9a96d3dd34c2)

Weblate 有一组链接，指向实际的翻译内容。翻译进一步划分为各个检查项，如“未翻译”或“需要审查”。如果整个文档都已翻译且没有错误，“所有翻译”链接仍然可用。您也可以使用搜索框来查找特定的字符串或术语。您可以在官方 Weblate 文档中了解更多翻译相关的信息——例如键盘快捷键和其他关于翻译工具的技巧，但界面非常直观。

<https://docs.weblate.org/en/latest/user/translating.html#translation-projects>

## 理性翻译

如果您熟悉 PO Gettext 并想离线翻译，您可以通过点击您语言的文档页面中的“文件”部分，下载并上传您的翻译。

![](https://github.com/user-attachments/assets/2efd5e3f-0339-4f8a-aad4-e06e396243cd)

## 校对和 Weblate 质量检查

当您点击项目 / 语言 / 文档时，Weblate 将显示该文档的翻译和字符串状态。此页面对于校对和质量检查非常有用。

![](https://github.com/user-attachments/assets/701d5ea6-5d63-425d-a9d5-387144be21c9)

在这个例子中，有一些字符串需要修订。如果您点击这些链接，它将只显示那些需要修订/翻译的字符串。

为了更容易地进行校对，通常看到翻译字符串在最终上下文中的效果会更有帮助，我们的项目提供了这样的功能。

## 构建翻译文档

我们 Weblate 实例，每天都会构建所有翻译，并且可以通过 <https://doc.fugbr.org/jenkins/> 获取。我们为所有新语言启用了这些构建。如果您想加快这个过程，您可以随时告诉 Weblate 提交您的翻译，然后通过我们的 Jenkins 触发构建过程，几分钟后您就可以进行校对。

![](https://github.com/user-attachments/assets/424f3ae4-6637-4e58-8fab-9bbb0b6d632e)

您也可以在本地构建文档。有关更多信息，请参阅我们的 Wiki 页面：<https://wiki.freebsd.org/DocTranslationOnWeblate>。

## 提交翻译

完成任何文档的翻译后，提交将是将您的工作正式推送到 FreeBSD 网站的最后一步。

在《FreeBSD 文档项目新贡献者指南》一书中，有一章解释了如何提交翻译。这并不难，如果这是您的第一篇文档，我们会有人员帮助您完成这一过程。 <https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/po-translations-submitting.html>

将翻译提交到官方文档树后，所有翻译者的名字将被加入到“附加的 FreeBSD 贡献者”名单中。恭喜！现在您也是 FreeBSD 历史的一部分。

## 最后的思考

翻译并不需要成为开发者，您只需要愿意贡献，正如之前所说，您将在这个过程中学到一些新东西。

有些开发者最初是从贡献 FreeBSD 文档开始，后来成为了 Ports 和内核开发者，这也许是您在项目中的初步旅程。

在 FreeBSD 文档中，涉及的主题更广泛，里面有 Unix 和 BSD 的一些历史，还有一些关于令人敬佩的贡献者的故事，他们遗憾地不再与我们同在。例如，阅读《纪念 Bruce D. Evans》——它在《FreeBSD 贡献者》一文中，章节为《开发团队：纪念》，我是在翻译时才了解到这篇文章的。

了解历史并成为其中的一部分真的很棒。对我来说，成为 FreeBSD 项目的一员是一种荣耀。

如果您有任何问题，加入我们的邮件列表 `freebsd-translators@` 。您会非常受欢迎。请帮助将这一努力推广到您的本地用户组，因为我们总是需要更多的志愿者。

***

**DANILO G. BAIO** 是 FreeBSD Ports 提交者和巴西葡萄牙语翻译者。<dbaio@FreeBSD.org>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.bsdcn.org/qi-kan/20200910-gong-xian-yu-ru-men/programmer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
