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


    • 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文件中加入
        1. TARGET = HIDCamera
        2. TRANSLATIONS = HIDCamera_zh.ts\
        3.                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
        1. //中英文
        2. QString sLanguage;
        3. if (p_Mainwindow->m_iLanguage == 0)//中文
        4. {
        5. sLanguage = "Language/HIDCamera_zh.qm";
        6. }
        7. else if (p_Mainwindow->m_iLanguage == 1)
        8. {
        9. sLanguage = "Language/HIDCamera_en.qm";
        10. }
        11. QTranslator translator;
        12. if (translator.load(sLanguage))
        13. {
        14. qApp->installTranslator(&translator);
        15. ui->retranslateUi(this);
        16. }

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

  • 相关阅读:
    Python函数式编程进阶:用函数实现设计模式
    nginx降权+匹配php
    utc时间怎么转换北京时间?
    python 学习笔记(4)—— webdriver 自动化操作浏览器(基础操作)
    记录下 docker-compose 终端交互
    浅谈数字化工厂对于企业变革意义
    java 开发ide插件
    使用netty实现WebSocket协议通信
    Find My背包|苹果Find My技术与背包相结合,智能防丢,全球定位
    SpringBoot AOP实现日志或告警(高级)
  • 原文地址:https://blog.csdn.net/Como0413/article/details/127747123