Qt国际化使用的ts文件是xml格式的,如果主机上没有安装qt 的 linguist 语言家应用,则阅读起来很不舒服。
注:本案例可用于xml转excel
手段:python pandas xml.dom
python有多个excel操作库,比如:xlwings,win32com,... ,openpyxl 等等。网上有很多对比这些库的文章 。这里就不一一列举
各个库的优缺点了。
xml库在python的默认安装包里就有,不需要额外安装,使用也很简单粗暴,使用教程:
https://www.runoob.com/python/python-xml.html
https://docs.python.org/3/library/xml.dom.html
库选型:github上pandas的社区参与热度明显高于xlwings,win32com资料不多,用起来也麻烦,还要求使用者具备一定的windows使用经验。故选用的是 pandas 处理 excel , pandas 依赖 openpyxl,因此需要同时安装这两个库。
注:win32com 可以理解为对windows com的封装,理论上在windows环境下其功能是最强大的,但是用起来其实就等于在windows的api,与其这样不如直接丢到c++工程里做了。
可执行文件:为了操作方便,直接提供可用的 exe ,下载链接:
https://download.csdn.net/download/ykun089/12412655
使用说明:目前已经将输入文件名称写死,故需要把要被转换的文件放到exe同级目录下,同时修改文件名为 en2zh.ts ,最终输出为 en2zh.xlsx 。
效果图:en2zh.ts:
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE TS><TS version="2.1" language="zh_CN" sourcelanguage="en"><context> <name>AddrPanel</name> <message> <location filename="../qml/panels/xxx.qml" line="236"/> <location filename="../qml/panels/xxx.qml" line="906"/> <location filename="../qml/panels/xxx.qml" line="912"/> <location filename="../qml/panels/xxx.qml" line="921"/> <source>Enter Search</source> <translation>输入搜索</translation> </message> <message> <location filename="../qml/panels/xxx.qml" line="241"/> <source>No Record!</source> <translation>无记录!</translation> </message> <message> <location filename="../qml/panels/xxx.qml" line="359"/> <source>"failed!</source> <translation>失败!</translation> </message> <message> <location filename="../qml/panels/xxx.qml" line="1029"/> <source>Type</source> <translation>类型</translation> </message> <message> <location filename="../qml/panels/xxx.qml" line="1054"/> <source>All Types</source> <translation>所有类型</translation> </message>eh2zh.xlsx:
1Enter Search输入搜索2No Record!无记录!3"failed!失败!5Type类型6All Types所有类型 ps:本案例可扩展为xml转excel
需要源码,需要定制化处理,或其他协助,可联系 ykun089@163.com