vs2013使用qt Linguist以及tr不生效问题

一、qt Linguist(语言家)步骤流程

1、创建翻译文件,在qt选项中

2.选择对应所需的语言,得到.ts后缀的翻译文件

3.创建.pro文件,并将.ts配置在.pro文件中

3.使用qt Linguist 打开创建好的以.ts为后缀的翻译文件,按图所示步骤将每一项内容配置好其翻译内容。

4.发布ts后缀的文件,得到qm后缀的文件

5.在代码中配置qm文件

QString sLanguage = "./bmpviewer_zh.qm";//设置翻译语言包(中文)
QTranslator translator;
if (translator.load(sLanguage))
{
	qApp->installTranslator(&translator);
	ui->retranslateUi(this);
}

        以上为空间文本的翻译配置,若是需要对消息盒子的信息进行多语言控制,需要在字符串其加上tr,这样即可在.ts文件中对其翻译进行配置。

tr("需要翻译的文本")

二、tr不生效问题

        在使用过程中发现tr对应字符串翻译不生效,网上大部分说明为,需要在派生类中加QObject宏。但是在我确认类中已加入QObject后,代码仍不生效。原翻译文件设置函数代码。

void MainWindow::setLanguage(const QString& sLanguage)
{
    QTranslator translator;
	if (translator.load(sLanguage))
	{
		qApp->installTranslator(&translator);
		ui->retranslateUi(this);
	}
}

偶然间查阅到QObject::tr无法获取翻译文本_qobject::tr 不起作用-CSDN博客

知道了QTranslator 不能为局部变量,将变量放到类中,试了一下还真行。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS Qt Linguist是一个用于在Visual Studio中进行Qt多语言翻译的工具。通过VS Qt Linguist,你可以打开ts文件并进行翻译。然而,需要注意的是,如果在Qt Core中生成了ts文件,那么在VS中打开时可能会出现乱码的情况。因此,最好确保在Qt中打开的.pro文件不包含中文路径。在main.cpp中,你需要包含<QTranslator>头文件,并加载qm文件,以便在运行时进行多语言切换。你可以使用QApplication的installTranslator函数来安装翻译器,并在需要翻译的字符串处使用QObject::tr()函数。这样,Qt程序就可以在运行时加载发布的翻译文件以更新文本字符串。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [VS Qt 使用linguits(Qt语言家)生成.ts的翻译文件并翻译使用详细过程](https://blog.csdn.net/Como0413/article/details/127747123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在VS使用Qt Linguist完成国际化翻译](https://blog.csdn.net/qq_37996632/article/details/113282148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【Qt一骚操作】Qt语言家 Qt Linguist 使用 【总结】](https://blog.csdn.net/Monster_H7/article/details/121404508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值