1 将Qt的内置对话框(如:颜色选择对话框)由英文翻译为中文
QTranslator default_trans; default_trans.load(QObject::tr("qt_zh_CN.qm"), QDir::currentPath()+"/translate"); QCoreApplication::installTranslator(&default_trans); QTranslator okcancel_trans;
okcancel_trans.load(QObject::tr("qplatformtheme_zh_CN.qm"),QDir::currentPath() + "/translate"); QCoreApplication::installTranslator(&okcancel_trans);
2 将项目文件的字符串由英文翻译为中文
QTranslator trans; trans.load(QObject::tr("projectfile_zh.qm"), QDir::currentPath() + "/translate"); QCoreApplication::installTranslator(&trans);
3 注意事项
(1)文件中的字符串需要由“tr”包含
(2)ts文件更新后需要使用Linguist,重新发布qm文件
(3)翻译内置对话框所需文件见上传文件,需要使用两个翻译文件,第一个翻译文件为Qt自带的内置对话框翻译,但是不全,如确定取消不能正常翻译,需要结合第二个翻译文件使用(在网上下载)
4 bat脚本文件,遍历项目中的字符串,更新ts文件
@echo off echo QTDIR = %QTDIR% if x%QTDIR%==x goto qtdir_fail set PATH=%QTDIR%/bin;%PATH% echo update translator files set CURRENT_PATH=%~dp0 lupdate -no-obsolete -recursive ../src -ts %CURRENT_PATH%/translatefile_zh.ts goto end :qtdir_fail echo error, can not find qt path goto end; :end