Subject: Self-Introduction: Name and language Name: Name (use preferred name) Location: City, country (optional) Login: username or email (essential) Language: Language to translate (essential) Profession or student status: (optional) About You: (free format -- info which you feel comfortable sharing with others: company, school, other affiliation, historical qualifications, other projects you have worked on, level and type of computer skills, other relevant skills, etc.) You and the FreeBSD Project: (free format: other FreeBSD projects of interest, comments, etc.)
第 10 章。Weblate 翻译
目录
10.2. 如何成为 FreeBSD 翻译人员
以下是在开始翻译 FreeBSD 文档项目的文章和书籍时的一些简单步骤。
在 FreeBSD Weblate 实例 上使用电子邮件地址或 GitHub 帐户创建一个帐户。
订阅 FreeBSD 翻译人员邮件列表。
自我介绍并请求加入一个语言团队。如果语言团队不存在,请请求创建它。自我介绍至关重要。这将提高您获得写访问权限的机会。
使用新帐户登录 Weblate。
找到语言团队并选择一个初始文档进行翻译。
创建一个 Bugzilla 帐户,以便在完成文档后提交翻译。文档项目也接受通过 GitHub Pull Request 提交的翻译。
所有翻译文件和文档必须遵循 FreeBSD 文档许可;如果这是不可接受的,请不要注册或发送任何补丁或翻译。 |
10.3. 自我介绍
请在 FreeBSD 翻译人员邮件列表 上进行简短的自我介绍,以启动授予访问权限的过程。这将使语言协调员或管理员能够为 Weblate 的新用户提供必要的权限,以便他们开始翻译。
以下是如何发送此类邮件的示例。
10.4. 登录 Weblate
打开 https://translate-dev.freebsd.org/ 并 登录
。
使用用户名、电子邮件地址或 GitHub 帐户登录。
用户配置文件包含您的偏好、姓名和电子邮件地址。姓名和地址将在提交中使用;请确保这些信息准确无误。
在 FreeBSD Weblate 实例中,所有翻译将提交到 freebsd-doc-translate(GitHub 上的中间存储库),而不是直接提交到 freebsd-doc。翻译人员必须获取 PO gettext 文件(.po
),将其转换为 .adoc
,然后通过 Bugzilla 或 GitHub 提交,以在文档门户中发布或更新翻译后的文档。有关详细信息,请参见以下部分。
如果翻译了任何新字符串,Weblate 将每天至少提交到 freebsd-doc-translate
。
10.5. 寻找一个语言团队加入
点击 项目
,选择 文档
,然后点击 语言
,查看所有可用的语言。
请注意,某些语言和翻译后的文档已存在于文档门户和存储库中。
如果 Weblate 中没有所需翻译语言,请在请求创建新语言之前联系 语言协调员。如果未收到回复,请写信给文档工程团队 <[email protected]>。
10.6. 在 Weblate 上在线翻译
在线翻译文档被证明是 FreeBSD 上文档翻译最简单的方法,因为它允许用户在同一个文件上进行协作,分担工作量。
一旦协调员或管理员授予用户名对特定语言的访问权限,保存按钮将被启用,以便该用户可以开始翻译。
Weblate 有一个链接集,可引导到实际的翻译。翻译进一步细分为单独的检查,例如 未翻译
或 需要审核
。如果整个文档在没有任何错误的情况下被翻译,则在需要审核的情况下仍然可以使用 所有翻译
链接。或者,可以使用搜索字段查找特定字符串或术语。
在 Weblate 文档 中,有更多关于翻译的信息,例如键盘快捷键和其他关于翻译工具的技巧。
10.7. 离线翻译
FreeBSD 上的 Weblate 使用 PO gettext 文件进行翻译。熟悉 PO gettext 文件并希望离线翻译的用户可以通过 Weblate 上的文档页面下载和上传翻译,方法是点击 文件
部分。
10.8. 基于自动建议的翻译
迁移到 Hugo/Asciidoctor 之前的 Weblate 语言可以使用 Weblate 的此功能来节省时间。
Weblate 的此功能使用同一服务器上其他组件和项目生成的翻译记忆。以前的 Weblate 翻译以只读形式托管在同一服务器上。
相似度为 100/100
的字符串可以直接复制并保存。其他字符串至少需要进行一些调整。
一些示例
迁移到 Hugo/Asciidoctor 后,文档使用 UTF-8。某些 HTML 实体应被替换。某些字符串,例如链接,需要更改标记。
链接
10.9. 校对和 Weblate 质量检查
文档仪表板 项目/语言/文档
显示该文档的翻译状态和字符串状态。此页面对于校对和质量检查非常有用。
在此示例中,有两个字符串缺少句号;点击该链接将仅显示需要修改/翻译的字符串。
翻译人员和审阅人员通常会重视在上下文中观察翻译后的字符串。
10.10. 构建翻译后的文档
该项目不使用持续集成和持续交付来构建翻译。正在研究使其可用。
以下示例使用 GitHub,因为 Weblate 也在 GitHub 上。请注意,此存储库是只读镜像,但接受 Pull Request。 |
要本地构建翻译,请按照以下步骤操作
克隆
freebsd-doc
仓库% git clone https://github.com/freebsd/freebsd-doc.git ~/freebsd-doc
克隆
freebsd-doc-translate
仓库% git clone https://github.com/freebsd/freebsd-doc-translate.git ~/freebsd-doc-translate
freebsd-doc
将两个仓库都克隆到本地后,将 freebsd-doc-translate
中的翻译文件复制到 freebsd-doc
中。例如,西班牙语的 Committer’s Guide 文章翻译。
% cp ~/freebsd-doc-translate/documentation/content/es/articles/committers-guide/_index.po \
~/freebsd-doc/documentation/content/es/articles/committers-guide/
.po
)转换为 .adoc
进入 freebsd-doc
的根目录。
% cd ~/freebsd-doc
将 .po
文件翻译(转换为)为 .adoc
% ./tools/translate.sh documentation es articles/committers-guide
默认情况下:只有翻译了超过 80% 字符串的文件才会被转换为 .adoc
。
要忽略此限制
% KEEP_ENV=0 ./tools/translate.sh documentation es articles/committers-guide
某些文档,例如书籍,包含多个 PO gettext 文件。翻译和构建时请始终复制所有文件。未翻译的文件将使用源代码(英语)字符串进行转换。
目录结构至关重要。始终遵循英语文档的目录结构。 |
最后,是构建部分。
进入文档目录,因为无需构建 FreeBSD 网站。
% cd documentation
构建文档。请注意,在构建任何其他语言时,默认情况下始终会添加 en
。
% DOC_LANG=es make
此命令只会构建 FreeBSD 文档门户的英语和西班牙语文档。输出将在 public 目录中;在浏览器中打开该目录。请注意,某些索引文件可能会将浏览器重定向到在线页面。
另一个不错的选择是使用 Hugo 的内部 Web 服务器构建和提供内容
% DOC_LANG=es make run
默认情况下,Web 服务器监听 localhost
;要覆盖此行为,请在 BIND
参数值中指定所需的 IP 地址。
% DOC_LANG=es make run BIND=192.168.15.10
这会使用 Hugo 的内部 Web 服务器构建和提供内容,并允许其打开,并且如果任何文件发生更改,它会自动重新构建它们。
要对翻译进行任何必要的调整,请按照以下步骤重新同步所有组件
在 Weblate 上修复翻译字符串。
强制 Weblate 在
Document/Manage/Commit
部分提交更改。使用
git pull origin main
命令同步本地 Weblate 仓库freebsd-doc-translate
。再次将翻译复制到
freebsd-doc
。使用
./tools/translate.sh
脚本将翻译转换为 .adoc。如果使用了
make run
,Hugo 将重新构建文件,而不是构建整个集合;或者重新执行make
。
根据需要重复执行前面的步骤,直到文档准备发布为止。 |
文档构建过程 一章包含有关渲染为 HTML 和 PDF 的信息。
10.11. 提交翻译
提交对巴西葡萄牙语文章 Committer’s Guide 的更新示例。
按照 构建翻译后的文档 中的步骤操作后,进入 freebsd-doc
的根目录并预览要提交的内容。要概览要更改的文件以及文件内容的差异,请执行以下操作
% git status
% git diff
查看输出,如果更改或添加了与 Committer’s Guide 翻译更新无关的任何文件,请在继续操作之前采取适当的操作,分别将其还原或删除。
始终包含 PO gettext 文件(.po
)和 Hugo/Asciidoctor 中的翻译文档(.adoc
)。
创建另一个分支来分离工作,这将有助于将来在本地仓库中进行更新。
% git checkout -b committers-guide_pt-br
注册本地提交。
% git add .
% git commit
翻译提交消息示例
pt-br/committers-guide: Sync with en XXXXXXX
其中 XXXXXXX
是存储在 Weblate 仓库 ~/freebsd-doc-translate/revision.txt 中的 git(1) 修订版本。
如果是文章的第一个翻译
Add Korean translation of Leap Seconds article
如果之前未配置 git(1),则在提交后会显示一条消息。请按照说明提供在 Weblate 上使用的姓名和电子邮件地址。此步骤对于正确归功于贡献者至关重要。
然后检查整个提交,查看更改以及作者姓名和电子邮件。
% git show
接下来,生成一个 git-format-patch(1) 文件。
% git format-patch main
0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch
将补丁 0001-pt-br-committers-guide-Sync-with-en-XXXXXXX.patch 附加到 FreeBSD Bugzilla 中的问题报告。
在报告中包含以下信息
字段 | 值 |
---|---|
产品 | 文档 |
组件 | 书籍和文章 |
摘要 | 与本地提交相同 |
描述 | 说明已遵循本指南中的说明,包括校对和其他必要的步骤。包含可能有助于对报告进行分类和处理的内容。 |
CC(可选) | 如果该语言有协调员,请在 CC 字段中包含他们的电子邮件地址。 |
对于熟悉 git(1) 和 GitHub 的人:无需通过 Bugzilla 提交补丁,可以使用 GitHub pull request(使用您在 Weblate 中使用的姓名和地址)。
https://github.com/freebsd/freebsd-doc/ 是一个辅助镜像。只有拥有 doc
提交位的人才能对 doc
树进行更改。
当翻译人员不断发送高质量的补丁时,他们可以被其他提交者提名为获得写入权限(doc
树的 doc 提交位)、FreeBSD 帐户以及相关特权。
其他 FreeBSD 贡献者 列表包括其贡献被提交到 doc
树的非提交者。
如果您对任何过程有任何疑问,请写信到 FreeBSD 翻译人员邮件列表。
最后修改时间:2024 年 3 月 9 日,作者:Danilo G. Baio