贡献¶
本页使用法语(fr
)举例。不过其他语言只需替换语言代码即可。所以,要确保把这里的前缀 /fr
替换为你正在翻译的语言!
要查看当前可用的语言,可以查询在线界面,或浏览底层 git 代码库。
简单贡献¶
为翻译工作做出贡献的首选方式是使用基于网络的界面,目前是一个 Weblate 实例。
任何用户都可以提出简单的改进建议,甚至无需登录。建议会在发布前将由翻译团队进行审核。
Weblate 还配备了新的帮助工具,以提高翻译的连贯性,如术语表。
高级操作¶
如果由于某些原因,网络翻译界面不能很好地为您提供服务,您仍然可以从该界面下载 PO 文件,然后再回传。
Warning
如果在此期间发生了某些更新,您将不得不自行处理潜在的冲突。直接提交到 git 仓库进行翻译已不再可行。
Note
目前网络界面背后的工具存在一个已知的问题,它会导致上传和整合 PO 文件等繁重的处理过程耗时数分钟,整个过程中网页一直处于刷新模式。如果时间超过十分钟,甚至会出现服务器超时的错误信息。但通常不会出现实际问题,因此无需重新尝试上传 PO 文件,几分钟后刷新页面就可以在 Web 界面中看到贡献。
Note
首先,假定您已经已经有生成好的手册。如果还没有,请返回入门章节。
安装¶
语言文件¶
在包含文档源代码的目录,运行以下检出命令:
make checkout_locale
系统会提示你输入要下载的语言文件夹。在本例中,我们将使用 fr
。按 回车 键将确认这一选择。
下载需要几分钟时间,但完成后会创建一个 locale/fr
子目录。
你的目录布局应该是下面这样的:
blender-manual
|- locale/
| |- fr/
| | |- LC_MESSAGES/
|- manual/
Note
在使用命令行运行 Git 时(比如更新时),需要先将目录更改为 locale
而不是 blender-manual
。
PO 语言文件本身也可从网页界面的 文件
菜单下载,该菜单位于 手册
组件的每个专用语言页面上。
PO 编辑器¶
要编辑 PO 文件,您需要安装一个 PO 编辑器。我们建议您使用 Poedit,但任何 PO 编辑器都可以。
Note
对于 Linux 用户,您需要向您的发行版软件中心查询 Poedit 版本。这个编辑器只是一个推荐。还有其他一些编辑器,如 Kate 和 Kwrite,可以提供语法高亮和基本的文本编辑工具,如字母大小写转换。其他平台可以使用一些支持 PO 文件语法高亮的文本编辑器,或允许您创建自定义编辑器(如 Windows 上的 Notepad++)。
使用翻译文件编译文档¶
构建¶
现在你可以编译应用翻译后的手册了:
在 Linux 和 macOS 上运行:
make -e BF_LANG=fr
在 Windows 上运行:
set BF_LANG=fr
make html
现在,您将拥有一个应用了翻译的手册版本。
编辑翻译文件¶
现在,您可以编辑 PO 翻译文件,在 LC_MESSAGES
文件夹中,您有两个文件:
blender_manual.po
--这是您将要编辑的主要翻译文件。sphinx.po
--此翻译文件小得多,包含网站主题的翻译。
要编辑这些文件,请在翻译编辑器中打开它们,即 Poedit。进入编辑器后,您将看到文本列表,每个项目都代表用户手册的某些部分。您可能需要调整编辑器以合理的方式对列表进行排序,例如 "按源"。
现在您可以选择一个未翻译的字符串,编辑器将有一个输入框来添加翻译。修改后的 .po
文件现在可以提交回网络界面。
Tip
确保使用翻译构建以捕获翻译过程中可能出现的任何语法错误。这些错误将在构建时显示为警告。
维护¶
追踪模糊字符串¶
手册更新后,过时的翻译将被标记为模糊。要追踪这种状况,可以使用我们为此创建的工具。
你可以运行下面的命令:
make report_po_progress
但是该命令仅会给出一个快速的摘要,要得到更多信息,可以运行:
python tools/translations/report_translation_progress.py locale/fr/
你得到一个文件列表,包含空或者模糊字符串的数量信息。如果你想要只是摘要,追加 -q
到上面的命令。更多选项,请参阅:
python tools/translations/report_translation_progress.py --help
更新 PO 文件¶
随着原始手册的修改,po 模板也需要不断更新。注意,这个步骤不是必须的,因为管理员会定期自动更新这些 po 文件。这一步用于同步所有语言手册为同一版本。不过,如果你需要手动更新 po 文件,可以使用下面的命令:
make update_po
更新后的模板就可以提交到版本库。
See also
有关如何添加新语言的指南,请参阅添加语言。