3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)

在上次把CUR软件从github网站clone下来并在windows8系统,python2.7下调通以后,cura界面是完全可以运行了。

但是存在几点问题:第一,界面为英文界面;

                                第二,项目文件很多,分类识别也是很大工作量;


基于上边两个问题,开始今天的讲解;


首先解决第二次问题,在这里我会为大家讲解一下重要的几个文件;

我先说两个位置,第一位置是你现在电脑用户的位置:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第1张图片

我是这个,可能你的跟我不一样,但是一定会有.cura\dev这个文件夹。在这个文件夹下边的这三个文件你不一定全有,这是cura的一些配置文件,当然你也可以全部删除掉,重新启动你的cura,就会再次看到这几个文件。

说完第一个位置再来看第二个位置:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第2张图片

这个位置是你把CURA界面源码clone下来的位置,在这个下边有两个重要的文件及文件夹,已经用箭头标出。其实经过第一课的同学肯定对cura.py不陌生,这里我们主要去gui文件夹下去看看。


gui负责的是cura的大部分界面布局,但是这里只说是大体上的布局,因为cura界面的具体布局其实并也不在这个gui文件夹里,当然有些还是有的。上图:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第3张图片

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第4张图片

其实这些.py文件看字面意思也知道是什么文件,还有一个重要文件是在\Cura\util下的profile.py文件,这个文件里写好了所有界面的哪些初始值;

到此其实是已经把cura界面的整个,哦,差不多多半个界面代码位置说了,下一步就是自己打开代码去读了。对了,在运行时你会发现在cura图形界面中根本不能出现中文,一有中文就给你报错,针对这个问题,我也是费了很长时间才破解,那就是在你需要中文的那个界面源码的第一行写上:#coding=GBK  



现在说一说第二个问题,汉化的问题;

同样的,汉化软件的方法我就不说了,我也是第一次搞,不过这里我还是带大家看两个位置:

第一个位置,上图:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第5张图片

看见没,如果你第一次用你cura的话都没有zh这个文件夹的,这个文件夹就是负责把界面上的所有英文置换成汉字。那个en文件夹就是cura默认的启用文件夹,不用说大家也知道,en就表示是english,我英文不好,好像没有拼错吧?那么问题来了,这个zh文件夹是哪里来的呢?实话说吧,这个不是我自己写的,是我偷来的,哦,不对,是复制来的。因为我现在做的这版cura是15.04版本的,我电脑上已经安装了这个版本汉化好的cura了,所以我直接在我安装的cura安装路径下找到汉化包直接搞过来,运行以后完美汉化。老规矩上图:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第6张图片

如果你说你也已经把这个zh文件夹找到了,并放在了合适的位置,但是运行后发现怎么还是英文?呵呵,这么做肯定还是不够的嘛,还得相应的修改下代码,这里需要修改代码的地方:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第7张图片

打开resources.py,修改代码如下:                   

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第8张图片

好的,修改好以后,重新启动你的cura,怎么样?是不是变成中文了?

当然你会发现还有一些没有汉化过来对不对?不用急,我们进行下一步工作,继续汉化;

其实进行到这里我们就知道其实汉化也就是调取了我们资源文件夹里边的汉化包,但是汉化具体是怎么工作的?里边是什么文件?我们进一步进行分析;

我们以zh这个文件夹为例来讲解吧,好吧,还是上图:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第9张图片

打到底你会发现就只有这两个文件夹,没错,就是这两个文件在汉化;这里你先停一下百度一下.po和.mo的差别,怎么说吧.mo是.po编译过的执行文件,哦,这个.po你可用记事本或是notepad++打开来看也可以进行编辑(要汉化工作就在这里),一会我会分析,那么我们用什么软件来编译.po文件呢?问的好,我们用 poedit 软件来让.po文件生成.mo文件。好了,说了这么多我们到里边看看.po文件怎么写?

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第10张图片

好了,到现在你是不是觉得汉化也就不这回事?so easy!哈哈,其实还有一个问题,那就是源码中怎么指定这个字符串要汉化的?好吧,看样子还的回到源码中;

这里以mainWindow.py为例给大家讲吧,为什么?因为这家伙需要汉化的比较多,所以我们就拿它开刀,枪打出头鸟么。哈哈,扯远了哈,言归正传;

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第11张图片

为什么我会指定这三个呢?呵呵,如果你真正做了你就知道了。源码在这里前两个是汉化不了的,我这里是改过以后的,所以跟我这样的话就可以汉化了!什么?要汉化的图?好吧,老规矩,上图:

3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)_第12张图片

这三个汉化的分别就是:基本、高级和插件;


好了,今天就讲到这里吧。然后再研究研究其他的,给大家贴出来。如果这里有什么不对的,也希望大家能够给指正出来,谢谢。




你可能感兴趣的:(3D切片软件)