|
汉化版已接近完成,尚有部分门电路元件库未汉化,主要是门电路IC型号太多了,还有,汉化着,最后感觉有点烦。汉化过程中,元件库的二极管、白炽灯、面包板等,也出现了问题,二极管是因为字节数短了,用=替代二,但通过示例电路测试出现了问题;其他的有一些库元件即便字节数没问题,但也会出现乱码,很奇怪,被迫改其他的名字,如白炽灯改为钨丝灯,面包板改为洞洞板等等,二极管被迫维持原英文名等等。
说一下主要乱码问题:主要乱码是希腊字母μ及其组合,还有℃这两个符号。℃在程序资源内部找到了一处可以消除乱码(部分),但另一处未找到(热敏电阻下拉框中),因此℃只是部分解决了。μ在其他的场合,如一些单独的时间方面μs,未参与运算可以更改汉化消除乱码。但集中在元件符号属性设置的Value值中μ,不易更改,μ在原程序中16进制代码是B5,而在中文字集中,要改为A6CC,字节数长了,改了也影响程序运算,或者字节数不够。程序资源中的字串:p|n|μ|m||k|M|G,其中μ是以希腊字符集的16进制代码(B5)呈现,我们看到的就是乱码。也就是说,中文字符集中的μ与程序的希腊字符集中μ不是同一个μ(按编码)。因为程序对字串长度进行了限定,其中一处已找到可以解除限制,另一处未找到。另外,录入框中,录入后不能更改(也未找到解锁的方法)。因此,要改为中文可识别的,遇到业两个难题:
1、如改为中文可识别的μ,拉长了字串,会导致“p|n|μ|m||k|M|G”16进制代码变长,因为程序中的长度控制代码不止一处,解锁不了长度控制代码,那只能从“p|n|μ|m||k|M|G”消除一个,如:牺牲G(这个G,我感觉很少用到)
2、即便此处替换成了中文可识别的代码μ,我们画出来的电路图中也是中文目视可识别的μ,但程序内部是不能识别的(因为程序识别的是B5编码的μ,而不是A6CC编码的μ),这将导致仿真时出错。如果仅限绘制电路图,那当然没问题。
基于以上原因,元件符号的数值标注,其字体必须是希腊字符集的μ,这样才能保证μ可以被程序识别,保证仿真不出错,这个我们可以通过右键字体属性里将字体的字符集由西欧切换为希腊字符集,这样乱码就变成了可以同时被目视及程序识别的μ了。但问题来了?这个只是通过拖放元件库中的默认值获得。(默认值一般是1μ,50μ,100μ)。如果我们想输入一个2200μF电容,怎么办?按上例中中文字符集的μ,虽然可以通过电路图画出并被我们目视不乱码,但仿真会出错。我想,从字库的字符集来解决这个问题!我们通过点击元件标注数值进入属性弹窗,将Value后面的文本框字库强制设置为希腊字符集,这个可以实现,程序输出的是程序可识别的μ,同时也可以被我们目视无乱码的μ。经过测试,此路可行。但出现另一个问题,Value后面的文本框字体与程序其他弹窗字体是共用的,一旦该字体强制为希腊字符集,其他弹窗的汉化的中文字符即为乱码(希腊字符),但如果不汉化,保持英文,则不会乱码。因此,既想完全汉化,又想完美录入μ,有点困难。另一条思路,将希腊字符集的μ后面加一个空格(即16进制代码B520),Value录入框依旧保持中文字符集,试验了,貌似也可以,偶尔会是"?",但切换几次后,可以显示为μ,不过这个μ后面多了个看不到的空格,这里的μ可以被程序识别,仿真时貌似程序会忽略这个空格。以上两种方法从录入的角度改善了μ的乱码问题,但都有不足的地方。另外描述了电路图中元件符号显示数值乱码问题也可通过调整字符集来解决(通过强制修改字体的字符集为希腊可永久解决)
其他地方乱码,那就是仿真演示时,鼠标靠近元件时的注释框中的乱码,诸如:μA,μW,μC,μV等的乱码形式,这里的μ,我在程序中未找到具体的汉化位置,所以感到头疼。不过,有变通的方法。既然程序有乱码,该乱码其实是生僻字,我们可通过修改字库中该生僻字为μA,μW,μC,μV等,即可完美解决,经试验OK。除了“礦”这个所谓的乱码是“矿”的繁体字,我们可能会遇到,其他的乱码(生僻字),我们这辈子可能都不会用到,放心大胆地改。改系统字库要用到软件,这个大家可以搜索一下。
这是我第一次汉化专业软件,字串数量是几千条。以前仅汉化一些小工具软件,字串数几十条,或百条而已。汉化的软件一个手的指头数得过来。因为是初学者,经验技能严重不足,只是机械地将英文字串转为中文,当了苦力而已,让各位见笑了。 |
|