Qt语言文件的自动编译
1. 登记ts目标
QMake工程加入ts文件位置和自动编译配置
1 | ... |
CONFIG
的详情见[1]。
Qt Linguist 会根据 TS 文件名自动设置区域[2]。
2. 创建ts文件
使用IDE创建:
- Qt Creator打开工程文件
- 菜单→工具→外部→Qt预言家→更新翻译
使用命令行创建:
运行
1 | lupdate project.pro |
3. 翻译ts文件中的条目
使用Qt Linguist打开ts文件,翻译条目。
4. 编译ts文件
使用IDE创建:
- Qt Creator打开工程文件
- 菜单→工具→外部→Qt预言家→发布翻译
使用命令行创建:
运行
1 | lrelease project.pro |
自动编译:
如果工程中有 CONFIG += lrelease embed_translations
,则编译时会自动调用 lrelease
编译 TRANSLATIONS
和 EXTRA_TRANSLATIONS
中的文件,并将生成的 .qm
文件通过自动生成的资源文件嵌入到可执行文件中。
5. 加载qm文件
下面是一个使用翻译文件的Qt程序的例子:
1 | ... |
参考
-
展开
CONFIG
...
The following
CONFIG
values control compiler and linker flags:Option Description ... ... lrelease Run lrelease for all files listed in TRANSLATIONS
andEXTRA_TRANSLATIONS
. If embed_translations is not set, install the generated .qm files intoQM_FILES_INSTALL_PATH
. UseQMAKE_LRELEASE_FLAGS
to add options to the lrelease call. Not set by default.embed_translations Embed the generated translations from lrelease in the executable, under QM_FILES_RESOURCE_PREFIX
. Requires lrelease to be set, too. Not set by default.... ... QM_FILES_RESOURCE_PREFIX
Specifies the directory in the resource system where
.qm
files will be made available byCONFIG += embed_translations
.The default is
:/i18n/
.