掘金 后端 ( ) • 2024-03-30 09:46

Qt Linguist 主界面

Qt Linguist用于翻译Qt应用程序中的字符串的工具,通常用于解决多语言国际化问题。

image-20240309184100784.png

上下文视图

上下文视图列出了要翻译字符串的上下文。标记为上下文的列以字母顺序列出上下文名称。每个上下文都是QML类型的名称或QObject的子类的名称。

image-20240309175336252.png

下面的图标表示每个上下文的当前翻译状态:

状态 图标 描述 接受/正确 img 上下文中所有字符串都已被翻译,并通过验证测试。 接受/警告 img 上下文中的所有字符串都已翻译或标记为翻译,但是至少一个翻译验证测试不通过。 在字符串视图中,可以看到哪个字符串测试失败。 未接受 img 至少有一个字符串没有被翻译或不被标记为翻译。 废弃的 img 翻译后的字符串不再出现在上下文中。这通常意味着应用程序中不再存在上下文。

项目这一列显示上下文中已翻译字符串的数量可翻译字符串的总数,用斜线(/)分隔。如果数字相等,则上下文中的所有可翻译字符串都已翻译。

字符串视图

字符串视图列出了当前上下文中的所有可翻译字符串及其翻译接受状态。选择要在翻译区域中查看和编辑的字符串。

image-20240309181036971.png

下面的图标表示每个字符串的当前翻译状态:

状态 图标 描述 接受/正确 img 源字符串存在翻译(可能为空)。你接受了翻译,并通过所有的验证测试。单击图标可撤销对翻译的接受。如果字符串有翻译,则状态变为未接受;如果翻译为空,则状态为未翻译。如果lupdate更改了字符串的内容,其接受状态将变为未接受。 接受/警告 img 您接受了翻译,但它没有通过所有的验证测试。警告视图显示了失败的地方。如果单击该图标以撤销对翻译的接受,则该状态将变为“验证失败”。 未接受 img 该字符串的翻译通过了所有验证测试,但您尚未接受该翻译。单击图标或按Ctrl+Enter键接受翻译。状态变为“接受/正确”。 未翻译 img 字符串没有翻译。如果单击图标接受空翻译,则状态将变为接受/正确。 验证失败 img 字符串有翻译,但是翻译并未通过所有验证测试。警告视图显示了验证测试失败。单击图标或按CTRL+ENTER即使验证失败的情况下也接受翻译。通常,您应该修复验证失败的原因。当您修复所有失败时,状态将自动变为未接受。 废弃的 img 该字符串已过时。上下文中不再使用它。有关如何从文件中删除过时消息的说明,请参阅使用lupdate。

翻译区域

翻译区域显示选定的字符串并允许您为其输入翻译。

image-20240310182534619.png

源文本中的空格是可视化的。

在输入框中输入当前字符串的翻译。

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

(可选)在译文注释输入框中输入相关的注释。

若要接受翻译,请按 Ctrl+Enter,选择 img ,或单击字符串列表中所选源字符串左侧的图标。

重复此过程,直到字符串列表中的所有字符串都标记为 img (接受/正确) 或 img (接受/警告)。然后选择下一个上下文并继续。

在上下文中查看字符串

如果 Qt Languist 可以访问包含可翻译字符串的源文件,则“源文和窗体”视图将在“字符串”视图中显示当前字符串的源上下文。它突出显示包含当前字符串的源代码行。如果 Qt Languist 找不到源文件,它将显示预期的绝对文件路径。

image-20240310175603357.png

如果源上下文显示错误的源代码行,则翻译文件可能与源文件不同步。有关如何同步文件的详细信息,请参阅使用 lupdate。

Qt Designer 将 UI 视图存储在 UI 文件(. UI)中。Qt Linguist 尝试以视图形式显示翻译。

image-20240309183543576.png

短语和猜测

短语和猜测”视图显示当前字符串及其短语手册翻译。如果当前字符串与已翻译的字符串相同或类似,则视图还列出该字符串及其翻译。

要将翻译从“短语和猜测”视图复制到翻译区域,可以双击它或选择它然后按 Enter

image-20240310175922369.png

警告视图

用于显示翻译过程中的一些警告,比如标点符号不一致等的问题。

image-20240310181211360.png

短语书

短语书文件是人类可读的 XML 文件,包含标准短语及其翻译。这些文件由 Qt 语言学家创建和更新,并且可以被任意数量的项目和应用程序使用。

短语书用于提供一组通用的翻译,以帮助确保一致性。短语书是一组源短语、目标(翻译)短语和可选定义。通常,每个语言和应用程序族都会创建一个短语集。短语书也可以用来避免重复工作,因为一系列应用程序的翻译可以在短语书中生成一次。

创建短语书

要创建一个新短语手册,工具栏选择“短语 > 新建短语书”

image-20240310181936339.png

选择对应的源语言和目标语言的语言国家/地区

image-20240310183234089.png

若要打开短语手册,请选择“短语 > 打开短语书”,然后选择 Qt 短语书文件(.qph)打开。

若要查看和更改打开的短语手册,请选择“短语”> “编辑短语手册”。

image-20240310183902115.png

要添加新短语,请选择 新建条目 (或按 Alt + N)并键入新的源短语、翻译和可选定义。这对于区分同一源语短语的不同译法是很有用的。

要将正在进行的翻译添加到当前短语书中,请选择“短语 > 添加到短语手册”或按 Ctrl + T。如果加载多个短语书,您必须选择一个。

如果在“短语和猜测”视图中显示的短语书条目中检测到错误,也可以通过右键单击条目并选择“编辑”来对其进行原位编辑。修复错误后,按Return键退出编辑模式。

若要删除短语,请在“源短语”列表中选择该短语,然后选择“移除条目”。

若要打印打开的短语手册,请选择“短语 > 打印短语手册”。

https://doc.qt.io/qt-6/qtlinguist-index.html

https://doc.qt.io/qt-6.2/linguist-translators.html#translating-strings

https://www.qt.io/resources/videos/how-to-do-translations-with-qt-linguist

原文链接:Qt lconvert 工具介绍