Qt 之 中英文切换的使用
Qt 之 中英文切换的使用
//写的不对的地方请指点
1 在代码中有tr("work") 有需要中英文切换的字符串
ui.cbxPapersType->addItem(tr("IdCard")); //0身份证
ui.cbxPapersType->addItem(tr("Student"));//("学生证"));
ui.cbxPapersType->addItem(tr("WorkPermit"));//("工作证"));
ui.cbxPapersType->addItem(tr("Soldier"));//("士兵证"));
ui.cbxPapersType->addItem(tr("GasCardin"));//("军官证"));
ui.cbxPapersType->addItem(tr("Passport"));//("护照"));
ui.cbxPapersType->addItem(tr("HouseholdRegister"));//("户口本"));
ui.cbxPapersType->addItem(tr("deformed")); //2残疾证
ui.cbxPapersType->addItem(tr("other")); //3其他
2 在cmd命令行执行 生成ts文件
lupdate.exe -ts XXX.ts -pro XXXX.pro
3 下载pyhon,编写脚本 将XX.db 中的中英文翻译数据与XXX.ts文件中用到需要翻译的都翻译一下。生成XXXS.ts文件
import re
#import MySQLdb
import sqlite3
def getLan(lanName,mLanFile):
contents_end = ""
mWords = ""
mRes = ""
try:
#traslate language from english to other language
f = open('S:\py\XXX.ts','r')
regex_msg=re.compile("<message>")
regex_source=re.compile("<source>(.*)</source>")
regex_translate=re.compile("<translation type=\"unfinished\">.*</translation>")
regex_endmsg=re.compile("</message>")
#conn = MySQLdb.connect(host='localhost', user='root', passwd='',db='convert')
conn = sqlite3.connect("S:\py\XXX.db")
for line in f:
mMsg=regex_msg.search(line)
mSource=regex_source.search(line)
mTranslate=regex_translate.search(line)
mEndMsg=regex_msg.search(line)
if mMsg != None:
bMsg = 1
elif mSource != None:
bSource = 1
mWords = mSource.group(1)
#cursor = conn.cursor()
mSql = 'SELECT Chinese FROM translate WHERE English = "' + mWords + '" limit 1'
#mSql = 'SELECT cn FROM lang WHERE en = "' + mWords + '" limit 1'
#print mSql
count = conn.execute(mSql)
r = count.fetchone()
#print count
if r != None:
#mRes = cursor.fetchone()
mRes = r[0]
else :
mRes = ""
#print mRes
elif mTranslate != None:
if (bMsg == 1) and (bSource == 1):
line = "\t<translation>" + mRes + "</translation>\n"
#print line
bSource = 0
elif mEndMsg:
bMsg = 0
#print line
contents_end += line
#print contents_end
conn.close()
f.close()
f.tell()
except ValueError as ioerror:
print('file already closed')
finally:
print('Translate languages end')
mLanFile = 'S:/py/XXS.ts'
#print contents_end
f = open(mLanFile,'w')
f.write(contents_end)
f.close()
4 lrelease 命令生成XXQM.qm文件,需要将XXX.ts文件的编码格式改成unicode
lrelease.exe XXXS.ts
4 修改程序,在转换前(如main.cpp里)增加代码
QTranslator qtTranslator ;
qtTranslator.load("Language_Chn");
a.installTranslator(&qtTranslator);
5 编译程序,运行程序。
需要将qm文件放置在运行目录下
Qt 之 中英文切换的使用相关推荐
- QT翻译(中英文切换
QT翻译(中英文切换) 工具: Qt Linguist, 一般到Qt Creater的安装目录下的/gcc_64/bin下有一个可执行文件linguist, 双击打开即可 py => ts py ...
- Qt实现中英文切换(国际化)
前言 距离上一次发博客,已经又快一个月过去了,今天写一篇有关于Qt程序如何实现中英文切换的例子,之所以写这个,是因为这是最近项目的一个需求.Qt国际化,网上的例子,很多很多.... 看似很简单,但是真 ...
- qt 设置中英文切换
点击设置转换 https://www.cnblogs.com/liangtianmanyue/p/14773710.html 自动检测转换 QT国际化示例, 检测系统语言,设置适合语言,按键切换显示语 ...
- QT 软件中英文切换
本文内容学习自Johan Thelin的<Foundations of Qt Development>,欢迎交流. 本文中的例子是将软件版本在中英文之间动态切换,在书中归属语言国际化的章节 ...
- QT 中英文切换-国际化(解决部分翻译不起作用的问题)
中英文切换-国际化 1.先看效果 2.核心代码(重新赋值刷新翻译文本) 2.0 pro文件配置 2.1 构造函数 2.2 两个按钮点击事件 3.翻译文件的生成与配置 4. 参考链接 1.先看效果 2. ...
- QT in VS 多语言实现(中英文切换)
最近项目需要软件具有中英文双语切换功能,而QT又自带此功能,现将实现方式记录下来. 说到中英文切换,少不了要了解QT的内部编码方式.在此就不详述QT编码方式了,具体可参考 彻底弄懂Qt的编码.只需要记 ...
- Qt Quick实现国际化 中英文切换简明图文步骤
目录 前言 一.步骤 1.在pro文件中添加需要生成的ts文件: 2.通过工具-外部-语言家-update 生成zh_CN.ts和en_US.ts 3.通过语言家打开生成的ts文件进行翻译 4.将zh ...
- 关于Qt 程序界面中英文切换总结
关于Qt 程序界面中英文切换总结 Qt通过lupdate.exe和linguist.exe实现程序中英文切换 一种基于QtCreater直接使用Qt预言家(注意电脑有权限,可能翻译失败),另外一种用s ...
- Qt中英文切换(涉及多种场景)
qt中英文切换涉及到一个软件两个文件,分别是QtLinguist..ts文件和.qm文件. 1.在Pro中添加 TRANSLATIONS += en.ts \ch.ts 添加这个文件后qmake,然后 ...
最新文章
- 大宗商品(Bulk Stock)交易
- 浙师大dns服务器地址
- Allegro禁布区打过孔或走线消除DRC错误
- python os.system关闭log_又到牛市!带你学习一个python强大证券数据分析工具
- 系统蓝屏的几种姿势,确定不了解下么?
- mvc html.antiforgerytoken,MVC Html.AntiForgeryToken() 防止CSRF***
- CBOW模型的数据预处理
- swift 字符串转int_Swift Tips Streamline 如何假装写过 Swift
- html和ajax通信,使用Ajax与服务器(JSON)通信实例
- “好师父”如何破解大学生就业难题
- matlab2c使用c++实现matlab函数系列教程-factorial函数
- 深度学习实现工业零件的缺陷检测
- 操作系统实验 文件复制/复制文件
- native2ascii 命令
- 微软商店下载显示错误,win11无法下载更新的解决方法
- 基于SSH开发的校园一卡通管理系统
- mysql架构学习——数据库结构优化笔记
- 《有一种错过叫作遗憾》
- 想运营好拼多多店铺,做好产品规划必不可少!
- acer计算机的无线功能键,Acer笔记本Fn组合键功能说明
热门文章
- Java 多态的薪酬计算的练习
- 高级计算机软考科目,软考高级中哪个科目好考
- redis命令,SpringBoot整合Redis6,主从复制,哨兵模式,集群,springCache初高级应用。
- c语言题目翻译,c语言专业词汇表达带翻译
- 矩阵分析(1)--一些基本概念
- Google自带翻译无效解决3个步骤
- 菲尔人格测试(测试一下自己的分数看看)
- Word中并排放置图片的方法
- sci审稿意见_SCI审稿人的意见很多,要全盘接受吗?
- android画笔大小,android之画板功能之橡皮擦 画笔大小和画笔颜色