4. 翻译指南

这本手册的目的是帮助翻译。首先,对翻译的一般技术流程进行了说明。随后,从翻译成荷兰语的实际英文原文中解释翻译。最后,总结一下 Rules of translation 是被给予的。

备注

虽然这些指南侧重于QGIS文档,但下面介绍的方法和规则也适用于QGIS应用程序和网站翻译。

4.1. 翻译过程

QGIS文档是用英文编写的 .rst 档案。为了提供翻译,请执行以下操作:

  1. 预构建脚本创建名为的转换文件 .po 文件夹中的英文文件 /QGIS-Documentation/locale/en

  2. 书中的句子 .po 文件将被推送到Tamerfex网络平台,并供翻译人员使用,这些翻译人员可以开始使用编辑器将英语翻译成他们的语言。

  3. 当文件以100%的速度进行翻译时,翻译后的字符串将自动拉回到文档存储库,位于 /QGIS-Documentation/locale/<language>

  4. 在文档的下一次构建(每天至少出现一次--请参见页面底部的Time)时,脚本将重用这些句子来创建翻译后的输出。

  5. 对于未完全翻译的文件,脚本每两周提取一次已翻译的字符串,并在下一次构建时发布这些字符串。

  6. 无论何时 .rst 文件更新后,英文 .po 文件被更新,并将更改推送到Transformfex中的相应文件。这意味着当将新段落添加到 .rst 已翻译的文档中,只有新的/更新的句子会添加到已翻译的文档中 .po 文件,并且需要进行翻译。

备注

翻译QGIS Desktop特定信息

翻译QGIS应用程序的主要区别在于,它不同于 .po 文件中的所有可翻译字符串。 .py.cpp.yaml 将形成特定应用程序版本的文件作为单个 .ts 文件(例如 qgis-application/qgis_en.ts (branch release-3_30) )。翻译被拉到Github开发分支(每天),并在发布时(对于每个发布的版本)。

目前在QGIS中使用两种不同的工具进行翻译:

  • 这个 Transifex web platform ,这是翻译QGIS最简单和推荐的方法,它透明地执行上述过程,并将所有可翻译的文本放在一个地方供翻译人员使用。只需选择您想要的文件并翻译即可。翻译后的文件将存储在平台中,直到推送另一个版本。

  • Qt Linguist <https://doc.qt.io/qt-5/qtlinguist-index.html> _,一个Qt开发工具,需要翻译人员在本地拉出 .po (或 .ts )文件,进行翻译,然后推送回来。

请注意,无论您选择哪种工具,翻译规则都是相同的。

4.2. 翻译文件

为了解释翻译的工作原理,我们将以热图插件为例。在本例中,我们将把它从英语翻译成荷兰语,但对于所有语言的其他文档来说,这实际上是相同的。

该文档的来源可在以下位置找到:

QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst

那么,我为什么要选择这份文件呢?

  1. 它包括图像、标题、标题、引用和替换。

  2. 我写它是为了让我更容易翻译;-)

构建过程已经创建了英语 .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.2.1. TRANSFEX中的翻译

要使用TRANSPEFEX进行翻译,需要:

  1. create an account on Transifex and join the QGIS project <https://qgis.org/en/site/getinvolved/translate.html#join-a-project> _.

  2. 一旦您成为语言团队的一员,请单击相应的项目(在本例中 QGIS Documentation )。此时将显示可用语言的列表及其翻译比率。

    ../../_images/transifex_choose_language.png

    图 4.20 在转换文件菜单中选择要翻译的语言

  3. 将鼠标悬停在您的语言上,然后单击其中一个:

    • View resources :可翻译 .po 现在将显示文件及其翻译率、字符串数和一些更多元数据。

    • Translate :打开所有可用的翻译界面 .po 文件

  4. 确定您想要翻译的文件(在本例中,我们正在查找 docs_user-manual_plugins_plugins-heatmap 、热图插件文件)或任何未完成的文件,然后单击它:文件中的字符串被加载,您可以使用界面来过滤、翻译、建议翻译……

    小技巧

    有关文档或网站,请单击 Fix me 页面页脚中的链接会将您直接带到其对应的翻译页。

  5. 您所需要做的就是选择每个文本并按照 guidelines

如需了解更多有关使用TRANSFEX网络编辑器的信息,请访问https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor.

4.2.2. Qt语言学家的翻译

与QT语言学家一起,您需要:

  1. 手动抓取 .po.ts 档案(S)。这可以通过下载文件(S)来实现,该文件可以是从飞天平台下载的,也可以是从 locale/$language 源库的文件夹(在GitHub中),

  2. 继续进行本地翻译

  3. 将修改后的文件上载到它们的源文件(Tamerfex或GitHub)。

