JAVA 软件汉化
JAVA软件的汉化,在网络上一直很少看到有人讨论,或者分享其方法,处于一个不受汉化者待见的偏门苦逼活计。
这里唠叨一下:JAVA其他相关的东西,有想了解的慢慢去问度娘,这里不做其他长篇大论的去讨论,我也不懂,我的目的只讲如何把它汉化。
一,前戏
1, 工具准备:
A:RECAF
Java字节码编辑器,具体介绍请前往 github 上查看,因为不允许贴链接,请自行前往github进行查看,有安装,使用教程。下面是网站上的原图。
软件支持多语言。
B:passolo.该软件不做多介绍,请查看我前面写的文章,或问度娘,网络上一堆介绍的文章。
C:文本编辑工具,推荐《源码格式化》,具体啥原因,请看完本文就清楚了。
2, 本文主要讨论的是不带语言文件,常规软件无法汉化的JAVA软件,带语言文件的JAVA无难度, 找到主程序包用压缩软件导出语言文件,汉化之,然后用工具把汉化后的文件编码格式转化为UTF8格式,拖入 压缩包 替换或增加即可 。下面的图我用的是Recaf来做例子,编辑软件用的是jd-gui 1.50,此软件也是由JAVA编写,github上有其开源的代码,后面我也使用它来做演示。
3, Recaf要运行,请先安装JAVA 8,JDK要求 11。具体设置请参考github,如果不需要运行高级功能,新建一个文本文档,复制下面的代码,保存,然后把后缀名改为bat,复制此文件到Recaf同一目录,双击此批处理文件即可运行。注意recaf-1.15.8,此为你下载的Recaf软件名称。
start javaw -jar recaf-1.15.8 .jar
exit
二,正题
1. 以jd-gui-windows-1.5.0版本为演示目标,先用它自己查看自己,注意不要被它的后缀名exe迷惑,它本来就是JAVA文件,因为它自身不支持exe格式后缀,复制一份副本把它后缀改为jar,你可以点击它,发现它依然能够运行。而我用它自身查看自己,其目的就是证明它不带语言文件,一般工具搜索不到要汉化的内容。可以用界面上的File这个单词试试,你会发现根本找不到。
2. Recaf登场:Recaf载入jd-gui-windows-1.5.0版本,搜索 File 字符串 。
逐步展开:
注意划红线的地方,要双击,会弹出一个对话框,关闭即可。然后才会出现下面的一行,双击进去,就能看到所要查找的字符串。
到此,可以修改字符串了,就是进行所谓的汉化。但别以为这就完了?不,这样你会累到吐血三升!
先把图片上最右面的内容复制到《源码格式》工具里
观察其特点,需要汉化的内容:LDC “Help”,LDC “Search”在工具里都显示红色,前面带有LDC” “,此工具能自动识别出是JAVA代码,会自行自动着色。我们把上面的内容另存为txt,开始下一步工作。
4, passsolo登场
也许有人要怀疑了,为啥要用passsolo?因为我们要用专业工具,快速解决翻译,手工对于大型软件,一定会吐血,相信我,且不能保持术语的统一性。当然,要想省力,你得会使用passsolo为前提,这我只是简单的贴出设置,不讲解步骤。
简单说就是用passolo的便利性,使用规则编写进行快速提取汉化内容,进行翻译。编写完规则,一定要记得保存,然后这里选择使用编写好的规则,否则一切都是白忙活!
上图就是使用passolo规则提取出来的字符串,可以看出,这样非常方便,清爽,把不相干的内容屏蔽,一目了然。然后使用passolo的强大在线翻译宏(感谢wanfu老兄十年如一日的付出)快速汉化完毕!生成翻译完的文件。
5, 回写
你以为苦逼的汉化完工了?NO,噩梦刚刚开始!
上面两图是对比,翻译前后的文件不要删除,千万别删!
慢慢替换,慢慢测试。。。。。。。。。。没办法JAVA就这样,玩的人少是有原因的!
而且还要很不幸的告诉你,有的字符串看似可以放心翻译,结果。。。。结果就是不能动,一翻译程序就要出问题,想吐血了没?例如下面
所以,这也是为啥我所说要保留翻译前后的的两个文件的原因,测试的时候可以贴回去,如果删除,那就得从passolo里查找了。
好啦!说了那么多,归结为Recaf 牛掰!当然,有更好的方法可以交流,目前所想到的就这些,搞假娃。先要有把自己搞吐血的觉悟~~~~~~~最后贴一下效果展示: