翻译字符串

Qt Linguist 中打开翻译源 (TS) 文件进行翻译。TS 文件是人类可读的 XML 文件,包含源短语及其翻译。TS 文件通常由lupdate 创建和更新。如果您没有 TS 文件,请参阅创建翻译文件了解如何生成。

您还可以使用Qt Linguist 翻译由其他程序生成的国际 XML 本地化交换文件格式 (XLIFF) 文件。不过,对于标准 Qt 项目,只能使用 TS 文件格式。目前只支持 XLIFF 1.1 和 1.2 版本。

Qt Linguist 在翻译区域显示目标语言,并相应调整复数形式的输入字段数量。同时打开多个 TS 文件进行翻译时,每种语言都会显示 和 字段。有关设置位置信息的更多信息,请参阅Translator Translator comment 更改目标位置

如果开发人员提供了消除歧义的注释,您可以在Developer comments 字段中看到该注释。

翻译字符串:

  1. 选择File >Open 加载 TS 文件。
  2. Context 视图中选择一个上下文,在Strings 视图中显示可翻译的字符串。

    在 Qt Linguist 中打开两个 TS 文件

  3. 选择一个字符串,将其显示在翻译区域的Source text 字段中。源文本中的空白会被可视化。
  4. Translation 字段中输入当前字符串的翻译。

    双击Phrases and guesses 字段中的现有译文,将其用作当前字符串的译文。Qt Linguist 从短语书中读取短语,并根据 TS 文件中类似短语的现有译文进行猜测。

  5. 可选择在Translator comment 字段中输入注释,供其他译员参考。
  6. 要接受翻译,请按Ctrl+Enter 键,选择 ,或单击字符串列表中选定源字符串左侧的图标。
  7. 选择File >Save 保存您的工作。

重复此过程,直到字符串列表中的所有字符串都标记为 (Accepted/Correct) 或 (Accepted/Warnings)。然后选择下一个上下文并继续。

要查看源文本和翻译文本中的字数和字符数,请选择View >Statistics

选择File >Release 可创建一个与当前翻译源文件基名相同的 QM 文件。lrelease 工具对应用程序的所有翻译源文件执行相同的功能。

要打印翻译源文件和译文,请选择File >Print

要退出Qt Linguist ,请选择File >Exit

在可翻译字符串之间移动

要移动到下一个未完成的翻译,请选择 (Next Unfinished) 或按Ctrl+J

要移动到下一个源文本,请选择 ,按Ctrl+Shift+J 或选择Translation >Next

根据上下文需要多次翻译的短语

同一短语可能出现在多个上下文中,但不会发生冲突。当出现另一个已翻译短语时,Qt Linguist 会在Phrases and guesses 视图中提供前一个翻译作为可能的翻译。

如果一个短语在特定上下文中出现不止一次,那么它在Context 视图中只出现一次,翻译将应用于上下文中出现的每一次。如果同一短语在同一上下文中表示不同的意思,开发人员必须为该短语的每次出现提供注释。重复的短语会出现在Context 视图中。开发人员的注释会出现在翻译区域,背景为浅蓝色。

更改键盘快捷键

键盘快捷键是执行某个操作的组合键。

Alt 快捷键

在菜单项和按钮文本中,一个助记符(用下划线标出)表示按Alt键或Ctrl键时,下划线字符会执行与单击菜单项或按下按钮相同的操作。

例如,在File 菜单中,应用程序通常使用F作为助记符,因此可以单击菜单项或按Alt+F打开菜单。可翻译字符串中的助记符前缀为:\&File 。该字符串的译文也应包含一个 "括号",最好在同一字符前。

您可以从包含 "amppersand "的短语中确定Alt快捷键的含义。如果翻译的短语中不包含当前的助记符,或者在翻译上下文中的其他快捷键时使用了该助记符,则可以使用其他助记符。某些快捷键(通常是菜单栏上的快捷键)可能适用于其他上下文。

Ctrl 快捷键

Ctrl快捷键可以独立于任何可视化控件而存在。通常,它们调用菜单中需要多次击键或点击鼠标的操作,或者调用不出现在任何菜单或按钮上的操作。例如,File 菜单可能包含一个 New Ctrl+N项目,即使File 菜单已关闭,也可以通过按Ctrl+N调用该项目。

每个Ctrl快捷键在Strings 视图中都显示为单独的字符串。例如,Ctrl+Enter。由于该字符串没有上下文赋予其含义,例如Alt快捷键出现的短语上下文,因此必须依靠开发人员在disambiguation comment 中解释Ctrl快捷键执行的操作。注释会出现在Source text 字段下方翻译区域的Developer comments 下。

理想情况下,您可以通过选择Translation >Copy from source text 来复制Ctrl快捷键的翻译。但是,如果该字符在目标语言中没有意义,则应进行更改。无论选择哪种字符(字母或数字),都要使用Ctrl+的形式,后面跟大写字符。Qt 会在运行时自动显示正确的名称。与Alt快捷键一样,如果更改字符,请确保它不会与任何其他Ctrl快捷键冲突。

注意: 请勿翻译快捷键的AltCtrlShift部分,因为 Qt 会识别它们并自动翻译为支持的语言。

处理编号参数和复数形式

编号参数是一个占位符,将在运行时用文本替换。它在源代码字符串中显示为一个百分号,后面跟一个数字。例如,在After processing file %1, file %2 is next in line 字符串中,%1%2 是编号参数,运行时将替换为第一个和第二个文件名。翻译中必须出现相同编号的参数,但顺序不一定相同。字符串的德语翻译可能会颠倒短语,例如Datei %2 wird bearbeitet, wenn Datei %1 fertig ist 。这两个编号参数都会出现在译文中,但顺序相反。无论参数序列在源字符串中的位置如何,编号参数在译文中总是被相同的文本取代。

使用编号参数时,源文本中通常会使用复数形式。在许多语言中,文本的形式取决于显示的值,因此需要多个译文。如果开发人员以正确的方式标注了源文本,则翻译区域中将提供每种可能的复数形式的字段。更多信息,请参阅编写翻译源代码

更改目标语言

您可以在Edit >Translation File Settings 中明确设置本地化信息。如果在打开翻译源文件时未明确设置目标语言和国家/地区,Qt Linguist 会尝试从翻译源文件名中扣除。这就要求翻译文件遵守以下文件名约定:appname_language[_country].ts其中

  • language 是小写的 ISO 639 语言代码。
  • country 是大写的 ISO 3166 双字母国家代码。

如果解析目标语言和国家的尝试失败,则会打开Translation File Settings 窗口。

例如,app_de.ts 将目标语言设为德语,app_de_CH.ts 将目标语言设为德语,目标国家设为瑞士。这也有助于自动加载当前语言的翻译。有关更多信息,请参阅启用翻译

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.