linka 发表于 2015-12-26 06:21

tomato固件汉化教程,小白专用贴。

本帖最后由 linka 于 2015-12-26 23:03 编辑

首先弱弱的说一句,这不是一个严肃正经的教程贴,因为我也是新手小白,小白嘛就要有小白的样子,故作高深会贻笑大方,恩山大神众多,我要是敢吹牛打脸充胖子一定会被大神打脸pia-pia的打的更胖,so,这个帖子的对象嘛就是小白了。小白写的难免有疏漏,路过的各位神仙觉得不对,欢迎指正啊。在此谢过。 最近搞了一个HG320,捣鼓了半天发现还是tomato与机器契合度最高,用着方便(其实就是怕麻烦,tomato可以直接web刷免换原版cfe)。恩山的bwq518,佐大,独舞等大神都有自己的或mod的固件发布,但可惜好多大神都隐退闭关了,目前仍活跃的shibby的tt固件也不集成中文。本着不作死不舒服斯基的念头(我才不说是我看英语不爽。。。好吧,是不太懂),小白也想折腾下tomato,修改固件添加功能咱是抓瞎了(感谢大神们包办了高精尖技术),但是汉化一下还是可以的吧,毕竟大神都曰(话说这个字在网页上怎么这么长?)了,汉化是个体力活(是独舞还是sady的回帖说的来着,记不清了),咱技术活不行,力气也不肯出那就不用干了。废话不说(那么多),下面开教程。不会代码?没有linux环境?没关系,英语别太差就行(我也就四级水平),何况还有各种翻译。 首先,先去shibby的网站上下载tomato,这里以tomato-K26USB-1.28.RT-N5x-MIPSR2-132-Mega-virtual**这个版本为例,毕竟hg320刷的固件中这个最大(其他版本没测试,不过对于要汉化的部分应该都差不多),页面文件应该差不多包含完了。 然后,我们需要一个小工具,tomatoEdit.exe,这是大神做的一个小巧实用的windows下的tt固件编辑器,双击打开,选择文件-打开下载好的固件。如图:

这是tomato解包后的样子,请认准www文件夹。这里包含tomato的网页界面文件,我们汉化就从这里入手。右键单击www文件夹,选择导出,可以将www文件夹的内容导出到本地计算机上。

剩下的就是力气活了,对里面的近百个asp和js文件开刀(其实有取巧的方法,稍后再说)。
实际上这些asp啊js啊都是文本代码,可以用记事本打开,打开后是这样子滴:

坑爹呢这是,这一大坨要怎么搞?一定是打开方式不对!
所谓工欲善其事必先利其器,下面请出另一个利器Notepad++。这也是个记事本,百度下载链接一大堆,跟系统自带的比起来:

那叫一个条理分明工整有序。听说大神们用这个写代码。。。只能羡慕的满眼小星星了。

下面简单的讲一下汉化,为神马是简单的讲,因为。。。我也不知道该怎么讲,话说,里面一大堆代码,有些是参数,有些是函数,有些才是要汉化的地方。话说,以我只会用C写加减乘除helloworld的水平来看,shibby的代码写得还是挺工整的。关于汉化,对于小白来说最好的就是找一个汉化好的固件导出www文件夹对比代码自己试着汉化几处(实际上我就是这么干的),然后就知道具体该汉化哪儿了。


现在简单的说下汉化的地方,就以上图的admin-access.asp这个文件为例子讲一下。当然,如果你听我说的拆汉化好的包对比着来,下面1-7步就可以直接不看了:1. 第13行的黑体字可以汉化,这个是出现在浏览器的网页选项卡上面的标题文字。 对应浏览器标题:2.第30行的中括号内部的文字,每个中括号内有两个相同或相近的单词或词组,汉化第一个单引号内部的,这个是对应设置页面内的各个选项单元。注意第二个就千万别改动任何字了,那个是参数。
对应:3.碰见长词组或者句子统统汉化,比如第38行的那一句,没有谁会把参数或者函数定义成那么长的玩意儿。句子主要出现在选项后面用作说明,或者是tips,或者是设置保存时弹出的警告框。

