Qt Linguist手册-翻译员
翻译人员
Qt Linguist 是一款旨在为Qt应用程序提供翻译功能的软件。安装之后,在启动Qt Linguist时会如同开发主机上的其他应用程序一样流畅。
Qt Linguist 主窗口包含一个菜单栏和以下视图:
- Context Selection (F6): Used to select strings from the context list.
- String Display (F7): Shows available strings for translation within the context.
- Source Code Region and Window Area (F9): Displays the source code region if accessible, showing where current strings are used.
- Translation Area: Where translations are applied.
- Term Suggestions (F10): Displays possible translations for current strings.
- Error Indicators (F8): Highlights strings that failed validation tests during translation.

在翻译区域中(1),始终可见
翻译字符串
建议您在 Qt Linguist 应用程序中打开(TS)文件以启动翻译功能。\n\nTs文件是一种格式良好的XML文件,其中记录了原始文本及其对应的翻译内容。\n\nTs文件通常由工具如lupdate自动生成并持续更新。\n\n如果没有现有ts文件,请访问Release Manager详细了解如何创建和更新您的ts文件.
除了现有的开发工具外, 您也可以借助Qt Linguist将由其他程序生成的国际XML本地化交换文件格式(XLIFF)转换为可编辑的形式。然而, 针对标准Qt开发模式, 只能采用TS文件格式进行操作。需要注意的是,XLIFF格式文件必须采用至少版本号为1.1的标准以确保兼容性与功能的一致性。
Qt Linguist 在翻译区域会展示目标语言的同时优化设置以适应复数形式的输入需求。当多个 TS 文件被同时打开并进行翻译操作时 每个语言都会有相应的翻译工具窗口以及注释信息展示
如果一个开发者向系统提交了一个包含消除歧义的注释的任务,则该工具将在其注释字段中显示
翻译字符串:
- 在文件选项中选择并打开TS文件。
- 从上下文视图中选择一个上下文,并将该上下文中的可翻译字符串导入字符串视图。
- 将可翻译字符串复制到目标区域,并使空白区域以直观的形式展示。
- 在目标字段中为当前字符串提供翻译。
- 您还可以在注释字段中添加与本页面相关联的脚本描述以便其他开发者参考。
- 完成后,请按Ctrl+Enter键确认。

请单击字符串列表中选定源字符串左侧的图标(或者),以便执行操作。
点击文件 > 保存以完成保存操作。
重复此过程,直到字符串列表中的所有字符串都标记为

(已接受/更正)或

