Qt Quick 国际化
为 Qt Quick 应用程序生成翻译文件 (TS 和 QM)。
当你运行示例应用程序时,QML 运行时会根据系统语言自动从包含主 .qml 文件的目录下的 i18n
子目录中加载翻译。
标记可翻译文本
在 qml-i18n.qml
文件中,使用 qsTr
命令标记 UI 文本为可翻译
Text { text: qsTr("Hello")
启用翻译
在 main.cpp
文件中,使用 QQmlApplicationEngine 自动从包含主 QML 文件的目录中名为 i18n
的子目录自动加载翻译文件
#include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine;
在 i18n
子目录中的翻译文件名必须以下标为 qml_
。例如,qml_en_AU.ts
。
创建翻译文件
在 CMakeLists.txt
文件中将 LinguistTools
模块作为 find_package
命令的值
find_package(Qt6 REQUIRED COMPONENTS Core Gui Quick Qml LinguistTools)
在 qt_add_translations 命令中定义要生成的翻译文件
qt_add_translations(qmli18n RESOURCE_PREFIX /qt/qml/translated/i18n TS_FILE_BASE qml TS_FILE_DIR i18n )
构建应用程序以生成 TS 和 QM 文件。
注意: 在 Android 上,确保将 QM 文件作为资源包含。
添加翻译
要为新的语言创建翻译,将 i18n/base.ts 复制到 。您可以使用 Qt Linguist 翻译字符串。
© 2024Qt公司版权所有。此处包含的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 许可的。Qt及其相关标识是芬兰及/或世界各地Qt公司在中国的商标。所有其他商标均为其各自所有者的财产。