翻译字符串
在 Qt Linguist 中打开翻译源 (TS) 文件进行翻译。TS 文件是包含源短语及其翻译的,人类可读的 XML 文件。TS 文件通常由 lupdate
创建和更新。如果您没有 TS 文件,请参阅创建翻译文件以了解如何生成一个。
您还可以使用Qt Linguist来翻译由其他程序生成的,符合国际 XML 本地化交换格式 (XLIFF) 的文件。但是,对于标准的 Qt 项目,仅使用 TS 文件格式。目前仅支持 XLIFF 版本 1.1 和 1.2。
Qt Linguist 在翻译区域显示目标语言,并根据复数形式相应地调整输入字段的数量。当您同时打开几个 TS 文件进行翻译时,为每种语言都显示 翻译者 和 翻译者注释 字段。有关设置位置信息的更多信息,请参阅 更改目标区域设置。
如果开发者提供了解释性注释,您可以在 开发者注释 字段中看到它。
要翻译字符串
- 选择 文件 > 打开 以加载一个 TS 文件。
- 在 上下文 视图中选择一个上下文以在 字符串 视图中显示可翻译的字符串。
- 选择一个字符串以在翻译区域的 源文本 字段中显示它。源文本内的空白被可视化。
- 在 翻译 字段中输入当前字符串的翻译。
双击 短语和猜测 字段中的一个现有翻译,将其用作当前字符串的翻译。 Qt Linguist 从短语书中读取短语,并根据 TS 文件中类似短语的实际翻译进行猜测。
- 可选地,在 翻译者注释 字段中输入其他翻译者的注释。
- 要接受翻译,请按 Ctrl+Enter,选择 ,或单击字符串列表中选中源字符串左侧的图标。
- 选择 文件 > 保存 以保存您的作品。
重复此过程,直到字符串列表中的所有字符串都被标记为 (接受/正确) 或者 (接受/警告)。然后选择下一个上下文并继续。
要查看源文本和翻译文本中的单词和字符数,请选择 查看 > 统计信息。
选择 文件 > 发布 以创建一个与当前翻译源文件同名的 QM 文件。lrelease
工具对应用程序的所有翻译源文件执行相同的操作。
要打印翻译源和翻译内容,请选择文件 > 打印。
要退出Qt 语言学家,请选择文件 > 退出。
在可翻译字符串之间移动
要移动到下一个未完成翻译,请选择(下一个未完成)或按Ctrl+J。
要移动到下一个源文本,请选择,按Ctrl+Shift+J,或选择翻译 > 下一个。
根据上下文需要多次翻译的短语
相同的短语可能在不同的上下文中出现而不会冲突。当您达到已翻译短语的另一个实例时,Qt 语言学家会在短语和猜测视图中提供先前的翻译作为可能的翻译。
如果短语在特定上下文中出现多次,它只在上下文视图中出现一次,翻译应用于上下文中的每个实例。如果相同的短语在相同的上下文中意味着不同的事情,开发人员必须为短语的每个实例提供注释。重复的短语出现在上下文视图中。开发人员的注释以浅蓝色背景出现在翻译区域的下方。
修改键盘快捷键
键盘快捷键是一个执行动作的组合键。
Alt 键快捷键
在菜单项和按钮文本中,一个访问键字符(由下划线标记)表示按Alt或Ctrl加下划线字符执行与单击菜单项或按按钮相同的行为。
例如,应用程序通常在文件菜单中使用New Ctrl+N作为访问键,因此您可以单击菜单项或按Alt+F来打开菜单。可翻译字符串中的访问键前面加一个和号:\&File
。字符串的翻译也应包含和号,最好放在相同的字符前。
您可以通过包含和号的短语来确定Alt键快捷键的含义。如果翻译短语不包含当前的一个或它在某些上下文中用于其他快捷键的翻译中,则可以使用另一个访问键。一些键快捷键(通常位于菜单栏上)可能在其他上下文中适用。
Ctrl 键快捷键
Ctrl键快捷键可以独立于任何视觉控制存在。通常,它们会在菜单中调用需要多个按键或鼠标点击或不在任何菜单或按钮上出现的行为。例如,文件菜单可能包含一个New Ctrl+N项,您可以在文件菜单关闭时按Ctrl+N召唤它。
每个Ctrl键快捷键在字符串视图中作为单独的字符串出现。例如,Ctrl+Enter。由于字符串没有上下文来给它赋予意义,例如包含Alt键快捷键的短语的上下文,因此您必须依靠开发人员在翻译区域下方的开发者注释中包含一个区分注释来解释Ctrl键快捷键执行的操作。该注释出现在源文本字段下方的翻译区域中。
理想情况下,您可以通过选择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。这两个编号参数都出现在翻译中,但顺序相反。编号参数在翻译中总是替换为相同的文本,不论在源字符串参数序列中的位置如何。
编号参数的使用通常伴随着源文本中复数形式的使用。在许多语言中,文本的形式将取决于显示的值,并且需要多个翻译。如果开发人员正确标记了源文本,翻译区域中将会有每个可能复数形式的字段。有关更多信息,请参阅编写针对翻译的源代码。
更改目标区域
您可以在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
将目标语言设置为德语,并将目标国家设置为瑞士。这也帮助自动加载当前区域的翻译。有关更多信息,请参阅启用翻译。
© 2024 Qt公司有限公司。本文档中包含的贡献的版权属于各自的所有者。本文档受GNU自由文档许可证版本1.3的条款约束,该许可证由自由软件基金会发布。Qt及相关标志是芬兰和/或其他国家的Qt公司有限公司的商标。其他所有商标均为各自所有者的财产。