VS Qt 使用linguits(Qt语言家)生成.ts的翻译文件并翻译使用的详细过程

9 篇文章 1 订阅
  • VS 生成ts文件

    1. vs中 Qt VS Tools--Create new translation File选择需要的语言,生成对应ts文件在解决方案的资源管理器的Translation File文件夹中,此时本地未生成

    2. 选中生成的ts文件,右击, 选择lupdate在 ".sln" 目录下生成对应的ts文件

    3. Qt VS Tools -- Lauch Qt Linguits --  文件 -- 打开ts文件,存在乱码可能性(最好是在qt core 中生成ts文件, vs中打开,注意qt 中打开的.pro不可存在中文路径)

                        

  • Qt 生成ts文件

    1. vs生成.pro文件(vs中 Qt VS Tools--Create Basic .pro File) 或者直接用Qt core创建的 .pro
    2. 在 .pro文件中加入
      TARGET = HIDCamera
      TRANSLATIONS = HIDCamera_zh.ts\
                     HIDCamera_en.ts
    3. QT语言家生成ts文件(工具--外部--QT语言家--lupdate)
    4. 找到生成的 ts 文件,用qt Linguits打开(Linguits.exe参考路径:C:\Qt\Qt5.12.4\5.12.4\msvc2017_64\bin\linguits.exe)
    5. 查看文件中是否存在乱码,找出乱码的文件名,在qt 项目中找到对应的 .h .cpp 文件,更改编码(选择文件--编辑--Select Encoding...--GB2312--按编码重新载入--编辑--Select Encoding...--UTF-8--按编码保存),一定要按照顺序两次更改编码,否则只更改一次是临时的,不起作用

  • Qt Linguits.exe使用方法   

    1. 中转英,打开 xxx_en.ts

    2. 上下文区域选择一个文件, 在字符串区域,可以将代码的tr()或者ui的中文全部显示整理出来

    3. 在源文区域进行翻译

    4. 打勾进行确认,若出现Translation does not have same leading and trailing whitespace as the source text.错误,查看翻译的语句是否首位符号不一致   

  • 生成 .qm文件,并调用           

    1. vs项目中找到 ts 文件(选中--右击--lrelease),在项目生成 qm 文件

    2.  vs 调用 qm
      //中英文
      	QString sLanguage;
      	if (p_Mainwindow->m_iLanguage == 0)//中文
      	{
      		sLanguage = "Language/HIDCamera_zh.qm";
      	}
      	else if (p_Mainwindow->m_iLanguage == 1)
      	{
      		sLanguage = "Language/HIDCamera_en.qm";
      	}
      
      	QTranslator translator;
      	if (translator.load(sLanguage))
      	{
      		qApp->installTranslator(&translator);
      		ui->retranslateUi(this);
      	}

 注意:代码中的字符串想被翻译,需要加 tr(字符串)

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值