当前位置: 首页 > news >正文

qt 中英文翻译 如何配置和使用

qt 中英文翻译 如何配置和使用

1. 在.pro文件中添加TRANSLATIONS

在你的 .pro 文件(比如 HYAC_AAF_HOST.pro)中添加:

TRANSLATIONS +\= zh\_CN.ts en\_US.ts

image

这会告诉Qt项目你要支持中文和英文。

2. 提取可翻译文本(生成ts文件)

在项目根目录下打开Qt命令行(或Qt Creator自带终端),运行:

lupdate HYAC_AAF_HOST.pro

image

这会自动扫描所有tr()和.ui文件,把可翻译的内容提取到zh_CN.ts和en_US.ts。

image

3. 编辑翻译(用Qt Linguist)

用Qt Linguist(Qt自带的图形工具)打开zh_CN.ts和en_US.ts,把每条中文/英文都翻译好,然后保存。

就这么选择就好

image

image

image

4. 生成qm文件

在命令行运行:

lrelease HYAC_AAF_HOST.pro

或者

点击Qt Linguist发布

image

这会把zh_CN.ts和en_US.ts编译成zh_CN.qm和en_US.qm,这两个文件就是程序运行时用的语言包。

5. 放置qm文件

把zh_CN.qm和en_US.qm放到你的可执行文件同目录,或者你代码里指定的路径。

如果不知道路径,可以用下面的代码得知具体路径

qDebug() << "Current dir:" << QDir::currentPath();
qDebug() << "App dir:" << QCoreApplication::applicationDirPath();

6.添加如下代码

比如我是用comboBox_language来切换中英文的。我只用了en_us.qm作为翻译成英文

/*中英文翻译*/connect(ui->comboBox_language, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [this](int index) {if (index == 0) { // 中文qDebug() << "切换为中文";qApp->removeTranslator(&translator);translator.load("zh_CN.qm", "");qApp->installTranslator(&translator);} else { // 英文qDebug() << "Current dir:" << QDir::currentPath();qDebug() << "App dir:" << QCoreApplication::applicationDirPath();qDebug() << "切换为英文";qApp->removeTranslator(&translator);bool ok = translator.load("en_US.qm", "");qDebug() << "load qm:" << ok;qApp->installTranslator(&translator);}ui->retranslateUi(this); // 让界面刷新为新语言});
http://www.dtcms.com/a/282376.html

相关文章:

  • 面试150 二叉树的锯齿层次遍历
  • YOLO13正式发布!考虑将yolov13的创新点融合到半监督中,构建YOLOv13_ssod
  • Qt 将触摸事件转换为鼠标事件(Qt4和Qt5及以上版本)
  • Qt 的信号槽机制中,使用 `connect` 函数时,第五个参数是 **连接类型(Connection Type)**,
  • Ubuntu中man手册不全解决以及man手册中英文切换方法
  • 若依框架下前后端分离项目交互流程详解
  • 20、鸿蒙Harmony Next开发:组件导航(Navigation)和页面路由(@ohos.router)
  • 现代人工智能综合分类:大模型时代的架构、模态与生态系统
  • Node.js ORM框架Sequelize 一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)
  • NDVI、噪声和细微差别:使用卫星时间序列进行土地覆盖分类
  • K近邻算法的分类与回归应用场景
  • LVS集群调度器
  • 2022年CIE SCI2区TOP,NSGA-II+直升机-无人机搜救任务分配,深度解析+性能实测
  • MongoDB查询的精准匹配和$in的查询区别
  • fastadmin会员单点登录
  • Python进程与协程:高效编程的核心秘密
  • Apache SeaTunnel详解与部署(最新版本2.3.11)
  • 拉普拉斯方程边界问题求解
  • 跟着Nature正刊学作图:回归曲线+散点图
  • 912. 排序数组
  • orfeotoolbox Pansharpening-全色锐化
  • TDengine 中 InterP 函数用户手册
  • 医疗AI“全栈原生态“系统设计路径分析
  • 多人协作游戏中,团队共同获取的装备如何确定按份共有或共同共有
  • 二代身份证识别技术的发展:从机器学习到深度学习
  • 【机器学习】数据理解:数据导入、数据审查与数据可视化
  • Qt小组件 - 7 SQL Thread Qt访问数据库ORM
  • gin go-kratos go-zero框架对比
  • 【后端】配置SqlSugar ORM框架并添加仓储
  • 【论文阅读 | IF 2025 | COMO:用于多模态目标检测的跨 Mamba 交互与偏移引导融合】