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