(已接受/警告)。然后选择下一个上下文并继续。
要查看源文本和翻译文本的字数和字符数,请选择查看 > 统计。
在菜单中点击并打开选项‘文件’后,在其下拉菜单中点击‘发布’按钮。然后生成一个具有相同名称的Qt消息QM文件,并将其命名为与当前翻译源文件基名相同的格式。同时,在完成上述操作后,在终端或命令行界面中运行lrelease命令即可对该工具进行配置设置
要打印翻译源文件和译文,请选择文件 > 打印。
要退出 Qt Linguist,请选择文件 > 退出。
留待以后翻译
如果需要立即退出当前译文,请按下组合键Ctrl+L并选择下一个未完成译文。
如果希望跳转到下一个译文(无论当前状态如何),应按下Shift+Ctrl+L组合键。
此外,在菜单栏中也提供了相应的导航功能。
如果您需要彻底切换至不同的上下文中,则需先点击目标上下文,在字符串视图中选择源文本进行操作。
根据上下文需要多次翻译的短语
同一短语可能会在不同的情境中出现两次及以上,并不会互相影响。每当一个特定的术语在一个具体的情境中被识别时,在后续遇到该术语时系统会将其之前的翻译结果列出来作为备选选项。
在特定上下文中重复出现的同一个短语只会显示一次,并且每次都会应用到上下文视图中。当这些注释被应用时,在浅蓝色背景中会显示这些详细的翻译标记,并且每个标记都会对应到该短语的具体使用场景。为了实现同一短语在不同上下文中的不同翻译效果, 开发人员必须为每次出现的该短语提供独特的注释标识
更改键盘加速器
键盘上的加速器功能类似于组合键,在被按压时会触发特定的操作流程。键盘上的加速器分为两种类型:一种是Alt加速度装置与另一种是Ctrl加速度装置。
Alt 键加速器
Alt 键加速器用于执行菜单选择及按钮操作。当标签包含下划线时,在其上按压 Alt 键将执行如单击标签或按按钮的效果。举个例子,在多数程序中,在 '文件' 子菜单下的 'F' 选项通常会带下划线。在这些程序中,可以选择点击主菜单上的 '文件' 选项或者直接使用快捷键 Alt+F 来调用文件菜单.对于翻译文本中的加速功能,应在相应的术语前添加 &File 标记.若目标字符串包含一个括号,则其对应的翻译应保留这一符号,建议将其放置于对应位置之前.
通过分析嵌入安培符号的意义来识别Alt键加快符的作用。 如果一个翻译后的短语不含相同的字符,并且另一个相关的Alt键加快符已经使用了相同的字符,则允许对当前Alt键加快符中的特定符号进行调整。 相应地,在设计过程中允许对当前Alt键加快符中的特定符号进行调整。 应避免与其他Alt键加快器产生混淆以确保系统的稳定运行。 请特别注意这些快捷方式可能在不同的上下文中应用位置不同。
Ctrl 键加速器
Ctrl 键加速器可独立配置而不受其他界面元素的影响。它们常用于在菜单中需反复点击或拖放才能完成的操作。此外它们还支持执行不在任何菜单或按钮中的操作例如在多数包含"文件"菜单的应用程序中"文件"菜单下都有一个"新建"子项。例如在"文件"菜单下"新建"选项可能以"Ctrl + N"快捷方式显示这意味着只需按下Ctrl + N即可快速调出新建选项无需先点击"文件"再点击"新建" menu或输入Alt + F并选择N。
在字符串视图界面中,默认情况下每个 Ctrl 加速器都被表示为独立的一个字符串。例如按下组合键 Ctrl+Enter。由于该字符串没有上下文来赋予其意义(赋予),例如 Alt 键加速度器出现的短语(短语)上下文(上下文),因此翻译人员必须依赖开发人员添加消歧义注释来明确Ctrl加速度器所执行的操作(操作)。消歧义注释(如果由开发人员提供)将位于源文本字段下方翻译区域中的开发人员注释位置。
在理想状态下, Ctrl 键加速器的功能实现只需通过源文本中的操作路径进行复制操作即可完成这一过程。然而,在某些特殊场景下, 当所选字符在目标语言体系中并无对应意义时,则需要采取其他措施以确保功能正常运转。无论你选择何种类型的字符——无论是字母还是数字——其转换后的形式都必须遵循统一的格式规范即前缀部分必须是 'Ctrl+' 后接一个大写字母这一规定。值得注意的是 Qt 应用程序会在执行相关操作时自动识别并展示正确的名称这一机制与 Alt 键加速器的工作原理相似如果当前的转换设置发生变动则新增设置不得与其他 Ctrl 键加速器产生功能上的干扰
警告 不要翻译加速器的 “Alt”、“Ctrl ”或 “Shift ”部分。Qt 依赖于这些字符串的存在。对于支持的语言,Qt 会自动翻译这些字符串。
处理编号参数和复数
有些短语包含占位符元素,在程序代码字符串中通常表示为%号后跟一个数字,在源代码字符串中显示为一个百分号符号%后面跟有数字字符。例如,在处理完文件 %1 之后下一个文件将是 %2 文件,在需要翻译的字符串中这些 %1 和 %2 占位符元素将分别替换成第一个和第二个文件名字符。需要注意的是,在翻译结果中必须包含相同编号的占位符元素但它们的位置顺序可能会有所不同;此外德文版本可能颠倒这些短语的位置例如 Datei %2 被处理的前提是 Datei %1 已经完成处理工作因此在翻译后的版本中这两个占位符元素都会被替换成相应的文件名但它们的位置可能会互换位置无论原始代码中的占位符索引字符 i 出现在什么位置在目标语言版本中的对应位置都将被相同的字符替代
当源文本采用编号参数时,在许多语言中由于不同的语言对数值有不同的处理方式而导致其呈现形式也会有所差异。因此每个数值可能需要对应的翻译版本来满足不同场景的需求。开发人员若正确标注源文本,则会使得每个数值都有相应的复数字段供参考或生成使用。更多信息,请参阅编写翻译源代码。
更改目标地域
在编辑菜单中的‘翻译文件设置’选项中,请明确指定语言信息。当未对目标语言及国家/地区的具体信息进行明确标注时,默认情况下软件会依据文件名自动推断出目标语言及国家/地区的具体信息。
- language 是小写的 ISO 639 语言代码。
- country 是大写的 ISO 3166 双字母国家代码。
如果解析目标语言和国家的尝试失败,将打开 “翻译文件设置 ”窗口。
例如,在app_de.ts中设置了目标语言为德语,在app_de_ch.ts中也设置了这一参数,并将其国家设定为瑞士。这有助于自动加载当前语言的翻译。有关详细信息,请参阅开发人员

