1.1 ts文件定义
Qt ts文件(Translation Source file:翻译源文件)是Qt框架中用于存储翻译文本和相关上下文信息的一种特定格式文件,它是Qt Linguist(语言家)工具使用的基础。Qt Linguist是Qt开发工具包中的一个应用程序,专门用于本地化和国际化Qt应用程序。
Qt ts文件是基于XML格式的文本文件,用于存储翻译文本和相关的上下文信息。这种格式使得翻译人员能够清晰地看到原文、上下文和翻译内容,便于进行准确的翻译工作。
文件声明
Qt ts文件通常以XML声明开始,指定了文件的版本和编码方式。
<?xml version="1.0" encoding="UTF-8"?>声明了这是一个XML文件,使用UTF-8编码。
<!DOCTYPE TS>指定了文档类型为TS。
<TS version="2.1" language="zh_CN">标签则包含了TS文件的版本号和语言代码。
1.2 ts文件的生成
在Pro文件夹中添加
TRANSLATIONS += \ simple_cn.ts \ english.ts
添加这个文件后执行qmake后,操作界面如下:
会在项目所在的路径下生成simple_cn.ts和english.ts文件。如下图所示
手动将这两个翻译源文件手动添加到到工程中,便于编辑和修改。如下图所示
1.3 ts文件编辑及qm文件的生成
通过菜单打开Linguist,如下图所示。
打开要编辑的ts文件,弹出对话框如下图所示:
首先要根据需要选择源语言和目标语言。
如英文转中文的ts文件编辑如下图所示。
编辑完后,点击保存按钮。
2 qm文件
1)qm文件生成
Qt程序中生成多语言处理必需采用qm文件,保存完ts修改的文件后,然后按下图操作可完成qm文件的生成。
2)qm文件程序加载
首先在main.cpp中声明头文件
#include <QTranslator>
在函数QApplication a(argc, argv);后面添加语句,完成qm文件的加载完成中文或英文的切换。
QTranslator qtTranslator; if(qtTranslator.load("./en.qm"))//注意:qm文件必须与exe文件同目录。!!!!!! a.installTranslator(&qtTranslator); else qDebug()<<"load qm Fail";