lupdate不提取QML文件里面的字符串是为何?

yuechuan 2015-06-10 10:03:16
我在用lupdate准备做翻译的时候,发现它只搜索了CPP文件里面的内容,而对于QML文件里面的内容却没有提取出来,请问这是为何啊,我分别试了在IDE里面直接点工具和使用命令行,结果都是一样
虽然尝试了使用lupdate XXX.qml -ts XX.ts 这种方式可以提取一个QML文件里面的内容,可是我现在一个项目里面有近百个QML文件这样肯定不行啊,后期管理和维护也都会成问题
从网上搜到有人说要把QML文件写到PRO文件里面去,也尝试过了,再子模块的PRO文件里面已经详细的把QML文件写到 OTHER_FILE 里面去了,可是还是一样没有提取。
求教大家我哪里还有地方没做对?
...全文
396 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33585678 2016-01-01
  • 打赏
  • 举报
回复
在deployment.pri中添加 qml.files = qml/*.qml qml/*.js shaders.files = shaders/shockwave.fsh translations.files = translation/*.qm isEmpty(target.path) { qnx { target.path = /tmp/$${TARGET}/ qml.path = /tmp/$${TARGET}/qml shaders.path = /tmp/$${TARGET}/shaders translations.path = /tmp/$${TARGET}/ } else { target.path = /opt/$${TARGET}/bin qml.path = /opt/$${TARGET}/qml shaders.path = /opt/$${TARGET}/shaders translations.path = /opt/$${TARGET}/translation } export(target.path) } INSTALLS += target qml shaders translations 注意根据你的项目修改路径。这样就可以搜索到了。
g68743512 2015-10-29
  • 打赏
  • 举报
回复
lupdate *.qml -ts XX.ts 使用通配符号就可以了吧
彩阳 2015-07-09
  • 打赏
  • 举报
回复
奇怪了,应该是能够提取到的。要不你换换最新的5.5试试看?
yuechuan 2015-06-10
  • 打赏
  • 举报
回复
引用 2 楼 zyq5945 的回复:
QML文件里需要翻译的文本要用qsTr包含起来,想这样。

Text { text: qsTr("hello") }
恩,都是这样用的,但是还是提取不到,很奇怪。。
yuechuan 2015-06-10
  • 打赏
  • 举报
回复
引用 1 楼 foruok 的回复:
我的《Qt Quick核心编程》一书里有讲到,需要在pro文件里配置lupdate_only,你搜索一下帮助就能找到用法。
我已经在PRO 文件里面加入了类似下面的文件列表,但是还是没提取出来,QML里面字符串已经用 qsTr 包起来了 lupdate_only{ SOURCES += \ commonqml/res/qml/*.qml \ keyboard/res/qml/*.qml }
zyq5945 2015-06-10
  • 打赏
  • 举报
回复
QML文件里需要翻译的文本要用qsTr包含起来,想这样。

Text { text: qsTr("hello") }
foruok 2015-06-10
  • 打赏
  • 举报
回复
我的《Qt Quick核心编程》一书里有讲到,需要在pro文件里配置lupdate_only,你搜索一下帮助就能找到用法。

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