在VS中实现QT的多国语言翻译

QT的多国语言翻译让软件轻松实现多语言版本。通过创建翻译文件、编辑ts、发布qm文件和应用翻译,开发者能实现不修改代码的国际化。本文详细介绍了在VS中创建翻译文件、切换中英文的步骤,并提供了参考资料。
摘要由CSDN通过智能技术生成

QT的多国语法翻译非常的实用,可以将开发完成的软件,直接翻译成另外一种语言,而不需要更改代码,也就是说一次开发可以同时发布多个语言版本的软件。

  • 翻译过程
  1. 创建翻译文件:从代码中自动提取出能翻译的文本,生成中间ts文件。
  2. 翻译元素:编辑ts文件,手动翻译每一项。
  3. 发布(lrelease)翻译好的ts文件,生成qm文件。
  4. 使用qm文件,翻译相应的文本。
  • 注意:能被翻译得文本需要使用特殊标记
    1.使用QObject::tr()或者QApplication::translate()修饰。例如
label.setText(tr("label"));
pushButton->setText(QApplication::translate("QtDemo", "pushButton"));

翻译详细过程

  1. 创建新的翻译文件
    右击工程 - > create new translation file
    在这里插入图片描述
  2. 选择翻译成什么语言:这里从英文翻译到中文
    在这里插入图片描述
  3. 双击打开自动生成ts文件,翻译文本
    在这里插入图片描述
    在这里插入图片描述
  4. 发布翻译好的ts文件,自动生成.qm文件(默认在工程目录下)。
    在这里插入图片描述

在这里插入图片描述

  1. 使用.qm文件,翻译文本。
	QTranslator *translator = NULL;
	translator = new QTranslator;
	if (translator->load("qtdemo_zh.qm"))
	{
   
		qApp->installTranslator(translator);
	}

翻译完成之后还需要从新绘制界面

void QtDemo::changeEvent(QEvent *e)
{
   
	if(e->type() == QEvent::LanguageChange)
	{
   
		ui.retranslateUi(this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值