QT国际化(中英转换)
我们都知道在安卓中,想做国际化很简单,只需要建立对应的资源文件,在对应的strings里面修改字符即可。但在QT中相对会比较麻烦,没安卓那么简单,不过也不是很复杂,最近在弄国际化时,因为刚接触QT,对QT的了解还不是很深,所以有点无从下手,在经过各种百度谷歌之后,以及向法国人请教之后,总算搞定了,然后发现之前网上那些教程都很复杂,而且都是抄来抄去,完成之后我都没能理解他们的做法,也许是因为我刚接触QT还没法理解他们的写法。
首先我现在所做的QT项目,绝大部分都是通过qml直接实现的,QT的C++部分用的很少,只是用来获取数据封装成Model提供给qml使用,所以我所有需要转换的字符都是在qml当中,不过C++成字符的转换应该也是类似的,因为没做,不确定在c++层也同样有效,在qml是可以提取和实现的。
一. 将所有需要翻译的字符用qsTr()包起来,列如:
Text{
width: parent.width
height: 89
anchors.left: parent.left
anchors.leftMargin: 70
text:qsTr("蓝牙")
co

这篇博客详细介绍了QT应用程序实现国际化的过程,包括使用qsTr()标识待翻译文本,修改.pro文件,通过lupdate生成ts文件,使用Linguist工具进行翻译,lrelease生成qm语言库,以及在main.cpp中加载qm文件的方法。同时强调了资源文件管理和IDE对qm文件的识别问题。
&spm=1001.2101.3001.5002&articleId=54707233&d=1&t=3&u=2022f20dab564664a2e8928cc964250f)
1978

被折叠的 条评论
为什么被折叠?



