Qt 高阶 07|Qt 国际化多语言 .ts/.qm 翻译文件、动态切换语言
一、整体流程代码标记多语言文本 → 生成.ts翻译文件 → 翻译内容 → 编译为.qm二进制文件 → 程序加载切换。二、代码编写规范所有需要翻译的字符串使用tr()包裹cpp运行this-setWindowTitle(tr(主窗口)); ui-pushButton-setText(tr(确定));三、生成 .ts 翻译文件.pro添加翻译文件配置proTRANSLATIONS lang_zh.ts lang_en.tsQtCreator 菜单栏工具 → 外部 → Qt 语言家 (lupdate)提取代码字符串生成 ts 文件使用Linguist 语言家工具打开 ts逐行翻译文本。四、编译 .ts 为 .qm工具 → 外部 → Qt 语言家 (lrelease)将文本 ts 编译为二进制 qm 文件。五、代码加载 动态切换语言cpp运行#include QTranslator QTranslator* translator new QTranslator(this); // 加载英文 translator-load(lang_en.qm, ./); qApp-installTranslator(translator); // 切换中文 translator-load(lang_zh.qm, ./); ui-retranslateUi(this); // 刷新UI文本六、注意事项动态切换后必须调用retranslateUi刷新界面翻译文件建议放入资源文件或同级目录新增文字后重新执行 lupdate 合并翻译。小结Qt 国际化标准流程固定核心就是tr() ts/qm配合适合软件做多语种发布。