选择要翻译的上下文
下文视图系统详细罗列了要进行语言转换的具体字符串及其所属语境。 按字母顺序排列好的上下文标识符分别对应不同的语境类型。 每个QObject类都定义了一个独立的上下文环境来处理其内部绑定的各种字符串类型。 除了标准配置外,默认未命名的状态还专门用于处理那些不直接关联到任何QObject实例的文字信息。 状态图标直观地反映了各个功能模块当前的语言支持情况:绿色表示已实现功能、黄色表示正在进行开发、红色则表明功能尚待完善
| State | Icon | Description |
|---|---|---|
| Accepted/Correct |

| 上下文中的每一个字符串都已经完成并经过验证的翻译 | |
|---|---|
| 接收成功并显示警告信息 |

所有被处理的字符串均已完成或标记为完成的处理,在此过程中可能会出现未通过验证的情况;请在字符串视图界面中,请检查是否存在尚未通过验证的字符串。

|上下文中至少有一个字符串未翻译或未标记为已翻译。|
|Obsolete|

经过翻译的所有字符串不再包含在当前应用的上下文中;这通常表示该特定内容未被预先定义或配置
项目 列显示上下文中可译文本的总数和已完成文本的数量,并以斜杠符号 (/) 分隔两者数值。 当两者的数量相等时,在该上下文中所有的可译文本都会被完成地处理。
选择要翻译的字符串
字符视图展示了当前上下文中所有的可翻译字符及其处理状态。 点击一个字符将使它成为选定的字符选项,在此视图中即为当前字符展示形式。
为了调整字符的状态,请点击字符左边的功能按钮以切换其处理状态。
带有绿色或黄色勾选号(√)的字符表明已成功处理并获得确认;带有疑问号(?)则表示未完成处理或无对应处理功能。
以上功能按钮将分别展示各类字符目前的状态配置:
| State | Icon | Description |
|---|---|---|
| Accepted/Correct |

注

|当前状态为已完成一部分翻译工作但尚未通过全部验证测试。 当验证测试失败时会在 "警告" 视图中显示相应提示信息。 可通过撤销按钮取消当前接受的状态,并在操作后系统会自动重置状态标记为 "验证失败" 状态;此时在 "上下文" 视图的 "项目" 栏中已被接受的翻译数量将减少 1。
|
Not Accepted

该字符串的翻译通过了全部验证测试。
然而当前状态下尚未完成对该字符串的接受。
单击此图标或使用快捷键Ctrl+Enter来完成接受。
状态将被设置为已完成/正确。
在项目列表中会新增一条已完成记录。

|该字符串为空字符串。 单击此图标后将开始处理未翻的文本。
状态将被设置为 '接受/更正'。
在状态更新过程中,请注意翻送件数量递增1。
|
Validation Failures会被显示为提示信息。

该字符串存在翻译 但其未通过全部验证测试 当执行测试时若出现故障则会在警告视图中显示 单击此图标或按下Ctrl+Enter快捷键 即使出现故障仍可继续处理当前翻译 建议用户重新审视并修正当前的翻译方案 以便排查并解决问题 一旦所有问题已解决系统状态将自动恢复正常

