博客
关于我
Qt国际化和CMake:如何更新* .ts
阅读量:509 次
发布时间:2019-03-07

本文共 1146 字,大约阅读时间需要 3 分钟。

方法一:

ts文件需要自己先生成。

#需要加载翻译工具find_package(Qt5LinguistTools REQUIRED)#获取所有的翻译ts文件set(TS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../translations")file( GLOB TS_FILES    ${TS_DIR}/*.ts)##编译时更新.ts .qmforeach(_ts_file ${TS_FILES})    execute_process(        COMMAND ${LUPDATE_EXECUTABLE} -recursive ${CMAKE_SOURCE_DIR} -ts ${_ts_file})    execute_process(COMMAND lrelease ${_ts_file})endforeach()##lupdate end

 

方法二:

不要丢失它们(Qt internationalization and CMake: how to update *.ts 

我有这个 CMakeLists.txt 在目录与翻译文件( *。ts ):

SET(TRANSLATIONS  lang_de.ts  lang_en.ts ) FIND_PACKAGE(Qt5LinguistTools) QT5_ADD_TRANSLATION(QM_FILES $ {TRANSLATIONS}) SET(QM_FILES $ {QM_FILES} PARENT_SCOPE) ADD_CUSTOM_TARGET(ALL DEPENDS $ {QM_FILES})

它从构建 *.qm > *.ts 。

但我想改进这个,并得到两个自定义目标,

一个用于将源文件中的新字符串附加到 ts 文件中,一个用于刷新 ts 。最后一个将从源更新 ts ,并从 ts 中删除​​过时的字符串。

我已尝试在上面的行之后添加:

ADD_CUSTOM_TARGET( ts_append  COMMAND QT5_CREATE_TRANSLATION(QM_FILES $ {CMAKE_SOURCE_DIR} / src / app $ {TRANSLATIONS}选项-I $ {CMAKE_SOURCE_DIR} / src))  ADD_CUSTOM_TARGET( ts_refresh  COMMAND QT5_CREATE_TRANSLATION(QM_FILES $ {CMAKE_SOURCE_DIR} / src / app $ {TRANSLATIONS}选项-no-obsolete -I $ {CMAKE_SOURCE_DIR} / src))

 

转载地址:http://oisjz.baihongyu.com/

你可能感兴趣的文章
Networkx写入Shape文件
查看>>
NetworkX系列教程(11)-graph和其他数据格式转换
查看>>
Networkx读取军械调查-ITN综合传输网络?/读取GML文件
查看>>
network小学习
查看>>
Netwox网络工具使用详解
查看>>
Net与Flex入门
查看>>
net包之IPConn
查看>>
net发布的dll方法和类显示注释信息(字段说明信息)[图解]
查看>>
Net操作配置文件(Web.config|App.config)通用类
查看>>
NeurIPS(神经信息处理系统大会)-ChatGPT4o作答
查看>>
neuroph轻量级神经网络框架
查看>>
Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
查看>>
NEW DATE()之参数传递
查看>>
New Relic——手机应用app开发达人的福利立即就到啦!
查看>>
new 一个button 然后dispose,最后这个button是null吗???
查看>>
next项目部署到服务器pm2进程守护
查看>>
nexus 介绍
查看>>
nexus上传jar
查看>>
Nexus指南中的更新强调集成和透明度的重要性
查看>>
Nexus指南已经发布
查看>>