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`是你的翻译文件,你需要根据你的应用程序实际情况来命名。

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

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

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

  4. 在程序中加载翻译文件。你可以使用QTranslator类来加载.qm文件,例如:

```

QTranslator translator;

translator.load("myapp_zh_CN.qm"); //.qm文件要拷贝到相对路径下

a.installTranslator(&translator);

```

这段代码需要放在main函数的开始部分。

  1. 在程序中切换语言。你可以通过重新加载不同的翻译文件来实现语言切换,例如:

```

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(flowersi));

3 添加翻译文件时,只在(.pro)文件中添加语句。也就是确保源码目录下没有.ts文件存在。

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

相关推荐
阿里嘎多学长4 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
布吉岛的石头5 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
小羊没烦恼!5 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc6 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
昂好的day7 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
努力实干8 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
NetX行者9 小时前
四语言 Hello World 背后:编译模型与运行时对比
开发语言
Pin_Qing10 小时前
账单没超,请求先被拒了
大数据·开发语言·人工智能
2601_9628857210 小时前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python
郝亚军10 小时前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构