【求教】qml动态语言切换问题:lupdate导出的.ts文件是空的

weixin_39612961 2017-07-25 07:40:05
我在.pro文件里添加了TRANSLATIONS语句,如下
TRANSLATIONS += translateTest_ch.ts \
translateTest_en.ts

然后在Qt Creator 【工具】-【外部】-【QT语言家】-点击【更新翻译】,生成了两个.ts文件,但是这两个文件是空的
translateTest_en.ts 文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
</TS>


之后我尝试lupdate projectname.pro 报错:lupdate: symbol lookup error: /usr/lib/x86_64-linux-gnu/qt4/bin/lupdate: undefined symbol: _ZN9QtPrivate20QContainerImplHelper3midEiPiS1_

我现在没办法向.ts文件录入中英文翻译,不知道怎么解决,qml的内容如下:
Text{
text:qsTr("name")
}
Text{
text:qsTr("age")
}
Rectangle{
id:btn
signal clicked
width:200
height:50
color:"lightgray"
Text{
anchors.centerIn: parent
text:qsTr("change language")
}

MouseArea{
anchors.fill: parent
onClicked: {

console.log("btn is clicked")

}
}
我看其他的帖子有提到要将text的赋值放在函数里,可不是很明白,是将一个变量赋值给text吗,在c++换了语言库后,是如何改变text值的呢
以上,谢谢!
...全文
450 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Remove_ 2017-07-29
  • 打赏
  • 举报
回复
qt中的qml默认使用这个是不翻译的,如果你qml的文本要生成翻译文件的话,你在你的工程里面添加这样: lupdate_only{ SOURCES += ./*.qml } 这样使用你前面说的 ---->Qt Creator 【工具】-【外部】-【QT语言家】-点击【更新翻译】,生成了两个.ts文件 这个时候就应当不为空了

16,216

社区成员

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

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