Important
翻译是一项社区工作 你可以加入。此页面目前翻译进度为 96.83%。
4. 文档指南
本手册旨在帮助译者。首先说明如何加入翻译团队,然后介绍技术层面的翻译流程,接着通过一个从英文 .rst 文档翻译成荷兰语的实际案例进行说明,最后总结了 翻译规则。
Note
尽管这些指南聚焦于 QGIS 文档,但下文所述的方法和规则同样适用于 QGIS 应用程序。
4.1. 成为译者
QGIS 项目始终在寻找愿意投入更多时间将 QGIS 翻译成外语的人士 —— 他甚至可能负责协调整个翻译工作。
我们正在努力改进我们的项目管理过程,并在每个人都有特定责任领域的人之间更均匀地分配负载,因此您必须做出的任何贡献都将受到极大的赞赏。
如果您希望自荐担任某种新语言的协调员,请尽管申请。若多人同时申请同一语言的协调员职位,请相互联系并协商如何分工合作。
4.1.1. Transifex
网上翻译平台 Transifex 适用于所有QGIS翻译:桌面应用程序本身(或GUI)和文档。所以你的第一件事就是需要一个登录和开始的帐户。
4.1.2. 加入项目
您可以浏览我们正在翻译的项目,并通过各种统计数据了解其目标语言:
QGIS Desktop:用于 QGIS 应用程序(QGIS 桌面版和 QGIS 服务器)中所有文本内容,
QGIS Documentation:用于 `官方长期支持文档LTR <https://docs.qgis.org/latest/ >`_
点击您希望协助翻译的项目
点击右侧的 :guilabel:`JOIN THIS PROJECT`(加入此项目),系统将提示您注册。
创建您的账户,或使用第三方平台账户登录。请通过您收到的邮件中的链接验证账户。
登录
随后会弹出窗口,供您选择希望协助翻译的目标语言。请注意,为简化流程,我们仅列出目标语言(例如
French (fr)),而**不**包含国家参数(如French (France) (fr_FR))。仅当语言存在显著差异时(例如葡萄牙的葡萄牙语与巴西的葡萄牙语),才可能允许不同版本。搜索您的目标语言,即您希望协助将 QGIS 翻译成的语言, 不一定 是您会说的所有语言:
现在您需要等待语言协调员或项目维护人员处理您的请求。请求获批后,您将收到邮件通知。若一周内未收到回复,请考虑联系 Transifex 中该语言的协调员,或致信 `QGIS 翻译者邮件列表 <https://lists.osgeo.org/mailman/listinfo/qgis-tr >`_。
您也可以加入其他 QGIS 项目,在各处提供帮助。
4.1.3. 翻译
请求获批后,您即可翻译所选项目中的任意文本。只需单击您的语言,选择要翻译的章节(transifex中称做资源),再单击“翻译”即可。很简单,对吧?
为帮助您完成高质量翻译,下方提供了一些说明。我们强烈建议您仔细阅读。
Tip
快速访问 Transifex 中的可翻译文件
如果您在当前文档中发现错误或缺失的翻译,可看向页面左下角,点击写着“QGIS Documentation+版本号”的下拉菜单中的 ``Translate page``(翻译此页)链接,直接跳转到 Transifex 中的源文件并进行修改。
4.2. 翻译流程
QGIS 文档使用英文编写,采用 .rst 文件格式。为提供翻译版本:
预构建脚本会在
/QGIS-Documentation/locale/en文件夹中为英文生成名为.po的翻译文件。.po文件中的句子会被推送至 Transifex 网站平台,供译者使用编辑器将英文翻译成其目标语言。当某个文件翻译完成度达到 100% 时,其译文会自动拉取回文档仓库,目录存放在
/QGIS-Documentation/locale/<language>.在下一次文档构建时(每天至少一次——页面底部可见时间),脚本会复用这些译文生成翻译后的输出。
对于未完全翻译的文件,脚本每两周从 Transifex 拉取已翻译的字符串到 GitHub,并在下一次构建时一并发布。
每当
.rst文件更新时,英文版.po文件也会同步更新,并将变更推送至 Transifex 中对应的文件。这意味着,若一个已翻译的.rst文档新增了一段内容,只有这些新增或修改的句子会被加入到已翻译的.po文件中,需要译者处理。
Note
QGIS Desktop翻译的特殊性
与 QGIS 文档翻译的主要区别在于:QGIS 应用程序不使用 .po 文件,而是将构成特定版本应用程序的 .py、.cpp、.yaml 文件中的所有可翻译字符串,以单个 .ts 文件(例如 qgis-application/qgis_en.ts (branch release-3_30))的形式推送和拉取至 Transifex。译文会在开发分支中每日拉取到 GitHub,并在每个版本发布时同步。
目前 QGIS 使用两种不同的工具进行翻译:
Transifex web platform 是翻译 QGIS 最简单且推荐的方式。它透明地执行上述流程,将所有可翻译文本集中呈现给译者。您只需选择要翻译的文件即可。译文文件将保存在平台上,直至下一次版本推送。
Qt Linguist 是 Qt 开发工具,要求译者从源代码中本地拉取
.po`(或 :file:.ts`)文件,完成翻译后再推送回去。
请注意,无论您选择哪种工具,翻译规则都是相同的。
4.3. 翻译一个文件
为了解释翻译,我们可以用热力图插件做例子。在这个例子当中,我们将把英语翻译成荷兰语,其他语言也是同样的道理
该文档的源文件可在此处找到:
QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst
那么,我为何选择这份文档?
它包括图片,说明文字,标题,参考和替换。
我写它是为了方便我翻译 ;-)
构建流程已创建了英文版 .po 文件,可在此处找到:
QGIS-Documentation/locale/en/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po
对应的荷兰语 .po 文件(基本是副本)可在此处找到:
QGIS-Documentation/locale/nl/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po
在此文件旁边,您会看到一个小小的 .mo 文件,表明该文件尚无任何翻译内容。
4.3.1. 在 Transifex 中进行翻译
要使用 Transifex 平台进行翻译,您需要:
一旦你加入语言团队后,单击对应项目(此处为
QGIS Documentation)。系统将显示可用语言及其翻译完成率列表。
Fig. 4.22 在 Transifex 菜单中选择要翻译的语言
将鼠标悬停在您的语言上,然后单击以下任一选项:
View resources (查看资源):显示可翻译的
.po文件及其翻译比例、字符串数量等元数据。Translate (翻译):打开翻译界面,列出所有可用的
.po文件
找到您想翻译的文件(本例中为
docs_user-manual_plugins_plugins-heatmap,即热力图插件文件),或选择任意未完成的文件并单击:文件中的字符串将被加载,您可使用界面进行筛选、翻译或提出建议……Tip
单击任一页面左下角的下拉菜单中的
Translate page链接。它会直接把你带到在 Transifex 中对应的翻译页面。您所需要做的就是选择每个文本并遵循 指导。
有关使用transfex Web Editor的更多信息,请参见: https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor.
4.3.2. 在 Qt Linguist 中进行翻译
使用 Qt Linguist 时,您需要:
手动获取
.po或.ts文件。可通过 Transifex 平台下载,或从源代码仓库(GitHub)的locale/$language文件夹中获取,在本地翻译
将修改后的文件上传回其来源(Transifex 或 GitHub)。
虽然可通过 Transifex 下载和上传可翻译文件,但不建议采用此方式。因为 Transifex 没有版本控制系统,您上传的文件会直接覆盖现有文件,可能覆盖其他人在平台上所做的修改。
首次在 Qt Linguist 中打开文件时,您会看到以下对话框:
Fig. 4.23 在 Linguist 菜单中选择翻译语言
目标语言应正确填写。源语言可保持默认(语言为 POSIX,国家/地区为任意国家)。
点击 OK 按钮后,Qt Linguist 将加载所有句子,您即可开始翻译,参见 Fig. 4.24。
Fig. 4.24 使用 Linguist 菜单进行翻译
菜单中提供以下便于使用的按钮:
有关 Qt Linguist 的更多使用信息,请参见 https://doc.qt.io/qt-5/linguist-translators.html
Warning
若要从源代码仓库下载待翻译内容,请勿使用 master 分支。对于翻译,始终存在专用的翻译分支——当某版本的英文文档完全更新后即会创建。例如,要翻译 QGIS 2.8 的手册,必须使用 manual_en_v2.8 分支。
4.3.3. 翻译手册
现在我们开始翻译 plugin_heatmap 手册!
大多数句子的翻译都较为直接。在本次翻译过程中,我将指出哪些部分(rst 语句)需要特殊处理。
下面我们看到一个有趣的待翻译句子:
The |heatmap| :sup:`Heatmap` plugin allows to create a heatmap from a
point vector map. A heatmap is a raster map showing the density or
magnitude of point related information. From the result "hotspots" can
easily be identified.
该句子包含两个 rst 语句:
|之间的|heatmap|是替换词,这些词不应该被翻译!这将被替换为热力图插件图标!:sup:`Heatmap`之中的:sup:语句是一个叠加语句,并将下面的文本打印得更高一些。这用于显示当您将鼠标悬停在工具栏项目上方时出现的弹出文本,在QGIS应用程序中实际翻译时,这可能会有所不同。在荷兰的情况下,它不是!
该句子中所有其他纯文本均可翻译!
下一个翻译条目包含 :ref: 语句,通常用于引用手册中其他章节!:ref: 后的文本是唯一标识符,切勿修改!
First this core plugin needs to be activated using the Plugin Manager
(see Section :ref:`load_core_plugin`). After activation the heatmap icon
|heatmap| can be found in the Raster Toolbar.
在这种情况下,load_core_plugin 是放置在具有标题的第一项之前的唯一引用标识符。ref语句将被替换为标题的文本,并转换为超链接。当这个引用所引的标题被翻译时,所有对这个标题的引用也会被自动翻译。
下一条目包含 rst标签 :menuselection:,其后文本为 QGIS 应用程序菜单中实际显示的内容。若该内容在应用程序中已被翻译,则此处也应相应修改。
Select from menu :menuselection:`View --> Toolbars --> Raster` to activate
the Raster Toolbar when it is not yet activated.
在上面的项目“View ->”实际上被翻译成“Beeld ->”,因为这是荷兰本地化的QGIS应用程序中使用的翻译。
再往下,我们会遇到以下较棘手的翻译条目:
The |heatmap| :sup:`Heatmap` tool button starts the Dialog of the Heatmap
plugin (see :numref:`figure_heatmap_settings`).
它包含一个指向图示 figure_heatmap_settings_ 的引用。与章节引用类似,这个引用不应该被改变!!该引用在 rst文档中的定义未包含在 .po 文件中,因此无法修改。这意味着图示引用不可翻译。生成 HTML 时,您将看到 figure_heatmap_settings;生成 PDF 时,figure_heatmap_settings_ 会被替换为图号。
下一个包含 rst属性的翻译条目如下:
**Input Point dialog**: Provides a selection of loaded point vector maps.
请勿删除上述行中的星号。它们用于将所包含文本以粗体显示。该文本通常是对话框中的内容,在应用程序中可能已被翻译。
下面的翻译项包含 :guilabel: rst标签。
When the |checkbox| :guilabel:`Advanced` checkbox is checked it will
give access to additional advanced options.
:guilabel: 标签的文本 “Advanced” 在 QGIS 应用程序中很可能已被翻译,因此此处可能需要修改!
以下翻译条目包含 ``airports``。引号用于将文本显示为另一种字体。此处为字面值,无需翻译。
For the following example, we will use the ``airports`` vector point
layer from the QGIS sample dataset (see :ref:`label_sampledata`).
Another excellent QGIS tutorial on making heatmaps can be found on
`https://www.qgistutorials.com
<https://www.qgistutorials.com/en/docs/creating_heatmaps.html>`_.
此条目还包含一个超链接,包含 URL 和外部显示文本。URL 当然应保持不变,但您可以修改读者可见的外部文本 ``https://www.qgistutorials.com ``。切勿删除超链接末尾的下划线,它是链接的必要组成部分!
4.3.4. 翻译规则总结
请勿修改两个
|之间的字符,例如|bronze|、|checkbox|、|labels|、|selectString|、|addLayer|……这些是用于替换图像的特殊标签。请勿修改以
:ref:、:file:、:numref:等角色开头的引用,除非它们包含标题。若包含标题,可翻译标题,但 必须保留链接部分 (即<与>之间的文本)不变。Tip
当引用包含标题时,Transifex 可能在英文源文本中用数字替代链接部分。请点击源文本中的该数字,将引用链接添加到正在翻译的标题旁边。
请勿修改以下划线结尾的引用,例如
figure_labels_1_请勿修改超链接中的 URL,但可修改外部描述文本。请保留超链接末尾紧邻的下划线,且不要添加额外空格(如
>`_)请修改
:index:、:sup:、:guilabel:和:menuselection:标签引号内的文本。请核实在 QGIS 应用程序中是否/如何翻译,并相应调整。切勿修改标签本身。双星号或双引号之间的文本通常表示值或字段名,有时需要翻译,有时则不需要。
请注意,必须使用与源文本 完全相同 (数量一致)的特殊字符,如
`、``、*、**、::。这些字符影响信息的呈现效果。由特殊字符或标签包裹的文本,开头和结尾均不得包含空格。
译文字符串末尾不要以新段落结束,否则在 HTML 生成时该文本将不会被正确处理。
遵循上述规则,译文文档将呈现良好效果!




