问题描述
修改了FreeCAD源码,需要翻译成中文,如何更新语言包
研究思路
FreeCAD是基于QT开发的界面,故想到FreeCAD应该要用到QT的lupdate.exe来更新翻译文件,在FreeCAD源码根目录下搜索lupdate.exe。
经搜索,发现了FreeCAD\src\Tools\updatets.py,打开里面代码看,这个脚本干的就是更新翻译文件的事。运行之后,提示错误
用到了pylupdate, 这个是PyQt中从python源码中为qt提取翻译文件的工具。故安装了PyQt5, pip install PyQt5
。
再次运行,可以成功,但发现它将所有的语言包都更新了,我不需要,我只需要更新我修改的那几个文件。故使用了以下简单粗爆的解决方案。
解决方案
用文本编辑器打开FreeCAD\src\Gui\Language\FreeCAD_zh-CN.ts直接修改,然后用编译FreeCAD第三方Qt库中的linguist.exe打开查看,用lrelease.exe可以编译生成FreeCAD_zh-CN.qm。编译举例如下:
"E:\wokspace\opensource\FreeCAD\Build_18.4_x86_2\bin\lrelease.exe" "E:\wokspace\opensource\FreeCAD\FreeCAD\src\Gui\Language\FreeCAD_zh-CN.ts"
执行以下命令,可生成文件:E:\wokspace\opensource\FreeCAD\FreeCAD\src\Gui\Language\FreeCAD_zh-CN.qm