Ash*_*iya 19 c++ qt qt4 cmake internationalization
问候所有,
我正在尝试使用CMake进行QT国际化.我已经配置了我的cmake文件,如下所示:
#Internalization - this should generate core_jp.ts ?
SET(rinzo_core_TRANSLATIONS
i18n/core_jp.ts
)
#these are my source files in the project
SET(FILES_TO_TRANSLATE
${rinzo_core_srcs}
${rinzo_core_moh_srcs}
)
QT4_CREATE_TRANSLATION(QM_FILES ${FILES_TO_TRANSLATE} ${rinzo_core_TRANSLATIONS})
QT4_ADD_TRANSLATION(QM ${rinzo_core_TRANSLATIONS})
Run Code Online (Sandbox Code Playgroud)
但它不会生成任何TS或QM文件.
我的问题 -
1.Cmake(通过使用QT工具)生成TS文件自动从源中提取"tr()"方法吗?(这意味着我不必创建任何TS文件,上面的i18n/core_jp.ts将自动生成)
2. QM文件有什么特别之处?
提前致谢
在CMake文档中查看QT4_CREATE_TRANSLATION
和QT4_ADD_TRANSLATION
宏.
所以你应该做到以下几点:
SET(Lang_files
example.ts
)
...
QT4_CREATE_TRANSLATION(LangSrcs ${Lang_files})
...
ADD_EXECUTABLE(project_name ... others sources ... ${LangSrcs})
Run Code Online (Sandbox Code Playgroud)
根据http://itk.org/Wiki/CMake:How_To_Build_Qt4_Software翻译二进制文件 (*.qm)
也来自该网站的底部
Usage - Updating the .ts files
Run Code Online (Sandbox Code Playgroud)
当您希望它处理所有源文件(寻找要翻译的新文本)时,请配置 cmake 以打开 UPDATE_TRANSLATIONS,然后创建您的项目。除了生成 .qm 文件之外,CMake 还将修改 SOURCE 文件夹中的 .ts 文件。警告:请注意,CMake 将更新源 .ts 文件,这意味着如果>您执行 make clean,它将删除您的源 .ts 文件!因此,最好尽快关闭 UPDATE_TRANSLATIONS。
归档时间: |
|
查看次数: |
5510 次 |
最近记录: |