本页内容

翻译字符串

在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 ”视图中显示可翻译的字符串。

  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键并同时按下该下划线字符,将执行与单击菜单项或按下按钮相同的操作。

例如,应用程序通常将F用作“File ”菜单中的助记符,因此您可以单击该菜单项或按Alt+F来打开该菜单。 可翻译字符串中的助记符前缀为“&”符号:\&File 。该字符串的翻译中也应包含“&”符号,最好位于相同字符的前面。

您可以通过包含“&”符号的短语来确定Alt键快捷键的含义。如果翻译后的短语中不包含当前的助记符,或者该助记符已在当前上下文中用于其他快捷键的翻译,您可以使用另一个助记符。某些键盘快捷键(通常是菜单栏上的那些)可能在其他上下文中也适用。

Ctrl 键快捷键

Ctrl键快捷键可以独立于任何视觉控件而存在。通常,它们用于调用菜单中的操作——这些操作原本需要多次按键或鼠标点击才能完成,或者调用那些未出现在任何菜单或按钮上的操作。例如,“File ”菜单中可能包含一个 New Ctrl+N 项目,即使“File ”菜单处于关闭状态,您也可以通过按下Ctrl+N来调用它。

每个Ctrl键快捷键在“Strings ”视图中均以独立字符串的形式显示。例如,Ctrl+Enter。由于该字符串缺乏赋予其含义的上下文(例如Alt键快捷键所在短语的上下文),因此您必须依赖开发者添加disambiguation comment 来解释该Ctrl键快捷键执行的操作。 该注释显示在翻译区域的“Developer comments ”下方,位于“Source text ”字段下方。

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

注意:请 勿翻译快捷键中的Alt、Ctrl或Shift部分,因为 Qt 会识别这些字符,并会为受支持的语言自动进行翻译。

处理编号参数和复数形式

编号参数是一种占位符,将在运行时被文本替换。它在源字符串中以百分号后跟一个数字的形式出现。例如,在字符串After processing file %1, file %2 is next in line 中,%1 和%2 是编号参数,它们将在运行时被替换为第一个和第二个文件名。相同的编号参数必须出现在翻译中,但不一定需要保持相同的顺序。 该字符串的德语翻译可能会将短语顺序颠倒,例如Datei %2 wird bearbeitet, wenn Datei %1 fertig ist 。两个编号参数均出现在翻译中,但顺序相反。无论在源字符串的参数序列中处于何种位置,编号参数在翻译中始终会被替换为相同的文本。

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

在翻译中处理数字字符引用 (NCR)

选择“NCR mode ”可在源文本和翻译字段中切换数字字符引用(NCR)的显示方式。选中后,文本中的特殊字符将显示为对应的 NCR(例如,不分隔空格显示为  )。 否则,字符将以标准视觉形式显示。此功能有助于确保源文本及其翻译中使用相同的特殊字符(如表情符号、特殊空格等)。

更改目标语言环境

您可以在“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 将目标语言设置为德语,并将目标国家设置为瑞士。这也有助于自动加载当前区域设置的翻译。有关更多信息,请参阅“启用翻译”。

截图显示了 Qt Linguist 的设置窗口,其中源语言为 POSIX,目标语言为德语

© 2026 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.