Symbian 3rd汉化教程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Symbian3rd汉化教程Cnpda汉化组Flox出品www.cnpda.com.cn写在前面的:其实汉化不是一个技术活,只要你有点耐心,只要你对英文掌握还可以,其实就能够汉化一个很不错的作品。请你不要认为汉化只是简单的查找替换,只要你用心,汉化作品同样可以很有艺术性。教程一共分为两个部分,第一个部分为手动汉化部分,第二个部分为工具汉化部分。如果你只想尽快的看到自己的汉化作品,请跳过第一部分,但是,你将体会不到手动汉化的乐趣。只要你掌握了手动汉化的方法,任何软件都难不倒你阅读本教程你必须了解的一些东西:1.第三版和第二版不同,所以解包和打包工具不同。不可以用第二版的解包工具去解包第三版的软件。2.第三版汉化基本上只是Ascii编码的汉化,所以本文着重介绍A码汉化3.第三版部分资源存在于exe中,无法直接汉化,必须脱壳汉化再加壳,后面会具体说明,并提供脱壳工具下载。汉化工具:1.Hexworkshop——手动汉化手机软件的工具2.中英文字符编码——用来查询中文字符的Ascii代码3.ExeUnCompres——Ganthur写的exe脱壳工具Part1:手动汉化教程对于汉化,你必须有一个感性的认识,那就是解包——汉化——再打包的过程。所以,你想要汉化软件,第一个步骤就是解包软件。现在解包一般是使用专门的解包工具,如:SISware,SISVue等由于SISware在部分电脑上无法运行,这里用SISVue这款小巧的解包工具做例子。SISVue主界面如图所示:打开一个3rd的软件后,如图所示:在SISVue的主界面中,可以看到你要解包的软件的pkg文件(后面将会提到pkg的作用)点击“文件”——“解包”,选择解包的路径,就能解包软件。一般来说,需要汉化的一般是.rsc文件,也有部分为.r01文件。都可以用HexWorkshop打开。可能出现的问题:由于部分软件的.rsc文件为多语言版本,直接在电脑上通过解包后得到的.rsc文件可能并非为英文版,所以,就必须先在手机安装,再把需要汉化的.rsc文件复制出来。3rd的汉化大部分都是Ascii编码,本教程先跳过Unicode编码。这里用一个Unicode编码的图以示区别:先认清楚什么是Ascii编码,如图所示:1.普通Ascii编码汉化:这里我们用settings这个单词为例看这个settings,编码是080853657474696E6773,看看S前面的两个数字0808,0808也被成为单词的指针,对于手动汉化,指针是非常重要的。其中第一个08表示此字符串一共有8个字符其中第二个08表示此字符串一共有8个字节其中第三个53在ASCII码中表示英文字母“s”其中第三个65在ASCII码中表示英文字母“e”其中第三个74在ASCII码中表示英文字母“t”0808就是是这个单词的指针,第一个08是有效长度,第2个08是字符的总长度,A码中一个字母代表占用一个字符长度,同时占用一个字节,这个单词一共有八个字母,所以有效长度,也就是字符长度为08,同时每个字母占一个字节,所以字符总长度也就是占用的字节数为08现在用Hexworkshop打开需要汉化的.rsc文件,(你要明白汉化的过程就是查找和替换,虽然有点繁琐)。按快捷键Ctrl+H,切换出替换的界面。替换类型选择“十六进制值”如图所示:现在打开中英文字符编码查询设置为Unicode码,以及十六进制,在字符框中输入“设置”,得到的编码为8BBE7F6E,这个就是设置的U码字符了,我们就是要利用这个编码把“Settings”汉化成“设置”那么我们来看看,汉化的构成,前面说过了,A码字符占用一个字节,但是U码占用两个字节,所以指针就大不相同了,“04080F8BBE7F6EE02020”这个就是用来替换Settings编码的新编码了,我们来解读一下,“04”,是有效长度,“08”是字符总长度(这里讲一下为什么是0408,04代表这个编码的有效长度,也就是要体现出来的字符,在这个例子中,只有“8BBE7F6E”设置的U码以及“2个20”需要体现出来,而0F和E0仅是语法用语,是不做体现的,设置占2个,20占一个,2020就占2个了,所以有效长度为04,08代表的是字符总长度,也就是占用的字节数,我们已经知道,U码是占用2个字节,所以“8BBE7F6E”设置的U码占用4个字节,一个字2个字节,0F和E0各占用一个字节,20占用一个字节,2020就占用2个字节,所以一共是4+1+1+2=8表示为08)“0F”代表以后的字符为“U码”,“8BBE7F6E”这个就是“设置”的U码字符了,“E0”代表U码结束或以前的为U码,最后的2020代表的是2个空格,为什么要补2个空格呢?大家可以看Settings的占用字节是08,如果不补空格的话,“设置”的编码就成了02060F8BBE7F6EE0,占用字节是06,这样字符长度就和以前的不同,会造成偏移量引索表不对称,软件也就无法运行了OK,按住Ctrl+H选择“十六进制值”把“080853657474696E6773”,替换成“04080F8BBE7F6EE02020”保存,OK,大功告成,打包放到手机,看是不是已经把Settings汉化了呢?在这个settings中,汉化的替换语法是0808+设置的A码=0408+0F+设置的U码+E0+2020(两个空格)汉化其他的也是一样先确定指针,再加入0F汉字的U码E0和要补齐的空格就可以了总的来说,也就是XXYY+0F+U码+E0+20XX:有效长度,也就是你汉的中文字符的长度,如果是“设置”,那就是02,你要记得这是16进制,千万不要当成10进制处理了。YY:字符总长度,就是原英文单词的长度,这个settings里,就是080F+U码(你要汉的词)+E0:此处可以说是个语法,只要你开始使用中文的时候就必须先在前面加上0F,在后面用E0结尾。20:20的添加要视情况而定。还是用“settings”为例,编码是080853657474696E6773,替换成了04080F8BBE7F6EE02020,汉成中文为“设置”一共是两个字符,后面有2个20就加2,所以有效长度为04。如果后面没有则不用加。小贴士:在汉化的时候,一个汉字最少需要4个英文字母,也就是说,2个汉字,最少需要6个英文单词。2.借字符的Ascii编码汉化在同级菜单中,有一个settings一个exit。相信大家看了普通Ascii编码汉化已经可以很轻松的解决settings“这个吧?但当你开始用同样的方法去汉化的时候,却发现要把exit”汉化成退出却没有足够的字符,怎么办——借字符!首先要说明的是,要实现借字符,必须是在同级菜单下,至于为什么在同级菜单下,后面会有说明。2个汉字最少需要6个英文单词,你在汉化的时候,发现settings多出了两个英文字符,这个时候,你就可以把settings多于的字符借给exit用了。借字符的时候,任意选中setitings中的两个字符,点鼠标右键,在剪切到exit的任意处。比方说,你把settings中的gs剪切复制到了exit中,这样,原来的settings就变成了settin,这个时候原来settings的指针由0808变成了0606,编码就变成了060653657474696E汉化成“设置”就变成了02060F8BBE7F6EE0。发现没,你剪切之后,对于settings这个单词的汉化毫无影响吧!好,没问题就继续,你把settings中的gs复制到了exit中,原来的exit就变成了exitgs(gs可以随心所欲的复制在exit的任意位置),exit原来的有效长度是0404,如果你怕出错,就可以改成0606,这样,把exit汉化成退出就没问题了吧?用图来说明我上面的这段话吧:大家看到了Exit的编码040445786974如下图:就拿Settings来说,刚才我们把它汉化成04080F8BBE7F6EE02020,看后面多了2个空格,正好是2个字节,我们可以把它借来用用~别浪费嘛;这样Exit的编码040445786974就变成了0606457869742020刚好可以汉化成2个字,如下图这时候就可以用“退出”的编码02060F900051FAE0来替换它啦!!!如图是汉化完毕的结果保存到手机里看看,是不是汉化成功了?什么,没成功,那一定是你汉化中出错了。3.偏移汉化Ascii编码教程一(教程一和教程二独立存在,都是介绍偏移汉化的)为了让大家更明白的学好手动偏移,在这篇教程的开头,我首先用一个比喻来说明一下偏移吧,让大家能够更好的接受。如果把一个.rsc文件看成一本书,每一个.rsc文件都用自己的索引表,也是就每一本书都有自己的目录,特别的是,.rsc的索引表都是在.rsc的结尾,而不是像书本一样在开头。当你要使用偏移时,也就像这本书中间的某个部分缺页,你必须添加页码这个概念,当你为书添加了页面,添加完成后,对于缺页前面的部分,添加页码后无任何影响。但在缺页后面的页码,你添加了几页,就要响应的修改页码。也就是说,在rsc偏移中,你在需要使用偏移的字符使用偏移,偏移之后,你就必须在索引表中进行相应的修改。偏移对新手来说,确实有些难度,希望大家能慢慢理解,学好汉化A码的最后一步。下面的教程均用图片来具体说明:把HexWorkshop的显示方式调成每行显示16个字符的方式。大家看到最后两个字节1A09吗?把1A09倒过来看,看成091A(不需要在索引表中修改成091A),大家现在看图片中我用黑框标注的1800吗?把鼠标点到1800的1这个前面,再看看HexWorkshop的右下角看到图片中1800的偏移地址就是:0000091A了吧。这样你就理解最后的1A09为什么要倒置来看了。也就是在coolsms.rsc这个例子中,1800到1A09就是索引表,记录着整个rsc中的内容。大家留意到HexWorkshop最左手边那组数组没?索引表最后的1A09就在最左手边的0910附近。如图所示:把鼠标移到0910300A可以看到300A的偏移地址是00000910,依次下来,所以1800的偏移地址就是091A,和最后的1A09相对应,所以这个就是索引表的起始位置。在上面的图片中,要注意2020和1800是分开的喔!现在我们用On和Off汉化来做例子。找到on所在的位置,看on的偏移地址,在HexWorkshop右下角可以看到On的偏移地址是0359,现在在回到索引表,如图:把黑框中框到的字节全部倒置过来看,意思是把1800看成0018,把2000看成0020,依次类推(记得噢,是在心中这样看,不要试图在索引表中修改),如果你觉得不熟练的话,你可以在旁边打个草稿。现在,你的任务是找到于0359这组数最接近的数,慢慢找,找到了没?对,就在第二排最右手边的5103,倒过来看就变成了0351,是不是这索引表中和0359最接近?不相信的话你可以在索引表中继续找,看5103是不是最接近的。另外和0359最接近的就是6303了,倒过来看看,变成了0363了,对吧。我们这里找的是On这个单词起始位置O这个字母在索引表中最接近位置,我们还需要找一下On这个单词中n在索引表中最接近的位置。按前面的方法,我们得知n的偏移地址是035B,按照前面说的,在索引表中我们就找到了7B03(到过来看是037B,和035B差不多吧?)。也就是说0363对应的就是Off后面的00,037B对应的就是disabled后面的04。请认真的看懂上面的话,否则无法继续下一步。我们现在来汉化On和Off,通过前面的教程我们知道我们把On后面任意添加两个字符(当然你也可以添加更多的字符……),这里我们把On后面再添加一个on,就变成了Onon,把Off后面添加一个f,就变成了Offf。按照前面的方法,可以进轻松的汉化了。汉化完成后不要着急保存测试,否则你就等着出错吧。你还没有修改索引表呢!汉化后的截图:现在让我们再回到汉On和Off的地方,看看有什么变化。看看on后面的03现在的偏移地址是不是变了,变成了035

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功