-
VS 生成ts文件
-
vs中 Qt VS Tools--Create new translation File选择需要的语言,生成对应ts文件在解决方案的资源管理器的Translation File文件夹中,此时本地未生成
-
选中生成的ts文件,右击, 选择lupdate在 ".sln" 目录下生成对应的ts文件
-
Qt VS Tools -- Lauch Qt Linguits -- 文件 -- 打开ts文件,存在乱码可能性(最好是在qt core 中生成ts文件, vs中打开,注意qt 中打开的.pro不可存在中文路径)
-
Qt 生成ts文件
- vs生成.pro文件(vs中 Qt VS Tools--Create Basic .pro File) 或者直接用Qt core创建的 .pro
- 在 .pro文件中加入
TARGET = HIDCamera
TRANSLATIONS = HIDCamera_zh.ts\
HIDCamera_en.ts
- QT语言家生成ts文件(工具--外部--QT语言家--lupdate)
- 找到生成的 ts 文件,用qt Linguits打开(Linguits.exe参考路径:C:\Qt\Qt5.12.4\5.12.4\msvc2017_64\bin\linguits.exe)
- 查看文件中是否存在乱码,找出乱码的文件名,在qt 项目中找到对应的 .h .cpp 文件,更改编码(选择文件--编辑--Select Encoding...--GB2312--按编码重新载入--编辑--Select Encoding...--UTF-8--按编码保存),一定要按照顺序两次更改编码,否则只更改一次是临时的,不起作用
-
Qt Linguits.exe使用方法
-
中转英,打开 xxx_en.ts
-
上下文区域选择一个文件, 在字符串区域,可以将代码的tr()或者ui的中文全部显示整理出来
-
在源文区域进行翻译
-
打勾进行确认,若出现Translation does not have same leading and trailing whitespace as the source text.错误,查看翻译的语句是否首位符号不一致
-
生成 .qm文件,并调用
-
vs项目中找到 ts 文件(选中--右击--lrelease),在项目生成 qm 文件
- vs 调用 qm
//中英文
QString sLanguage;
if (p_Mainwindow->m_iLanguage == 0)//中文
{
sLanguage = "Language/HIDCamera_zh.qm";
}
else if (p_Mainwindow->m_iLanguage == 1)
{
sLanguage = "Language/HIDCamera_en.qm";
}
QTranslator translator;
if (translator.load(sLanguage))
{
qApp->installTranslator(&translator);
ui->retranslateUi(this);
}
注意:代码中的字符串想被翻译,需要加 tr(字符串)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)