成功编译qgis,启动程序发现对话框上的OK、Open、Cancel、Help等依然是英文字段,然后查找源码看这些字段是否都添加到了语言翻译包中;
最后发现这些按钮都是qt的QTGui4库中的QDialogButtonBox类,而qgis_zh_CN.qm文件中也确实未搜索到这些英文(利用qt的linguist.exe翻译程序打开搜索)
为了解决这个问题,我最开始考虑,难道到编译qt项目解决,下载qt源码,查找后发现这些英文都已经添加到了翻译中,而且qgis本身也是依赖qt的,使用的都是统一种方法翻译的;
那么是否可以手动通过添加这些英文字段来翻译?
首先,通过qt的linguist.exe打开qgis编译的qgis_zh_CN.qm文件,发现似乎不能添加,尝试换一种方法;
通过文本编译器打开qgis源码中的qgis_zh_CN.ts文件,按照里面的方法添加如下:
<context>
<name>QDialogButtonBox</name>//类名
<message>
<source>&OK</source>
<translation>确定</translation>
</message>
<message>
<source>OK</source>
<translation>确定</translation>
</message>
<message>
<source>&Save</source>
<translation>保存</translation>
</message>
<message>
<source>Save</source>
<translation>保存</translation>
</message>
<message>
<source>Open</source>
<translation>打开</translation>
</message>
<message>
<source>&Cancel</source>
<translation>取消</translation>
</message>
.....
</context>
然后,通过qt的linguist.exe打开刚刚修改的qgis_zh_CN.ts文件,在通过Release As另存为qgis_zh_CN.qm文件,替换原来的文件,
OK,成功了