4.第231行的section-title后面的那个是页面的每个子项目的标题。
对应子项标题:5.从235行开始出现的title后面的紧跟着的单引号内的也是页面内的项目单元,需要汉化,注意title的语句中经常会包含一些带下拉选择项的元素,比如235行的出现了select, options字样,那么后面的中括号内前面的数字是选项的列表顺的序号(同时也是返回值?不管它),汉化后一项即可。
它们在这里:
这个是选项:,就是上图的那种下拉框。
6.241行出现了两个<small>夹在中间的括号,中间的内容是跟在对应行选项单元后面的小字说明。汉化之。
这个是小字说明:对应:7.有一些按钮的汉化,这个比较杂,不过大部分asp内最后都有保存和取消的按钮,对应在323行和324行的value值后面的单引号内容。对于admin-access.asp,288行还有个点击切换的按钮,最后,有一些按钮的值在asp文件内是找不到的,这个属于公共调用比较多的函数,比如添加条目用的Add按钮,就被集成在了tomato.js文件内,下面要讲。
这是比较常见的按钮:总之,汉化asp灰常灰常的烦。光是找到要汉化的条目就够瞎掉24k钛合金狗眼了。还有翻译,特别是一些专业术语简直让人抓狂。汉化一遍不可能完美,还得刷入路由器做测试,然后找到不那么美好的地方改之。。。再刷。。。反正我是反复搞了四遍(向大神们致敬,这点汉化我就叫苦不迭了)。强烈建议如果实在不知道怎么翻译的地方,就不要翻译,不知道该不该翻译的地方,也不要轻易翻译(改了参数函数啥的就不好玩了)。再次强烈建议,找个汉化好的包,拆开后对照着来。PS:(佐大说功力够的话可以刷入路由器内存实时调试。别看我,佐大也没有托我给大家捎个话,要找找佐大去,我是小白,小白嘛,知道的太多了不好。。。)

如果你搞完了asp,恭喜你,先别急着喘口气。现在请一鼓作气,第二个汉化点在扩展名为js的文件中。就目前来说的132版中,共有八个js文件,其中有汉化点的有四个,分别是bwm-common.js,bwm-hist.js,wireless.js和tomato.js。有个好消息和一个坏消息,好消息是比起91个asp,js文件少的可爱,而且前三个就没几个内容,无非是颜色月份几个句子,坏消息是,tomato.js文件才是重点,此文件共2000+行。零散的分布着各个汉化点(添加按钮的标题就在此文件的1377行)。比较集中和主要的是1984行-2084行,这个是整个设置页面的侧边栏目。没有强迫症并且觉得差不多就ok了,汉化这些就够了。
对应着网页的菜单选项:

等你终于做完了这些后觉得可以长舒一口气的时候。。。请憋着,剩下还有个小麻烦的事情要做,对了,就是打包固件,为什么说有点麻烦,因为解铃还须系铃人,tomatoEdit这个小软件小巧简约,没有啥花哨的功能,也就没有了文件高级排序的功能,导出文件可以一锅端,导入处理就得精确打击了。现在你要做的是就是用它打开英文固件,在顶栏选择查看,选择图标(这种排序可以直观显示扩展名),再右键选择导入,选择你汉化好的文件导入,选yes to all完全替换,然后再一个个按着ctrl键找到替换后的asp和js文件把它们一个个选出来(或者直接选择出来所有asp和js文件,宁可错杀不能放过),然后单击右键,右键,右键(重要的事情说三遍,手贱多点了一下左键的。。。自行脑补后果),选择权限,然后把权限设置成下面的样式后确定(就是第一列全打勾第二列第一个打勾,共四个勾,防止图挂):

然后选择文件-另存为,选择好你打包的固件路径,命好名字,确定后等待片刻,一个崭新的固件就打包好了。然后刷入路由器看看效果。现在,终于可以舒口气了(如果没有发现漏翻译的地方或者你对漏掉的地方能忍的话)。

TIPS:1.汉化好的asp文件和汉化前的asp文件保存好(保存固件也成),因为相邻版本的固件其实对asp的变更不多,比如131固件到132固件,就只变更了两个asp文件而已,找到变更的汉化就行了,至于如何找到变更的文件,hash校验器?你太聪明了,反正我是没想到,我用的winrar,打包压缩两个www文件夹,然后对比CRC32的值:

相同的pass,不同的留下来开刀汉化。等shibby出133版本的时候,就如法炮制就OK了。2.js文件和asp文件包含了99.99%的汉化内容,剩下的一点点,个人猜测在apcupsd文件夹内的三个cgi文件中,体现在保存设置后出现的黄色背景的小字Settings saved.Some services are being restarted...汉化不了,还有就是固件上传成功后的提示,firefox调试结果显示这是个服务器文件tomato.cgi的返回值,所以猜测在cgi文件中,但是这三个cgi文件打开后乱码。。。算了,反正出现的频率低而且。。。我是小白我奈它何(强迫症请注意醒目的黄色背景衬托下的那一串不和谐的英文)。
,这个我真的不会汉化。貌似bwq518的就显示中文了。但是b版的固件导出www后没找到cgi文件,所以懵逼了。
3. tomatoEdit会把上传的web-nginx.asp文件链接到web-mysql.asp文件,不知道是个bug还是本来就这样,不过这两个都是空文件,不管它就是了。再导出拆解汉化好的固件的www文件夹的时候,会发现比原版www文件夹少了一个文件(就是web-nginx.asp文件),是正常的。

