Qt翻译文件

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

 

posted @ 2019-07-16 16:49  Truman001  阅读(1063)  评论(0编辑  收藏  举报