在 Qt 中使用 tr
函数对字符串进行翻译时,通常会通过 Qt Linguist 工具来处理翻译。以下是一个基本的步骤说明,展示如何将 QPushButton *btn=new QPushButton(tr("Hello World"),this);
翻译成其他语言,比如中文:
1.创建翻译文件 :
使用 lupdate
工具从你的源代码中提取字符串,生成一个 .ts
文件。
lupdate tr_demo.pro -ts tr_demo.ts
2.使用 Qt Linguist :
打开生成的 .ts
文件,使用 Qt Linguist 工具进行翻译:
- 找到
Hello, World!
字符串。 - 在翻译框中输入对应的翻译,例如:
你好世界
<message>
<location filename="widget.cpp" line="10"/>
<source>Hello World</source>
<translation type="unfinished">你好世界</translation>
</message>
在pro文件中加入:
TRANSLATIONS = tr_demo.ts
lrelease
是 Qt 提供的一个命令行工具,用于将翻译文件(.ts
文件)转换为可在应用程序中使用的二进制翻译文件(.qm
文件):
lrelease tr_demo.ts
在代码中加载qm文件:
运行: