Qt提供了lupdate工具,用于从源代码中提取需要翻译的字符串【1】,并生成或更新.ts文件
注解【1】:使用tr()函数(或者QCoreApplication::translate()等其他相关的翻译函数)来标记所有需要翻译的文本。例如:
QString translatedText = tr("Hello, World!");
命令行方式:
如果你的项目中还没有配置.ts文件,并且你想要通过命令行方式开始翻译过程,你需要先手动创建一个.ts文件(尽管这通常不是必需的,因为lupdate可以为你创建它),或者简单地运行lupdate并让它为你创建。但是,更常见的做法是让lupdate基于你的项目文件(.pro)中的配置来自动处理。
Qt Creator方式(推荐,操作简单,不易出错)
1. 确保你的.pro文件配置正确
//pro文件中使用 TRANSLATIONS 关键字指定 ts文件
TRANSLATIONS = myTs.ts//这告诉Qt,你的翻译文件位于项目根目录下(项目文件pro同级目录),并且文件名是myTs.ts.
2. 在Creator界面生成对应的ts文件
注意:不同版本的Qt,Creator界面操作可能略有不同。
结果:
注意:
- 若myTs.ts文件不存在,执行lupdate命令后会生成myTs.ts文件。
- 若myTs.ts存,则会更新它(无改动不会更新)。
- lupdate本身并不直接“生成”空的.ts文件:若源代码中没有要翻译的字符串,且ts文件不存在,执行lupdate后不会生成ts文件。
- 若pro中没有配置ts文件且没有手动创建ts文件,通过lupdate命令创建时会报错。