QML 基础——QML 国际化(中文示例)
在 Qt 程序中如何使用多国语言已经在《Qt 的国际化和本地化》 这篇文章中有所介绍,本文则针对如何对出现在QML 中的字符串进行国际化进
行专门介绍。
本本将通过一个很小的中文例子程序,向大家一步步讲解如何使得出现在 QML 代码中的字符串显示成中文。示例程序可通过本文末尾所附链接
下载。更多阅读可以参照“QML 的国际化”
修改 pro
在 Qt 的 pro 文件中首先加入以下几行:
CONFIG += localize_deployment
SYMBIAN_SUPPORTED_LANGUAGES += zh_CN
SYMBIAN_LANG.zh_CN = 31
TRANSLATIONS = displayChinese_zh_CN.ts
其中 CONFIG += localize_deployment 是为了可以为应用程序添加中文名称。
然后加入以下几行:
symbian {
addFiles.sources = qml/displayChinese/displayChinese_zh_CN.qm
addFiles.path = .
DEPLOYMENT += addFiles
}
这是为了程序在手机上能够找到需要的 qm 文件
标记字符串
出现在 QML 中的字符串如果需要翻译则可以通过使用 qsTr(), qsTranslate(), QT_TR_NOOP(),或 QT_TRANSLATE_NOOP() 来进行标记。
例如在本例程中:
Text {
text: qsTr("display Chinese character.")
anchors.centerIn: parent
}
使用了 qsTr()。 只有这样做过标记之后,translator 才知道“display Chinese character”。是需要被翻译的,以便于后面进行处理
生成中文目标语言的 ts 文件
首先需要启动命令行,例如如果我们安装的是 QtSDK 1.1 beta 则启动下图所示 command prompt:
在命令行中进入我们项目的根目录,然后输入以下命令:
lupdate qml/displayChinese/main.qml -ts qml.ts