4. 翻译指南
这本手册的目的是帮助翻译。首先,对翻译的一般技术流程进行了说明。随后,从翻译成荷兰语的实际英文原文中解释翻译。最后,总结一下 Rules of translation 是被给予的。
备注
虽然这些指南侧重于QGIS文档,但下面介绍的方法和规则也适用于QGIS应用程序和网站翻译。
4.1. 翻译过程
QGIS文档是用英文编写的 .rst
档案。为了提供翻译,请执行以下操作:
预构建脚本创建名为的转换文件
.po
文件夹中的英文文件/QGIS-Documentation/locale/en
。书中的句子
.po
文件将被推送到Tamerfex网络平台,并供翻译人员使用,这些翻译人员可以开始使用编辑器将英语翻译成他们的语言。当文件以100%的速度进行翻译时,翻译后的字符串将自动拉回到文档存储库,位于
/QGIS-Documentation/locale/<language>
。在文档的下一次构建(每天至少出现一次--请参见页面底部的Time)时,脚本将重用这些句子来创建翻译后的输出。
对于未完全翻译的文件,脚本每两周提取一次已翻译的字符串,并在下一次构建时发布这些字符串。
无论何时
.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
那么,我为什么要选择这份文件呢?
它包括图像、标题、标题、引用和替换。
我写它是为了让我更容易翻译;-)
构建过程已经创建了英语 .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进行翻译,需要:
create an account on Transifex and join the QGIS project <https://qgis.org/en/site/getinvolved/translate.html#join-a-project> _.
一旦您成为语言团队的一员,请单击相应的项目(在本例中
QGIS Documentation
)。此时将显示可用语言的列表及其翻译比率。将鼠标悬停在您的语言上,然后单击其中一个:
View resources :可翻译
.po
现在将显示文件及其翻译率、字符串数和一些更多元数据。或 Translate :打开所有可用的翻译界面
.po
文件
确定您想要翻译的文件(在本例中,我们正在查找
docs_user-manual_plugins_plugins-heatmap
、热图插件文件)或任何未完成的文件,然后单击它:文件中的字符串被加载,您可以使用界面来过滤、翻译、建议翻译……小技巧
有关文档或网站,请单击
Fix me
页面页脚中的链接会将您直接带到其对应的翻译页。您所需要做的就是选择每个文本并按照 guidelines 。
如需了解更多有关使用TRANSFEX网络编辑器的信息,请访问https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor.
4.2.2. Qt语言学家的翻译
与QT语言学家一起,您需要:
手动抓取
.po
或.ts
档案(S)。这可以通过下载文件(S)来实现,该文件可以是从飞天平台下载的,也可以是从locale/$language
源库的文件夹(在GitHub中),继续进行本地翻译
将修改后的文件上载到它们的源文件(Tamerfex或GitHub)。
虽然下载和上传可翻译的文件可以使用Telamfex完成,但不建议使用此过程。由于Tamerfex上没有版本控制系统,您上传的文件只会替换现有的文件,同时可能会覆盖平台上其他人所做的任何修改。
当您第一次在Qt Language ist中打开该文件时,您将看到以下对话框:
应正确填写目标语言。源语言可以与POSIX语言和任何国家/地区的语言保持不变。
When you press the OK button Qt Linguist is filled with sentences and you can start translating, see 图 4.22.
在菜单中,您可以看到以下使用方便的按钮。
翻译完成下一步按钮是最重要的按钮。如果项目需要翻译,请在文本字段中输入翻译,然后点击此按钮。如果该项目不需要翻译,只需将用于翻译的文本字段留空,然后点击此按钮即可指示该项目已完成,您可以继续下一个项目。
下一个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.
这句话包含两个第一句话:
|heatmap|
词与词之间|
都是替代的,这些永远不应该被翻译!这将被热图插件图标所取代!: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. 翻译的汇总规则
不要在两个文本之间更改文本
|
这样的角色|bronze|
,|checkbox|
,|labels|
,|selectString|
,|addLayer|
..。这些是用于替换图像的特殊标签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可能会在英文源文本中显示一个数字来代替链接部分。单击源文本中的数字可在要翻译的书目旁边添加参考链接。
不要更改以下划线结尾的引用,如
figure_labels_1_
请勿更改超链接中的URL,但您可以更改外部描述。在超链接末尾保留下划线,不留额外空格 (
>`_
)更改后面引号内的文本
:index:
,:sup:
,:guilabel:
和:menuselection:
标签。检查是否/如何在QGIS应用程序中对其进行翻译。请勿更改标记本身。双星和双引号之间的文本通常表示值或字段名,有时它们需要翻译,有时不需要。
请注意使用与源文本完全相同(数量)的特殊字符,例如
`
,`
, ``*` ,**
,::
。这些都有助于为化妆品提供信息请勿以特殊字符或带空格的标记开头或结尾
翻译后的字符串不要以新段落结尾,否则文本在html生成过程中不会被翻译。
遵循上面的规则,翻译后的文档就会看起来很好!
如有任何疑问,请联系 QGIS Community Team 或 QGIS Translation Team 。