Qt实现软件界面显示不同的语言,是通过加载字库文件实现的,因此有三个对应的问题需要解决:
如何制作字库文件:
创建Qt应用程序后,
在.pro文件中添加一行代码:
TRANSLATIONS += qmain_zh.ts
- 使用QtCreator菜单中的【工具】->外部->Qt语言专家->更新翻译
则会自动生成.ts文件,使用Qt Linguist语言家软件打开.ts文件,编辑语言的翻译;
如果是在代码中动态设置的文字,在需要被翻译的字符串前面添加标识tr,比如:
QString str = tr("Hello world!");
这样翻译工具就会根据这个tr标记去提取字符串,然后进行翻译;
如果是在界面中直接添加的文字,则会自动被tr,这样在使用Qt的语言工具进行编辑时,也可以找到对应的文字,如下: