基于qt语言家的语言切换
Assistant(Qt语言家),类似于MSDN最权威的速应用程序翻译和国际化的工具。Qt 使用单一的源码树 和单一的应用程序二进制包就可同时支持多个语言和书写系统,有助于软件走向国际化,普度众生。
具体步骤:
- 生成.ts文件,lupdate
- 翻译成制定语言,生成.qm文件,lrelease。
- 加载qm文件,load()
- install
效果呈现
中文:

英文:

step1:pro文件添加对翻译的支持
代码语言:javascript复制 TRANSLATIONS = Translate_EN.ts
Translate_CN.tsstep2:生成.ts文件

step3:使用qt语言家翻译ts文件
Translate_CN.ts 汉语>汉语(一般不用改,我们使用的是汉语,只需要改汉译英的)


Translate_EN.ts
汉语>英语

step4:生成.qm

step5:加载qm文件
定义QTranslator对象
代码语言:javascript复制 QTranslator *m_Translator;分配对象
代码语言:javascript复制 m_Translator = new QTranslator(this);切换英文
代码语言:javascript复制 m_Translator‐>load("Translate_EN.qm");切换中文
代码语言:javascript复制 m_Translator->load("Translate_CN.qm");step6:安装qm文件
代码语言:javascript复制 qApp‐>installTranslator(m_Translator);问题:日历还没有修改
代码语言:javascript复制 ui‐>calendarWidget‐>setLocale(QLocale::Chinese); //设置英文
ui‐>calendarWidget‐>setLocale(QLocale::C); //设置中文注意事项:
如果加载不成功,说明路径错了,QtCreator生成的.qm和.ts文件是在.pro目录下,需要移至debug目录下,才能正确读取.qm和.ts文件,实现语言的切换
源代码以及示例程序github地址:
https://github.com/ADeRoy/Qt-controls/tree/master/language


