翻译

“翻译”视图包含在Qt设计工作室企业许可证中。

您在“翻译”视图中处理翻译和多语言支持。

"Translations view"

导入和导出翻译

您可以使用JSON文件导入和导出翻译。

以下是一个示例JSON翻译文件

{
    "translatables": [
        {
            "trId": "translation_password",
            "translations": [
                {
                    "language": "en",
                    "translation": "Password"
                },
                {
                    "language": "fi",
                    "translation": "Salasana"
                }
            ]
        }
    ]
}

导入翻译

要将JSON翻译文件导入到您的Qt设计工作室项目中

  • 在Qt设计工作室的“翻译”视图中,选择并打开JSON文件。

匹配的qsTrId文本字符串被翻译。例如,如果您在JSON文件中指定了以下翻译ID

"trId": "translation_password",
"translations": [
    {
        "language": "en",
        "translation": "Password"
    },
    {
        "language": "fi",
        "translation": "Salasana"
    }
]

翻译将适用于项目中具有该翻译ID的所有qsTrId字符串。

生成Qt翻译源文件

您需要为您的项目生成Qt编译翻译源文件(.qm)和Qt翻译源文件(.ts),以便在应用程序的实际应用和实时预览中实现翻译功能。

要生成这些文件,请选择翻译视图中的。文件将生成在<项目文件夹>/i18n

为单个文档运行翻译测试

您可以通过运行翻译测试来查找缺失的翻译和文本超过文本元素边界的翻译。运行测试是快速检查在二维视图中打开的文档翻译的一种方法,因为它会突出显示UI中的错误。

要为当前打开的文档运行测试

  1. 翻译视图中,选择
  2. 选择要运行的测试和每个测试的突出显示颜色。
    • 成功 突出显示没有警告的翻译。
    • 缺失翻译 突出显示缺失一个或多个语言翻译的翻译。
    • 超出边界 突出显示文本太长无法适合文本对象中的翻译。

  3. 选择 运行测试

测试完成后,您可以在 2D 视图中查看测试结果突出显示。

如果测试发现错误,它将在所有语言中突出显示。例如,如果缺少瑞典语翻译,在查看任何其他语言时也会将其突出显示为缺失。

运行QML语言测试会在项目根目录中生成JSON格式的报告。该报告以 translation_report_<ui-file-name>.json 的名称生成。

QML语言测试报告示例

{
    "components": [
        {
            "componentPath": "C:/project-directory/content/Screen01.ui.qml",
            "errors": [
                {
                    "column": 15,
                    "errorType": "Exceeds",
                    "line": 45
                },
                {
                    "column": 15,
                    "errorType": "Missing translation",
                    "line": 59
                }
            ]
        }
    ]
}

报告显示错误的类型以及受影响的文本元素在 ui.qml 文件中的行和列。

为多个文档运行翻译测试

您可以为多个 .ui.qml 文件同时运行项目翻译测试。Qt Design Studio运行与 翻译测试 中的相同测试,并生成相同的测试报告,但不会突出显示UI中的错误。

要为多个文档运行翻译测试

  1. 翻译 视图中选择
  2. 选择要包括在测试中的文件。
  3. 选择 运行测试

以其他方式导出翻译

翻译 视图中选择 ,以进行导出翻译的其他方法

  • 将使用过的翻译导出到JSON 导出项目当前使用中翻译的所有翻译。
  • 导出当前文档的翻译到JSON 导出项目当前打开文档中的所有翻译。

在特定Qt许可证下有效。
了解更多。