虽然下载和上传可翻译的文件可以使用Telamfex完成,但不建议使用此过程。由于Tamerfex上没有版本控制系统,您上传的文件只会替换现有的文件,同时可能会覆盖平台上其他人所做的任何修改。

当您第一次在Qt Language ist中打开该文件时,您将看到以下对话框:

../../_images/linguist_choose_language.png

图 4.21 在语言学家菜单中选择要翻译的语言

应正确填写目标语言。源语言可以与POSIX语言和任何国家/地区的语言保持不变。

When you press the OK button Qt Linguist is filled with sentences and you can start translating, see 图 4.22.

../../_images/linguist_menu.png

图 4.22 使用语言学家菜单进行翻译

在菜单中,您可以看到以下使用方便的按钮。

  • linguist_done_next 翻译完成下一步按钮是最重要的按钮。如果项目需要翻译,请在文本字段中输入翻译,然后点击此按钮。如果该项目不需要翻译,只需将用于翻译的文本字段留空,然后点击此按钮即可指示该项目已完成,您可以继续下一个项目。

  • linguist_previous “转到上一个”按钮,可以用来转到上一个翻译项目。

  • linguist_next 转到下一个按钮,可以用来转到下一个翻译项目。

  • linguist_next_todo 下一个TODO按钮,跳到仍然需要翻译的第一个翻译项目。当原始文档已更改并且只需要翻译几个新的/更改的句子时,这一功能非常方便。

  • linguist_previous_todo “上一个待办事项”按钮向后搜索并跳转到它发现仍需要翻译的第一个翻译项目。

有关使用Qt Language ist的更多信息,请参见https://doc.qt.io/qt-5/linguist-translators.html

警告

如果要从源库下载要翻译的内容,请不要在 master 布兰奇。对于翻译,一旦文件完全更新为某个版本的英文版本,则始终有翻译分支可用。例如,要翻译QGIS2.8的手册,您必须使用MANUAL_EN_V2.8分支。

4.2.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.

这句话包含两个第一句话:

  1. |heatmap| 词与词之间 | 都是替代的,这些永远不应该被翻译!这将被热图插件图标所取代!

  2. :sup:`Heatmap 、 `:sup:`` 语句是一个叠加语句,并将下面的文本打印得稍高一些。它用于显示当您将鼠标悬停在工具栏项目上方时出现的弹出文本,当它在QGIS应用程序中实际被翻译时,它可能会有所不同。在荷兰,情况并非如此!

这句话中的所有其他纯文本都可以翻译!

下一个翻译项包含 :ref: 通常用来引用手册中其他部分的语句!A后面的文本 :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-tag :menuselection: 后跟在QGIS应用程序的菜单中实际显示的文本,这可能会在应用程序中被翻译,因此在这种情况下应该进行更改。

Select from menu :menuselection:`View --> Toolbars --> Raster` to activate
the Raster Toolbar when it is not yet activated.

在上面的“View-->”项中,“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-Document的引用定义不包括在 .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.

正文 Advanced 可以很好地在QGIS应用程序中转换,并且可能需要更改!

以下翻译项包含``机场``。引号用于为文本提供另一种文本字体。在本例中,它是字面值,不需要翻译。

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.2.4. 翻译的汇总规则

  1. 不要在两个文本之间更改文本 | 这样的角色 |bronze||checkbox||labels||selectString||addLayer| ..。这些是用于替换图像的特殊标签

  2. Do not change references that start with roles like :ref:, :file:, :numref: unless they include a title. In that case, you can translate the title but keep unchanged the link (i.e., the text between < and >)

    小技巧

    当提供一个标题以供参考时,Tamerfex可能会在英文源文本中显示一个数字来代替链接部分。单击源文本中的数字可在要翻译的书目旁边添加参考链接。

  3. 不要更改以下划线结尾的引用,如 figure_labels_1_

  4. 请勿更改超链接中的URL,但您可以更改外部描述。在超链接末尾保留下划线,不留额外空格 (>`_ )

  5. 更改后面引号内的文本 :index::sup::guilabel::menuselection: 标签。检查是否/如何在QGIS应用程序中对其进行翻译。请勿更改标记本身。

  6. 双星和双引号之间的文本通常表示值或字段名,有时它们需要翻译,有时不需要。

  7. 请注意使用与源文本完全相同(数量)的特殊字符,例如 `` , ``*`**:: 。这些都有助于为化妆品提供信息

  8. 请勿以特殊字符或带空格的标记开头或结尾

  9. 翻译后的字符串不要以新段落结尾,否则文本在html生成过程中不会被翻译。

遵循上面的规则,翻译后的文档就会看起来很好!

如有任何疑问,请联系 QGIS Community TeamQGIS Translation Team