Qt4.8.6语言家翻译中文乱码

在Qt中,所有的输入部件和文本绘制方式对Qt所支持的所有语言都提供了内置的支持。Qt在实际使用某一个语种需要使用QTranslator和Qt Linguist工具实现翻译,具体实施步骤如下:

一、创建Qt工程文件

二、编写Qt应用程序源码 (注意:所有需要翻译的文本需要使用tr(“ ”)管理)

运行结果如下图:

三、翻译

  1. 在工程目录.pro文件中添加语句 TRANSLATIONS += Laos.ts 对于.ts 文件的名称可以随意编写,

  1. 使用lupdate生成.ts文件。 通过QtCreator菜单工具-> 外部->Qt 语言家-> 更新翻译lupdate 菜单项来完成该操作。这时会在概要信息处显示如下信息:

操作成功后会在源码所在目录生成Laos.ts文件。

  1. 使用Qt Linguist完成翻译

在Qt安装目录下的bin目录下,会有一个linguist工具,直接运行linguist,打开上一步生成的Laos.ts文件。

源码中需要翻译的文本都会被列出来,然后依次将需要翻译的文本翻译成老挝语,翻译完后保存文件,并退出linguist。

四、使用lrelease生成.qm文件

可以通过QtCreator菜单工具->外部->Qt语言家->发布翻译lrelease菜单项来完成该操作。这时会在概要信息处显示如下信息

成功后会在源码所在目录生成Serbian.qm文件。

五、Qt工程文件使用.qm文件

进入main.cpp文件,添加头文件#include<QTranslator>,然后在QApplication a(argc, argv);代码下添加如下代码:

编译运行

运行结果:

六、lupdate更新翻译乱码

参考官方文档的说明:

If your sources contain genuine non-Latin1 strings, lupdate needs to be told about it in the .pro file by using, for example, the following line:

在工程文件.pro文件中添加:

CODECFORTR = UTF-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诺水城子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值