当前位置: 首页 > 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.xdnf.cn/news/1130437.html

相关文章:

  • Spring AI 系列之十三 - RAG-加载本地嵌入模型
  • 在 CentOS 8 上彻底卸载 Kubernetes(k8s)
  • k8s之持久化存储流程
  • JavaScript 异步编程的终极指南:从回调到 Promise、Async/Await
  • 深入解析Linux进程地址空间与虚拟内存管理
  • vivo S30评测:用设计诠释科技,以性能书写情怀
  • 电脑安装 Win10 提示无法在当前分区上安装Windows的解决办法
  • openEuler 22.03 LTS Rootless Docker 安装指南
  • Apache IoTDB(1):时序数据库介绍与单机版安装部署指南
  • 免费MCP服务:Excel CSV 转 JSON MCP by WTSolutions 文档
  • 计算机网络:(九)网络层(下)超详细讲解互联网的路由选择协议、IPV6与IP多播
  • 微服务中token鉴权设计的4种方式
  • STM32 | 定时器 PWM 呼吸灯
  • Python 程序设计讲义(2):Python 概述
  • kube-proxy 中 IPVS 与 iptables
  • SQL学习记录01
  • 【PTA数据结构 | C语言版】根据层序序列重构二叉树
  • day053-初识docker与基础命令
  • 【人工智能99问】神经网络的工作原理是什么?(4/99)
  • 深入掌握Python正则表达式:re库全面指南与实战应用
  • 如何卸载SQLServer
  • MybatisPlus由浅入深
  • 小型客厅如何装修设计?
  • 读取ubuntu的磁盘分区表与超级块
  • Python初学者笔记第十四期 -- (自定义模块与包)
  • 【删库跑路】一次删除pip的所有第三方库
  • 【PTA数据结构 | C语言版】根据前序序列重构二叉树
  • 【Linux手册】重定向是如何实现的?Linux下为什么一切皆文件?
  • 20250715给荣品RD-RK3588开发板刷Android14时打开USB鼠标
  • Dify的默认端口怎么修改