最后,特别感谢bwq518版主,大部分翻译都是参照bwq518版主的。我用了你的固件对比引用汉化借花献佛你该不会生气吧。
最后上传:tomatoEdit ----Copyleft.版权没有,转载不究。

linka 发表于 2015-12-26 06:21

本帖最后由 linka 于 2016-1-10 23:38 编辑

如果你按照帖子从上到下按部就班试着汉化了一个固件而没有看到这层楼的话,真是好样的!希望别打我。下面我传一下我汉化好的www文件夹内的asp文件和js文件。除了TomatoAnon和about的页面,其他都汉化了,可以在此基础上修改或者作为对照用(严重的参考了bwq518版主)。

难免有翻译不周的地方,见谅了,我是尽力了。已经打包刷入自己的hg320了,常用的功能都好。但是所有功能有没有汉化出bug就不得而知了。所以,使用此文件的各位都是小白鼠。

算了,鱼竿和蚯蚓都给了,还是一步到底,把鱼也贡献出来吧,发一个打包好的固件,10M的固件(16M以上flash的路由器用),原版是tomato-K26USB-1.28.RT-N5x-MIPSR2-132-Mega-virtual**,hg320能用的。8M的路由器的朋友们就多辛苦点自己看看教程汉化下您能用的英文原版吧,不难的,毕竟好多asp文件都是一样的。就是用工具解包--用notepad++打开对比汉化--封包三个步骤。希望大家都能会啊(这样我就有机会不劳而获了,吼吼)
链接:http://pan.baidu.com/s/1eRo3NcI
xx码:2azm

housecall 发表于 2015-12-26 19:46

多谢楼主无私的分享

hhh1934 发表于 2015-12-26 20:24

多谢楼主无私的分享看看基本不懂

oja520 发表于 2015-12-28 12:22

支持分享

hellokorea 发表于 2015-12-28 13:35

写的挺好,可是自己懒,喜欢捡现成的,如果那个固件特喜欢,或许可以参考这篇自己汉化个

iOutMan 发表于 2015-12-28 17:10

本帖最后由 iOutMan 于 2015-12-28 17:45 编辑

汉化是个体力活啊:lol
TOMATO使用的功能也就那么几个,看不懂也猜得到,就是看得别扭。

当初我也是怕麻烦,直接用版主的TOMATO,后来用了磊科的,本来挺好使得,
以前知道磊科有那个漏洞,感觉没多大事,上次大面积还频繁出问题了。

得了,找找上次看到的那个汉化版吧,做个白白净净的伸手党~
发现已经没下载地址了,这都让我等小白开始折腾了,
干脆折腾一把,不会技术,就来苦力,给汉化了一个。

看佐大编译教程帖子的回复量,喜欢折腾的越来越少了,我自己也喜欢用现成的,
反倒是直接是分享固件的帖子顶贴特别多。
还有你这个汉化教程贴,基础一般的坛友完全可以思考一下的,但是真的很少有回复。


linka 发表于 2015-12-29 20:07

本帖最后由 linka 于 2015-12-29 20:09 编辑

iOutMan 发表于 2015-12-28 17:10
汉化是个体力活啊
TOMATO使用的功能也就那么几个,看不懂也猜得到,就是看得别扭。


谢谢推荐的BCompare。我还苦逼的notepad去找,还得辨别别汉化错地方了,弄得眼都花了。现在折腾路由器的少了,大神都隐退了。做伸手party也不容易啊。磊科我一直没敢用,怕换cfe成砖。
我原来也一直用版主的,可惜也是好久不更新了。原来你早就贡献了固件了,居然忘了去搜一下,不然我估计也就愉快的伸手了:lol

tangsong12358 发表于 2015-12-29 20:23

我是伸手党同感的定一个

DGMHZ 发表于 2015-12-30 23:04

感谢分享,不错!!!!!!!!!!!!!!!!!!!!

ccss123 发表于 2016-1-8 22:14

思考,积累经验!!收集资料,解决问题

skyplus 发表于 2016-1-9 03:56

靠 這个下载的链接太隐蔽了 害我每次都点到广告:Q

diting789 发表于 2016-1-14 10:47

虽然不懂程序,但是顶起来!

zoutianxia 发表于 2016-1-19 13:10

为啥用tomatoedit就是打不开固件文件呢?问一下楼主是不是还要装什么依赖库。也想自己汉化用在tenda w1800r上的shippy固件。

linka 发表于 2016-1-20 21:35

zoutianxia 发表于 2016-1-19 13:10
为啥用tomatoedit就是打不开固件文件呢?问一下楼主是不是还要装什么依赖库。也想自己汉化用在tenda w1800r ...

貌似编辑器不支持rt-ac的和arm的固件,也可能是固件加密了。
页: [1] 2 3 4
查看完整版本: tomato固件汉化教程,小白专用贴。