码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • qt creater11 翻译国际化教程教程:


    先出效果图。

    闲聊几句:qt这个翻译很方便,能直接导出项目里所有文字。

    具体步骤如下:

    在Qt中,我们可以使用QTranslator类来实现多语言切换。以下是一般步骤:

    1. 在你的源代码中,所有需要翻译的字符串都需要使用 `tr()` 函数包裹,例如 `tr("你好")`。

    2. 在项目文件 (.pro) 中添加翻译文件,例如:
       ```
       TRANSLATIONS += myapp_zh_CN.ts
       TRANSLATIONS += myapp_en_US.ts
       ```
       这里的`myapp_zh_CN.ts`和`myapp_en_US.ts`是你的翻译文件,你需要根据你的应用程序实际情况来命名。

    3. 使用Qt Creator的lupdate工具生成翻译文件。这可以在Qt Creator的"工具" -> "外部" -> "Qt Linguist" -> "Update Translations (lupdate)"中完成。这将生成一个.ts文件,其中包含所有需要翻译的字符串。

    4. 使用Qt Linguist工具打开.ts文件并进行翻译。Qt Linguist是一个翻译工具,可以在Qt Creator的"工具" -> "外部" -> "Qt Linguist" -> "Open Qt Linguist"中打开。在这个工具中,你可以为每个字符串添加翻译。

           

    5. 使用lrelease工具将.ts文件转换为.qm文件。这可以在Qt Creator的"工具" -> "外部" -> "Qt Linguist" -> "Release Translations (lrelease)"中完成。

    6. 在程序中加载翻译文件。你可以使用QTranslator类来加载.qm文件,例如:    
       ```
       QTranslator translator;
       translator.load("myapp_zh_CN.qm"); //.qm文件要拷贝到相对路径下
       a.installTranslator(&translator);
       ```
       这段代码需要放在main函数的开始部分。

    7. 在程序中切换语言。你可以通过重新加载不同的翻译文件来实现语言切换,例如:
       ```
       QTranslator translator;
       translator.load("myapp_en_US.qm");
       qApp->installTranslator(&translator);
       ```
       这段代码可以放在你的语言切换函数中。

    注意事项:

    2 在ui界面上的文字可以不管。但是后台代码中的文字,要使用QObject::tr("")  来包裹. 例如:
        1) label->setText(tr("上等"));
        2)  static const char* const flowers[]={
            QT_TR_NOOP("上等"),
            QT_TR_NOOP("中等"),
            QT_TR_NOOP("劣等"),
            };    
            this->ui->cbox0->addItem(tr(flowers[i]));
    3 添加翻译文件时,只在(.pro)文件中添加语句。也就是确保源码目录下没有.ts文件存在。

    4  qt creater 中默认没有Qt Linguist工具。需要手动添加。路径在 Qt\Qt5.9.0\5.9\msvc2017_64\bin\linguist.exe.    根据各自安装不同,路径有所不同。

  • 相关阅读:
    数据分析方法-对比分析和用户画像(文末送书)
    12.Babel
    Python学习 - 类与对象
    CSS:背景、阴影
    解决六大痛点促进企业更好使用生成式AI,亚马逊云科技顾凡采访分享可用方案
    2023年陕西省安全员B证证考试题库及陕西省安全员B证试题解析
    Git使用
    “存量竞争” 体验为王,火山引擎边缘云助力内容社区破局
    【读点论文】Densely Connected Convolutional Networks用残差连接大力出奇迹,进一步叠加特征图,以牺牲显存为代价
    Google Earth Engine(GEE)——evaluate实现一键批量下载研究区内的所有单张影像(上海市部分区域)
  • 原文地址:https://blog.csdn.net/tiankong1213/article/details/132628054
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号