该字符串已失效。 在上下文中不再被使用。 如需了解更多信息,请参阅版本管理器。
在上下文中查看字符串
当 Qt Linguist 能够处理带有可翻译字符串的源文件时,在“语言信息”视图中启用“语言对齐”选项会导致以下结果:首先,在“语言对齐”视图中将展示所有选定语言之间的对应关系;其次,在“翻译结果”视图中将呈现目标语言段落与原文字体之间的对齐信息;最后,在“校对”视图中将显示出所有已校对的语言段落与原文字体之间的对应关系。
当源代码环境中出现错误提示时(在某些情况下)),这可能表明...(此处省略了部分上下文以避免重复)。如需进一步了解如何实现此操作,请参考使用 lupdate 命令。
Qt Designer 生成的表单被保存到特定的文件中(通常称为UI文件)。当翻译过程能够访问这些UI文件时, Qt Linguist能够利用它们来展示尚未完成的部分翻译内容.
重复使用翻译
如果校对的文本与原始内容相近,请参考"翻译"菜单中的选项并按照以下步骤操作:首先使用"翻译"功能将内容复制到目标区域;如果需要特定的操作步骤可参考软件帮助文档获取详细指导
在 Qt Linguist 工具中使用的一组通用翻译规则旨在保障语言应用的一致性运用。这些翻译规则由源语言段落、对应的目标语言段落以及可选的注释说明组成。通常而言,在开发一个语言系统时会针对每个语言设置相应的通用翻译库以满足不同应用程序的需求,并广泛采用这种做法以实现标准化管理与资源复用效果最大化
当'字符'视图中的当前字符被包含在一个或多个预加载的词典条目中时,则该字符及其对应的词典条目翻译会出现在'词典与推测'视图中。若当前条目与另一个已被翻译过的条目匹配或相近,则其他相关条目及其对应翻译也会出现在'词典与推测'视图中。
为了将您的翻译工作转移到'短语和猜测'视图中的翻译区域,请点击此翻译项或选择标记此项后回车。
批量翻译

通过 Qt Linguist 的批次处理功能进行大规模文本翻译时,默认会自动处理短语集中存在的源文本内容。
创建和编辑短语集
短语集文件是一个具有高易读性的XML文件,在其中包含了官方术语及其对应的英文翻译。这些文档由Qt Linguist生成并维护以供在各种项目中使用。
要创建新的短语集,请选择短语 > 新建短语集。

需打开 Shortcuts 集合,请点击菜单栏中的「短语 > 打开短语集」选项,接着从弹出的对话框中选择目标 Qt 短语集文件 (.qph)。
要查看和更改打开的短语集,请选择短语 > 编辑短语集。
该方法对于区分同一源短语的不同翻译非常有用
为了使正在处理的译文被包含在当前的短体集中,请点击菜单栏中的"短体"选项并选择"添加到shorts集"功能(或使用快捷键Ctrl+T)。请注意,在系统中存在多个shorts库的情况下,请确保您只在一个库中进行操作以避免数据混乱。
当识别到显示的短语集条目存在错误时,在短语和猜测视图中显示的短语集条目中发现错误
要删除短语,请在源短语列表中选择该短语,然后选择删除条目。
要打印打开的短语集,请选择短语 > 打印短语集。
验证翻译
Qt Linguist 为翻译提供了以下验证测试:
- 加速验证能够识别那些在目标语言中未包含标点符号的翻译段落。
- 标点符号校验机制则通过比较两端标点符号的存在与否来判断是否存在不一致情况。当出现明显的不匹配情况时,则会触发警报。
- 短语校验过程主要关注于发现与参考集合完全一致的文字片段。
- 位置标记检查程序则用于确认文本编辑过程中变量引用的一致性。
要打开或关闭验证测试,请选择 “验证 ”或使用工具栏按钮。
未能通过验证测试的字符串会在字符串视图显示为‘验证失败’图标。已通过测试的字符串将被显示为‘接受/警告’图标。
当您关闭验证步骤后再次启动时, Qt Linguist 系统将重新审查所有短语, 并标注那些未能通过验证的短语
当您提交的翻译未通过预设的所有验证测试时,在警告视图区域中会显示失败信息;其中第一条失败信息也会出现在状态栏。
注意:只报告活动验证测试的结果。
同时翻译多种语言
系统允许您批量处理多个翻译文件

在翻译区中设有波兰语及日语的文本编辑区域,并采用颜色编码方式区分不同语言的内容。上下文包含‘视图及字符串’‘视图均具备两列状态栏’的信息,并且这些状态栏使用相同的颜色标记以避免混淆。左边的那一列对应于最顶端的语言区块(即波兰语所在的区域),右边的那一列则对应于最低端的语言区块。
在视图中的项目列中包含两种语言的数据整合。当可翻译字符数量与可接受字符数量不一致时,则表明其中一种或两种语言可能需要进行翻译或接受处理。该字符串表示每种语言中每个字符的状态是否被翻译并接收。
