Vv、
旅长
  
一起努力 我们会好起来的
UID 6175656
精华
1
积分 1370
帖子 1370
威望 38 点
财富值 1380 塞班币
贡献值 345 点
好评度 34 点
交易信用 0 点
原创小红花 21 朵
人气值 0 点
阅读权限 35
注册 2008-11-22 手机型号
n76.5800.e63.G3
状态 离线
|
|
|
标题 | 新手入门汉化教程,附第一次汉化作品MoreCaps(更新完毕) | 作者 | 6616471(整理) | 论坛 | OPDA |
今天开始学习汉化,唉,头都看晕了,选了“Leftup”大大的MoreCaps软件,HOHO
还好这个菜单比较少,就拿它开刀了,嘿嘿,终于汉化成功了,经验又学到了不少
当然其中也有失败的地方,尤其是关于"Open a File First!"这个地方的汉化,其中失败了二次,后来成功了,但是可能因为字数太多,显得不太好看,最后一狠心去掉了!:(
唉,必竟是第一次的汉化,大家给点面子吧,来几个人支持下
相信知道这个软件的人也知道其实没什么汉化的必要,HOHO,不过拿来学习汉化还是挺不错的说,嘿嘿!`````
给点支持吧,我会继续努力的
看有人回贴说不会用,举个例子来说吧,可以给某些软件添加权限
比如说,A4输入法,相信很多人都知道,有17权限的,19权限的,以前可以通过用高权限的同版本的zta4.dll和zta4srv.dll这二个文件覆盖的方法获得高权限,现在有了这个软件的话,可以直接修改这二个文件,自己赋予这二个文件相关的权限,这样说我想大家明白了吧
方法步骤
1:打开程序,选项--打开
2:输入zta4.dll
3:除TCB权限外,其它全标记,0为快捷键
4:保存
5:同上再次输入zta4srv.dll,标记好所需权限,保存
这下再试试,你如果装的是17权限的,重启手机后,再进来,就会发现你的A4输入法已经变成19权限的,这样说大家明白了吧
软件来源及用法见leftup的贴子: http://www.***/viewthread.php?tid=16956&extra=page%3D3
PS:必须是XX的机器才能使用,请用自己的根证书自签名后使用,谢谢
软件下载: MoreCaps简单汉化版.sis (32.13 KB)
以下是今天看了一天的有关汉化的贴子,相信有很多人想学习,当然这贴子不是我原创的,很多论坛和网上都有相关内容,为了方便大家,我就转载一下,有兴趣的大家一起来学习吧,相信你有一定的计算机知道,会很容易上手的,我也是今天才开始学的,大家一起努力吧,争取做到OPDA人人都会汉化,HOHO
以下转自网上,版权归作者所有,作者:Flox,黑山小妖 编辑整理:wjq135
PS:教程也许有点老,但是如果你完全吃透了,肯定可以学会汉化,以前从来没接触过,今天我也是看完以下教程汉化了我的第一个作品,如果你有兴趣学习汉化,想自己汉化软件的话,不防仔细阅读以下教程
汉化工具介绍
我们这里所说的汉化全部是手动汉化
强烈建议所有的新手学习汉化的时候自己动手汉化,这样你才能感受到汉化的繁琐,和在繁琐中解决问题的快感。
一开始汉化就使用工具的人不是真正的汉化学习者,只是为了汉化而汉化,是没有前途的。只有懂得汉化的原理,才能为你更好的使用汉化工具做准备。
俗话说:工欲善其事,必先利其器。我们这里使用的汉化工具是HexWorkShop,一款功能强大的16进制编辑软件,功能强大的开发工具,可以方便地进行十六进制编辑、插入、填充、删除、剪切、复制和粘贴工作,配合查找、替换、比较以及计算校验和等命令使工作更加快捷。速度快,算法精确,并附带计算器和转换器工具。其强大卓越的比较功能对于汉化人极其有用!
U码基本常识
U码介绍:
Unicode
由Unicode 协会开发的能表示几乎世界上所有书写语言的字符编码标准。Unicode 字符清单有多种代表形式,包括 UTF-8、UTF-16 和UTF-32。大多 Windows 界面使用 UTF-16。
Unicode传输格式 8(UTF-8)
在ASCII 码基础上发展的协议字符设置。UTF-8 协议提供ASCII 码的扩展支持,UCS-2 码的翻译,国际 16 进制 Unicode 编码字符设置。与使用字符数据的 ASCII 或扩展 ASCII 编码相比,UTF-8 可获得更大范围的名称。
Unicode字符系统 (UCS)
作为 Unicode 标准一部分的国际标准字符集参考。现在广泛使用的 UCS 标准的版本是 UCS-2,该版本指定的 16 位字符数值已作为世界上大多数语言的编码标准而被接受,并得到了承认。
U码汉化原理:
在Unicode编码,即不论英文字符、中文字符都占两个字节。因为英文的Unicode的“OK”是两个字符占四个字节,中文的“确定”也是两个字符占四个字节,直接替换即可。
软件解包
Sis其实和电脑上Exe文件是同一类型的压缩文件,有两种方法获得sis格式的语言文件。
一般来说,需要汉化的语言文件是.rsc(也有的需要汉化app和mbm文件的,还有一些如R01的特殊语言文件),我们这里以rsc为例子
1.正常安装软件,通过FileMan,SeleQ等文件,把你准备汉化的.rsc文件拷到电脑上来即可。
2.在电脑上安装Unmakesis,在电脑上解包软件,得到.rsc文件。
再用Hex Workshop打开即可。
用Unmakesis主要注意的是:由于有些软件为多国语言,在电脑上解压会出现多个语言包,如.rsc1,.rsc2,所以,强烈建议你使用第一种方法。
个人推荐解包用软件sisware4.7汉化版,另说明一下,打包的时候要用到PKG文件,用这个软件可以很方便的复制生成。
U码汉化
1.U码汉化我们就用Appman这个诺基亚平台必装的软件来做说明吧。

如图所示,在appman.rsc里看到,E.x.i.t.就是U码,如果是..Exit就是A码(这个我们到后面再说)
2.汉化方法
前面已经提到,在Unicode编码,即不论英文字符、中文字符都占两个字节。
用Exit为例子,在Hex Workshop中,按Ctrl+H快捷键开始进行替换,在替换类型上选择“文本字串”,在“查找”中输入要汉化的Exit(注意是Exit,不是E.x.i.t),此处替换的是“退出”,于是,你就在“替换”中输入退出,别着急按确定,在下面的选项中,点选“用空格填充”,否则,你会遇到很多意想不到的麻烦。
PS:为什么要选中“冗余处填充零值”?
这是为了保证文件长度,因为一般汉化Unicode成中文时,字符长度都是比英文字符长度短一些的。但“0000”这个编码在手机上查看是“口”,所以就必须填充空格。切记替换时要在中文字后面补空格。
见图:

3.开始替换
在appman这个实例中,要汉化的exit这个单词,在软件中有很多处,初学者可以选择全部替换,这个全部替换倒是比较方便,但你以后汉化的时候就会发现,方便反被方便误。不过新手还是可以全部替换。替换之后,可以看到,你替换过的Exit用红色显示出来
如图:

4.手动替换
这里,你必须掌握3个语法,其实不是说是语法,而是必须注意的3个地方。
2000,AD00和0A00
2000的解释:2000是用来补位,是用空格来补位,也是就是补了5个2000,后面就有5个空格,用Exit做解释,Exit汉化成“退出”的编码是“0090 FA51 0000 0000”,如果你改成"009 0FA51 2000 2000",中文就显示成“退出 ”(注意退出的出后面有两个空格),如果你改成“0090 2000 2000 FA51”,
中文显示就是“退 出”
AD00的解释:AD00也是用来补位的,和2000不同的是,AD00不能单独存在,也就是说,AD00不能在开头,也不能在结尾,只能在中间。这里还 是用Exit做例子。“0090 FA51 0000 0000”,这里你就不能直接把后面的“0000”改成"AD00"了,否则将出现错误。根据前面的解释,只能这样修改"0090 AD00 AD00 FA51 ",这样修改之后,中文显示为“退出”。
如果你改成"0090 AD00 2000 FA51"将显示成“退 出”,其实,中间的0000 0000你可以根据自己的需要修改成AD00或者是2000。
至于AD00和2000谁使用得多,请大家自己研究一下,这样才会有深刻的影响。
0A00的解释:0A00一般使用得比较少,0A00是用来换行的。
其实,最好用的是FFFF,这里我不做多的说明。
上面就是U码汉化应该注意的几点,马上动手去试试吧,感受一下手动汉化的乐趣吧。
A码基本常识
A码简介:
编码就是用文字、符号或者数码表示特定对象(信息)的过程。计算机编码采用的是二进制编码。ASCII=America Standard Code for InformationInterchange,美国信息交换标准码,作为数据传输的标准码。由8个位来组成:使用7 个位来表示英文字母、数字0~9及其它符号, 一般还加上一位奇偶校验。用8位表示256个不同文字符号的是ASCII扩展编码方式。目前已确认为国际标准代码。
ASCII=America Standard Code forInformation Interchange,美国信息交换标准码,作为数据传输的标准码。早期使用7 个位来表示英文字母、数字0~9及其它符号,现在则使用8个位,共可表示256个不同的文字与符号,为目前各计算机系统中使用最普遍也最广泛的英文标准码。
编码就是按照二进制的位数对信息进行定义的一种方法。
A码汉化原理:ASCII编码中一个符号和一个英文字母只占用1个字节,而一个汉字仍然要占用2个字节,所以,相对于U码来说,对于新手有一定的难度。现在使用ASCII码的英文软件渐渐多起来,因为ASCII码能让软件的体积更小开发起来更方便。
A码汉化(一)
A码汉化(一)
这里还是用Hex Workshop手动汉化。用快捷键切出“替换”菜单,替换类型选择“16进制值”
如图所示:

这里我们用settings这个单词为例

看这个settings,编码是08 08 53 65 74 74 69 6E 67 73,看看S前面的两个数字0808,0808也被成为单词的指针,大家注意到没?
大家一定要弄懂这个0808的含义,否则无法进行下一步。
其中第一个08表示此字符串一共有8个字符
其中第二个08表示此字符串一共有8个字节
其中第三个53在ASCII码中表示英文字母“s”
其中第三个65在ASCII码中表示英文字母“e”
其中第三个74在ASCII码中表示英文字母“t”
0808就是是这个单词的指针,第一个08是有效长度,第2个08是字符的总长度 ,A码中一个字母代表占用一个字符长度,同时占用一个字节,这个单词一共有八个字母,所以有效长度,也就是字符长度为08,同时每个字母占一个字节,所以字符总长度也就是占用的字节数为08
理解了吗?没理解的一定要理解,懂了的咱就继续。
现在打开中英文字符编码查询
设置为Unicode码,以及十六进制,在字符框中输入 “设置”,得到的编码为8BBE 7F6E,这个就是设置的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选择“十六进制值”把“0808 5365 7474 696E 6773”,替换成“0408 0F8B BE7F 6EE0 2020”
保存,OK, 大功告成,打包放到手机,看是不是已经把Settings汉化了呢?
在这个settings中,汉化的替换语法是
0808+设置的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的添加要视情 况而定。还是用“settings”为例,编码是0808 5365 7474 696E 6773,替换成了0408 0F8B BE7F 6EE0 2020,汉成中文为“设置”一共是两个字符,后面有2个20就加2,所以有效长度为04。如果后面没有则不用加。
最后,再给大家一个小贴士吧,在汉化的时候,一个汉字最少需要4个英文字母,也就是说,2个汉字,最少需要6个英文单词。
大家都弄懂了吗?这就是A码汉化的第一步,如果你弄懂了,你就会了40%了。赶快那起手机去测试一下吧!:)
不要高兴得太早,难的还在后面呢!
如果你还没弄懂,慢慢来,没关系。
A码汉化(二)
A码汉化(二)
看了第一盘A码汉化教程有点小心动了吧?
你是否已经开始汉化了?
是不是遇到困难了?
这篇教程说的就是A码汉化的第二步借字符
还是用例子来做说明吧。
在同一级菜单中,有一个"settings"一个"exit"。相信大家看了A码汉化第一篇教程已经可以很轻松的解决"settings“这个吧?但当你开始用同样的方法去汉化的时候,却发现要把"exit”汉化成"退出"却没有足够的字符,怎么办——借字符
首先要说明的是,要实现借字符,必须是在同级菜单下,至于为什么在同级菜单下,后面会有说明。
根据上一篇教程中提到的,2个汉字最少需要6个英文单词,你在汉化的时候,发现settings多出了两个英文字符,这个时候,你就可以把settings多于的字符借给exit用了。借字符的时候,任意选中setitings中的两个字符,点鼠标右键,在剪切到exit的任意处。
比方说,你把settings中的gs 剪切复制到了exit中,这样,原来的settings就变成了settin,这个时候原来settings的指针由0808变成了0606,编码就变成了0606 5365 7474 696E 汉化成“设置”就变成了0206 0F8B BE7F 6EE0。发现没,你剪切之后,对于settings这个单词的汉化毫无影响吧!好,没问题就继续,你把settings中的gs复制到了exit中,原来的exit就变成了exitgs(gs可以随心所欲的复制在exit的任意位置),exit原来的有效长度是0404,如果你怕出错,就可以改成 0606,这样,把exit汉化成"退出"就没问题了吧?
用图来说明我上面的这段话吧:
1.大家看到了Exit的编码040445786974
如下图:

2.就拿Settings来说,刚才我们把它汉化成04080F8BBE7F6EE02020,看后面多了2个空格,正好是2个字节,我们可以把它借来用用~别浪费嘛;—全球最专业的诺基亚(NOKIA)手机交流区|MP3铃声|手机电影|手机主题|手机图片|手机软件|手机报价|诺基亚|S60|S40|S80|S90|UIQ|N70|6270|QD.M%K6y%P D&l;@)W
这样Exit的编码040445786974就变成了0606457869742020刚好可以汉化成2个字,如下图

3.这时候就可以用 “退出” 的编码 02060F900051FAE0 来替换它啦!!!如图是汉化完毕的结果


保存到手机里看看,是不是汉化成功了?什么,没成功,那一定是你汉化中出错了。
都学会借字符了吗?学会了,那么汉化A码你就弄懂了70%了。
离汉化A码成功已经不远了。
A码汉化特例
按照上面教程,你可以很轻松的处理大部分的汉化了。
但是,在碰到下面一些汉化,你用上面教程的方法可能汉化成功了,但是拷到手机里发现软件却无法运行!
首先,让我来看第一个例子。
实例1:
口AutoRun(这个口是复选框),编码是0A0A 3109 4175 746F 2052 756E
我们在这里把Auto Run汉化成“自启动”(为什么不汉化成“开机启动”到后面你就知道了)。
按照上面教程的方法,我们是这样汉化的050A 0F55 5238 8422 15E0 2020,这样你保存到手机里去,很不幸,汉化出错了。
这样会让你很郁闷,因为你的方法没错,为什么汉化却出错了?
其实,这就是经验问题,这样的问题,你遇到得多了,解决得多了,以后就可以很轻松的解决。
在这个例子中,出问题的地方就是这个3109。
在处理这个3109的时候,不能动3109,但汉的时候要当二个汉字来处理。
也就是说,你汉化0A0A 3109 4175 746F 2052 756E的时候,只能在4175746F 2052 756E这一段下手。
看看4175 746F 2052 756E这段,是不是只能汉化成3个汉字?所以,我们在这里就汉化成“自启动”
完成汉化的编码就是050A 3109 0F55 5238 8422 15E0
有些人可能不理解有效长度的05是如何而来的,看我下面的表示,就能更很快的明白了。
050A 3109 0F 5552 3884 2215 E0
45 1 2 3
这样,大家明白了吧。就是在算有效长度的时候,不能忽略了3109的存在,要把3109当成两个长度。
这次,你保存rsc到手机里测试看看,是不是成功了:)
实例2:当你在汉化A码的时候,可能会遇到一段特别长的句子,长到连句子都没有指针了,
如图所示:

在" lease input the recipients!"这段英文中,大家留意到Please前面没有指针了吧(只有一个1C,换成二进制也就是28,大家可以数一下" lease input the recipients!"是28),我们应该怎么处理呢?
其实很简单,忽略指针的存在,直接汉化把。
我们这里把" lease input the recipients!"汉化成“请输入收件人!”
英文的编码是:506C 6561 7365 2069 6E70 7574 2074 6865 2072 6563 6970 6965 6E74 7321
“请输入收件人!”的编码是:8BF7 8F93 5165 6536 4EF6 4EBA FF01
我们汉化的时候就这样处理:0F8B F78F 9351 6565 364E F64E BAFF 01E0 2020 2020 2020 2020 2020 2020 (后面多余的20是A码的空格,用来补齐28个)连长度都不用计算,怎么样,方便吧?:)
这里我稍微修改了一下,原作的这个地方有点错误,说明也不太清楚,大家注意研究!
A码汉化(三)
为了让大家更明白的学好手动偏移,在这篇教程的开头,我首先用一个比喻来说明一下偏移吧,让大家能够更好的接受。
如果把一个.rsc文件看成一本书,每一个.rsc文件都用自己的索引表,也是就每一本书都有自己的目录,特别的是,.rsc的索引表都是在.rsc的结 尾,而不是像书本一样在开头。当你要使用偏移时,也就像这本书中间的某个部分缺页,你必须添加页码这个概念,当你为书添加了页面,添加完成后,对于缺页前面的部分,添加页码后无任何影响。但在缺页后面的页码,你添加了几页,就要响应的修改页码。也就是说,在rsc偏移中,你在需要使用偏移的字符使用偏移,偏移之后,你就必须在索引表中进行响应的修改。
偏移对新手来说,确实有些难度,希望大家能慢慢理解,学好汉化A码的最后一步。
下面的教程均用图片来具体说明:
这里,我们用的是coolsms.rsc做例子。
用Hex Workshop打开coolsms.rsc,把HexWorkshop的显示方式搞成每行显示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和1800是分开的喔!
现在我们用coolsms.rsc中的On和Off汉化来做例子。

找到on所在的位置,看on的偏移地址,在Hex Workshop右下角可以看到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现在的偏移地址是不是变了,变成了035D,off后面是00的偏移地址变成了0366。
也就是说,在你加字节之 前,字符索引表里的0363对应的地方是0ff后面的00,037B对应的地方是disabled后面的04,现在我们加了3个字符进去,字符索引表里的 0363对应的地方已经不是0ff后面的00了。因为你加了3个字节进去,所以00的位置就向后移动了3个位置。0366就是由0363+3得来的。
添加了字符之后,索引表也产生了响应的变化,如图:

1A09倒过來看, 091A是这个RSC的字符的总数,你加了3个字节进去,所以这个RSC边长了,但是字符索引表不会自动修改,所以你要手懂把091A+3。根据16进制 的算法,091A+3=091D。你得到的是091D,但是你在Hex Workshop里面必须手动改成1D09
如图:

再回到索引表,在原来的 索引表中,在汉化On和Off的时候,你是从0363的位置开始添加字符进去的,所以,你在0363这里开始+3。因为你没有修改0363之前的字符,所以在索引表中1800到0363之前的位置不用修改。你要+3的地方,你就按下图所示的位置一次加下去即可:

修改就像下图所示即可:

也就是在下图中,从63开始的地方,隔两个数字就要+3

意思是63+3,7B+3,95+3依次类推下去即可。
再给大家详细解释一下为什么不从1800到5103的地方开始+3个字符吧。
on off这个地方的偏移地址在0351和0363之间,也就是說,你在on off这里增加字节,在0351前面的偏移地址都不会发生变化,发生变化的是on off 后面的偏移地址,因為你加了3個字节,在on off后面的所有的字符都被往后挤了3个位置。
在加字符的时候一定要细心,不能出现错误,否则前功尽弃。
你自己加完之后,保存coolsms.rsc,传到手机里看看,看是不是已经汉化成功了?
看到这里,相信你也基本上可以理解为什么可以借字符了吧。对,就是因为在同一级菜单下,字符在索引表中的位置是相同的,所以你可以使用借字符的方法。
写到这里,A码的教程也就写完了。希望大家能够认真的看,看懂了,A码软件汉化你就可以很轻松的解决了。
MBM汉化
其实汉化MBM是很容易的,简单的用步骤表示吧:
1.用MBM编辑器把你准备汉化的MBM文件打开。
2.打开MBM文件之后,在mbm编辑器程序所在的文件夹中有一个tempextract的文件夹。
3.不要管理MBM编辑器,就让它在后台运行,使用你最熟练的图片编辑软件打开图片。
4.图片处理好了以后,mbm编辑器里面选择文件--保存就可以了。
点阵汉化
大家一定知道手机的软件不全是只有汉化RSC资源就可以解决问题了,因为还有一部分的软件是像素化点阵字体,大部分的游戏 就属于这个资源,要知道汉化点阵字体是需要耐心和勇气的,因为方法非常的复杂而且非常的烦琐,所以没有耐心的话,不建议汉化,因为这个还需要有一定美工基础,还要知道点阵字体的构成。知道这些后我们就来看看如何汉化。
要知道一般的软件是把资源放在RSC里,在里面我们只要用替换的方法替换资源就可以,在点阵的汉化里也是替换资源,但是在这里替换的不是文字的U或A码,而是替换文件里的一些图片信息,达到汉化效果。
工欲善其事必先利其器,我们看一下主要用到的工具:
Winrar,解压缩的软件 ;PhotoShop 6.01以上版本,本人使用PS-CS3;还有就是手机软件的解包工具==的,这样的软件汉化就用不到十六进制的编辑工具了!
今天,我们以Divxplayer 0.83的汉化为例。给大家做个相对比较完整的介绍,相信看过之后大家就能理解和汉化一般的点阵软件了。那好,现在LET US GO!
下载得到一个Divxplayer 0.83.SIS英文软件,用USIS解开此软件,发现其中有一个我们常见的rsc文件,但是,在这个文件里我们只能看见是他的英文的名字,汉化为自己想 要的软件名就更改这里,但是今天我们要做的不是这个,因为这个文件并不能给我们带来任何线索!继续找,在解包文件夹里的\private\下以UID命名 的文件夹里找找,大家有没有看到一个dta文件啊?
如图:

这个dat文件才是我们要汉化的文件,要怎么打开它?右键点选这个DAT文件选择打开,如图:

选择从列表中选择程序

选择使用WINRAR打开文件

打开后解压得到一个文件夹,(如果你的WINRAR已经关联到DAT格式文件双击就可以得到)
如图:

我们要用到的是lang和res这两个文件夹。打开lang这个文件夹,然后,里面有个english.txt文件,打开 看看里面是什么??发现里面是一些英文单词,仔细看,在这里你可以发现程序的菜单之类的英文单词,对,我们就是要参考这个文件,先翻译一下这个文件,另存一个文档备用,因为我们要用到的是翻译过的文件创建新的语言文件,我们要根据翻译过来的文本制作点阵字。
如图:

接下来我们要知道程序最终调用的是什么来实现菜单里的文字,我就不多说了,经过反复的验证和参考大部分的点阵汉化的简单教程知道主要类菜单项目的汉字调用的是Font7x10.pcx这个文件,一些弹出菜单如帮助里的一些文字,也就是子菜单里的调用的是 Font6x8.pcx这个文件的字体,下面我们要做的就是制作需要的点阵字。
用PHOTO打开RES文件夹里Font7x10.pcx,
如图:

现在,我们开始制作点阵字,在打开的Font7x10.pcx里把“AB”改成“菜单”,
如图:

现在用WINRAR打开dta文件后把改好的Font7x10.pcx拖入到打开的窗口点击确定,这样你就压好了这个汉化过的DAT文件,我们把这个文件传到手机对应的文件夹看看发生什么变化手机看一下又发生了什么?
如图:

原英文版的忘记截图了,注意看,看到了吗?“A”的地方都变成“菜”了,“B”的地方变成“单”了,为什么呢?因为我们成 功的更改了点阵字,也就是我们离成功近了一步。接下来就是修改english.txt了,我们打开english.txt把里面对照刚才翻译好的再参照做好的点阵字库开始真正的汉化之旅,
如图:

然后把更改后的english.txt用刚才的方法传回DAT文件。为了更方便查看和证实教程的原创性,其余我都不做更改进行截图,也就是说出现“AB”的地方出现“菜单”,仅仅是把操作界面的菜单汉化,
大家看效果截图:

那你们一定会说了,这样的话是不是所有出现A和B的地方都换成了菜和单?对了!所以,汉化这种软件要保证每个使用过的字符不重复!!这个就要先分析所有要用到的汉字和需要更改的Font7x10.pcx里字库大小的局限性,这个也就是委身要先翻译好那个 english.txt的原因了,偷懒嘛而且菜单越简单越好,至于最后的排版就是在english.txt下工夫了,希望大家多体会!要制作双语的版本大家可以和我一起研究,但是我更希望大家动脑去想,明白个中道理后,进步会更大!
Python汉化
Python平台是Symbian上一个比较新兴的平台,研究发现,原来Python平台汉化起来,比起U码汉化都要简单!
我们只需要注意几个很小的细节,就能够搞定Python软件的汉化了。
按照我们以前汉化的喜欢,把rsc和app拷到手机来汉化,发现竟然没有要汉的,再仔细找找,原来Python的软件的语言包都在安装目录的language文件夹下面。
进入language文件夹,看到的是txt文件,这就意味着,我们只需要对txt中的词语进行翻译就好了。
一般来说,Python软件安装目录下的language文件夹都有两种语言:Englsh和Russian
打开两个txt看看,
如图:

相信对于多数人都看不懂俄罗斯文吧?没关系,我们对照英文汉化就好了。
这里有两种选择,一种选择是直接删除俄罗斯文版,汉化英文版。另一种选择是对照英文汉化俄罗斯文版,对于英文不做处理,这样就可以做成中英双语版,我就是选择后者。
汉化好了之后,保存,保存的时候注意,保存的格式要选择UTF-8

需要注意的是:你最好按照原来语言的格式!如Russian.txt你汉化成中文就改成Chinese.txt。如果是Rs_Soft.txt你就应该改成Cn_Soft.txt
好了,传到手机里看看,成功了吧。
Python平台很简单吧?
修改功能表图标名字+一键打包签名教程
是否觉得软件的名字不太好听,是否想改个自己心仪的名字呢?今天我们大家一起来学习一下吧!
一并送上我用的一键打包加签名的工具,只须按一个键就可以打包SIS文件并对文件进行签名。
我们需要用到的工具,包括解包软件(sisware4.7汉化版)、汉化软件(UltraRscEditor1.1绿色汉化版)、打包软件和签名软件(一键打包签名工具),附软件在本楼最后
PS:当然你也可以用自己比较熟悉的工具
准备好了吗?现在就开始我们的改名之旅!
首先打开SISWARE,你可以看到SISWARE精美的界面,如下图:


然后打开要修改的软件,即SIS/SISX安装程序,这里我以ActiveFile为例,如下图:

打开后可以看到软件的安装信息,如下图:

我们需要解包这个软件,解包后的路径是可以修改的,如下图:

解包软件,可直接按View File浏览解包后的文件,如下图:

软件解包后,我们要为日后的打包做准备,打包需要的PKG文件,这里已经帮我们整理好了,如下图:

我们把里面的内容复制,然后新建一个文档改名为temp.pkg,把内容存进去。
!!!注意保存PKG文档的时候,文件另存为,编码选"Unicode"!!!
软件解包好了,接下来就是重点了(其实也不是什么重点,只是相对这贴来说),就是修改软件功能表图标的名字了。
打开汉化工具UltraRscEditor并打开RSC文件,然后选择展开所有节点,如下图:

基本所有3版的软件需要修改的RSC文件都在!:\resource\apps\下面。
下面我们需要修改3个节点,第一个节点在文件一开始的位置,如下图:

找到节点后,在中间的“修改(子)资源文本”框中,输入要改的名字,然后按“替换”或“ALT”+E,这样第一个节点就修改成功了
还有两节点在文件最后,如下图:


把这3个节点修改完后,注意要记得按保存文件(不按也没关系,退出软件时会提示你保存的),文件名要与原来的RSC文件名一致,如下图:

提示文件已存在,不用理会,按“是”覆盖原文件,如下图:

名字修改成功!
最后,把软件重新打包就大功告成了!
还记得我们解包软件时保存的那个PKG文件(temp.pkg)吗?解压“一键打包签名”软件(在本楼最后下载)到你的硬盘,把PKG文件(temp.pkg)放到该目录下,如下图:

按make.bat,生成了未签名的SIS文件和已签名的SISX文件。
这里的证书是通用证书,如果需要自签名的,把你的证书和KEY文件放到“一键打包签名”目录下,按make.bat就可以了。
到这里已经完成了,快把软件装上手机,看看是不是你想要的名字呢!
PKG文档的编写和说明(6616471综合整理,部分转自网上,如有错误请大家见谅)
好累,更新的手都快软了,下面就是最后一个需要理解的了,有关PKG文档的,这里参考一些网站上的教程,加上了自己很多的理解,举例来说明PKG文档的构成,方便新手更容易理解,希望大家支持吧,唉,继续了。。。。!
再次强调
!!!注意保存PKG文档的时候,文件另存为,编码选"Unicode"!!!
还是通过例子来讲解吧:
简单例子:
;Date 28-11-2007
;Time 10:14:3
&EN
#{"MoreCaps"}, (0xE4654EA4),1, 0, 0, IU,TYPE=SA
:"Leftup"
%{"Leftup"}
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
"D:\Administrator\bin\MoreCaps\sys\bin\MoreCaps.exe"-"!:\sys\bin\MoreCaps.exe", FF
"D:\Administrator\bin\MoreCaps\sys\bin\MoreCapsD.exe"-"!:\sys\bin\MoreCapsD.exe", FF
"D:\Administrator\bin\MoreCaps\resource\apps\MoreCaps.r01"-"!:\resource\apps\MoreCaps.r01", FF
"D:\Administrator\bin\MoreCaps\private\10003a3f\import\apps\MoreCaps_reg.r01"-"!:\private\10003a3f\import\apps\MoreCaps_reg.r01", FF
"D:\Administrator\bin\MoreCaps\resource\apps\MoreCaps_aif.mif"-"!:\resource\apps\MoreCaps_aif.mif", FF
这是用SISWARE打开MoreCaps之后,观察得到的其中PKG文档内容,至于怎么打开,前面的教程有提到过的,不明白的可以参考以前的教程
现在开始分析其中结构:
&EN
大家应该看到这一行了吧,这一行是语言种类
这个注解行要写在文档第一个行&指定支持的语言种类.一个sis文件可能包含多于一个的语言种类,但每次只能安装一个语言种类.
下面是语言代码的缩写2k(k:{1h(?0w;j
——————————————————————————————————————————————————————
语言代码:
EN--- UK English英国英语全球最专业的诺基亚手机专业技术交流与资源下载论坛,Z.^&`'m3m2a!L2X8h(S
SG--- Swiss German瑞士人的德语
FR--- French法语
PO--- Portuguese葡萄牙语
GE--- German德语IT168诺基亚论坛!V1T9F!w4R/P
TU--- Turkish土耳其语IT168诺基亚论坛$L9t!~!c/A!?;t
SP--- Spanish西班牙语
IC--- Icelandic冰岛语IT168诺基亚论坛4[5["O7e:z3U
IT--- Italian意大利语*********?-\.Y(N-k'L"y
RU--- Russian俄语
SW--- Swedish瑞典语********+C;C"I)F5~+u"o
HU--- Hungarian匈牙利语
DA--- Danish丹麦语
DU--- Dutch荷兰语********,T)b8W1{3i"q
NO--- Norwegian挪威语
BL--- Belgian Flemish比利时语诺基亚,NOKIA,symbian,S60,N70,3230,QD;j3{&B6~0~2W9~
FI--- Finnish芬兰语全球最专业的诺基亚手机专业技术交流与资源下载论坛*|+i&n1c9]7p:l*O'[
AU--- Australian English澳洲的英语
AM--- US English美国英语
BF--- Belgian French比利时的法语IT168诺基亚论坛&w!u'W2d#~+R%c/u [*p
SF--- Swiss French瑞士的法语诺基亚,NOKIA,symbian,S60,N70,3230,QD;T7I ?2m+^)a
AS--- Austrian German奥地利的德语IT168诺基亚论坛$e"H4w4^3O
IF--- International French国际的法语
NZ--- New Zealand新西兰语
CS--- Czech捷克语
SK--- Slovak斯洛伐克语
PL--- Polish波兰语********+m8D)x8s"d
SL--- Slovenian斯洛法尼亚语—全球最专业的诺基亚(NOKIA)手机交流区|MP3铃声|手机电影|手机主题|手机图片|手机软件|手机报价|诺基亚|S60|S40|S80|S90|UIQ|N70|6270|QD8\(Z-t ^3j!l
TC--- Taiwan Chinese台*湾汉语诺基亚,NOKIA,symbian,S60,N70,3230,QD0U5o&v.|*j2d!m9j D
HK--- Hong Kong Chinese香港汉语
ZH--- Prc Chinese中文
JA--- Japanese日语 IT168诺基亚论坛+P7_8M4\/R
TH--- Thai泰语
好了,继续看下一行
#{"MoreCaps"}, (0xE4654EA4),1, 0, 0, IU,TYPE=SA
#{}里的是安装时软件显示的名称.H*V#B0E*n5{0[
后面的0xE4654EA4也就是()里的数字和字母诺基亚,NOKIA,symbian,S60,N70,3230,QD6`8v*{;E.b/Y6\#|
E4654EA4是该软件的uid号只保留h前面的IT168诺基亚论坛/b,y-O(`+o 7X
括号里的0x不改变
1,0,0 是版本号 图中标明的1.00版,用,(逗号)分开IT168诺基亚论坛7f0T$i9]1I)t
再举个便子如果是2,03,0 ,则代表的版本号为2.03build0
分别是主版本号,次版本号,编译版本号/T;j+z5R*Y1p4E3Z
后面的type=SA
解释如下:
缩写 全称
SA SISAPP 包含一个应用程序,标准类型(默认)
SY SISSYSTEM 包含一个共享/系统组件~例如一个DLL或OPX文件,并且记录在移除信息中~~软件卸载时会一起删除掉~
SO SISOPTION 包含增强程序或可选择组件,用户可以选择是否安装可选组件~并记录在移除信息中~卸载时一起删除~
SC SISCONFIG 配置一个存在的应用程序或服务~打包时不包含任何新文件,运行或在安装时显示唯一的文件或增加了一个已存在的组件~~安装后程序管理中不显示任何信息~要手动删除~
SP SISPATCH 修正一个存在的组件(补丁)~安装后程序管理中不显示任何信息~要手动删除~
SU SISUPGRADE 升级一个存在的组件~安装后程序管理中不显示任何信息~要手动删除~
后面有具体的应用,大家继续看吧
这里不做过多解释了,有兴趣的可以自行研究一下
继续看这一行
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
照抄就好了 不过注意的是101F7961是安装软件的平台也就是型号所对应的,也可以用具体机型的UID来限制(限制后则不能用于其他机型
主要是为了防止软件安装在错误的系统上;[;Q"f @8J7a
以下是平台的UID:
Series60 0.9 0x101F6F88
Series60 1.0 0x101F795F
Series60 1.1 0x101F8201
Series60 1.2 0x101F8202
Series60 2.0 0x101F7960
Series60 2.1 0x101F9115
Series60 2.2 0x10200BAB
Series60 0.9(Symbian 6.1):0x101F4FC3
Series60 1.x(Symbian 6.1):0x101F4FC30x101F8C19(NG) 0x101FB2B1(QD)—全Series60 2.x(Symbian 7.0s):0x101FB3DD
Series60 2.x(Symbian 8.0): 0x101FBB55
Series60 3.x(Symbian 9.0): 0x200034f1
Series90 0x101FBE05
UIQ2.0 0x101F617B
0, 0, 0是平台版本号
主版本号,次版本号,build版本号
如UID是0x101F6F88(Series60 0.9)则写成0,0,0
如UID是0x101F795F(Series60 1.0)则写成1,0,0
如UID是0x101F617B(UIQ 2.0)则写成2,0,0
Series60ProductID为界面校验字符串,用限制软件安装目标手机的界面(UIQ或Series60等)
S60 Series60ProductID
UIQ UIQ20PlatformProductID
这个地方我也不清楚,呵呵,大家自行研究吧,不过一般解包的时候都会有相关的PKG文档,不用来开发软件的话,复制粘贴就可以了,呵呵,当然如果要用来打包主题或者改换图标而制作一些SIS文件的话,我想拿一个基本的SIS文件,更改一下里面的安装文件就可以了,至于安装文件的位置也就是我们下面最后要讲到的一步了
继续看这几行:
"D:\Administrator\bin\MoreCaps\sys\bin\MoreCaps.exe"-"!:\sys\bin\MoreCaps.exe", FF
"D:\Administrator\bin\MoreCaps\sys\bin\MoreCapsD.exe"-"!:\sys\bin\MoreCapsD.exe", FF
"D:\Administrator\bin\MoreCaps\resource\apps\MoreCaps.r01"-"!:\resource\apps\MoreCaps.r01", FF
"D:\Administrator\bin\MoreCaps\private\10003a3f\import\apps\MoreCaps_reg.r01"-"!:\private\10003a3f\import\apps\MoreCaps_reg.r01",FF
"D:\Administrator\bin\MoreCaps\resource\apps\MoreCaps_aif.mif"-"!:\resource\apps\MoreCaps_aif.mif", FF
文件路径每行的" "-前是拆开文件的所放路径诺基亚,NOKIA,symbian,S60,N70,3230,QD&^ O"l8E)C
后面的" "是安装在手机里的位置全球最专业的诺基亚手机专业技术交流与资源下载论坛#J7c*z.J
需要说明的是 ! 是不指定放在手机的 C 盘和 E 盘
看到这里基本的PKG文档就算是讲解完成了,当然可能有人会说,如果安装的时候有插件,安装的时候要选择多语言包,或者安装的时候要覆盖或者升级==之类的问题又应该如何编写呢?
下面我们先举一个复杂一点的例子,然后再解释一下,不过这里不做过多的说明,只是转载一些网上收集的相关教程,一个是本人水平有限,第二个是有兴趣的可以多解包一些相关软件自行研究,这样取得的效果会更好,本人在写这个软件的时候,也是解包看了许多相关的软件的PKG信息,学到不少东西,有兴趣的自行研究吧,水平有限,大家见谅了,HOHO
带弹出文本信息和语言包选择的一个例子:
;Date 27-3-2008
;Time 15:2:17
&EN
#{"ActiveFile"}, (0xE0000230),1, 27, 19, IU,TYPE=SA
:"Alie Tan"
%{"Alie Tan"}
[0x101F7961], 0, 0, 0, {"S60ProductID"}
!({"Lang: Chinese(PRC)"},{"Lang: English"},{"Lang: Germany"},{"Lang: Indonesia"},{"Lang: Italy"},{"Lang: Russian"},{"Lang: Spain"})
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\TextFileIndex10.txt"-"", FT, TC
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\TextFileIndex11.txt"-"", FT, TC
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\sys\bin\ActiveFile.exe"-"!:\sys\bin\ActiveFile.exe", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile_aif.mif"-"!:\resource\apps\ActiveFile_aif.mif", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.rSC"-"!:\private\10003a3f\import\apps\ActiveFile_reg.rSC", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\system\data\ActiveFile\images\dirIcon.mif"-"!:\system\data\ActiveFile\images\dirIcon.mif", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\system\data\ActiveFile\images\bitmapfont.mbm"-"!:\system\data\ActiveFile\images\bitmapfont.mbm", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\system\data\ActiveFile\ActiveFile.db"-"!:\system\data\ActiveFile\ActiveFile.db", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\system\data\ActiveFile\1.st"-"!:\system\data\ActiveFile\1.st", FF
If Option1 = 0x00000000 AND Option2 = 0x00000000 AND Option3 = 0x00000000 AND Option4 = 0x00000000 AND Option5 = 0x00000000 AND Option6 = 0x00000000 AND Option7 = 0x00000000
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.rSC"-"!:\resource\apps\ActiveFile.rSC", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.rSC"-"!:\private\10003a3f\import\apps\ActiveFile_reg.rSC", FF
EndIf
If Option1 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r31"-"!:\resource\apps\ActiveFile.r31", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r31"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r31", FF
EndIf
If Option2 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r01"-"!:\resource\apps\ActiveFile.r01", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r01"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r01", FF
EndIf
If Option3 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r03"-"!:\resource\apps\ActiveFile.r03", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r03"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r03", FF
EndIf
If Option4 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r59"-"!:\resource\apps\ActiveFile.r59", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r59"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r59", FF
EndIf
If Option5 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r05"-"!:\resource\apps\ActiveFile.r05", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r05"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r05", FF
EndIf
If Option6 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r16"-"!:\resource\apps\ActiveFile.r16", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r16"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r16", FF
EndIf
If Option7 = 0x00000001
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\resource\apps\ActiveFile.r04"-"!:\resource\apps\ActiveFile.r04", FF
"D:\Administrator\wwwwww\bin\ActiveFile_S60_9.2_man_cap_unsigned\private\10003a3f\import\apps\ActiveFile_reg.r04"-"!:\private\10003a3f\import\apps\ActiveFile_reg.r04", FF
EndIf
大家注意看上面蓝色和红色(有二部分)
解包后大家会发现这蓝色标注中出现的这二个文档,这里的语句也就是代表安装的时候会弹出这二个文档里提示的内容
红色的内容是为了让大家选择安装的语言包,同理解包后大家也会看到相关的R0X之类的文件包,相信有一定计算机基础的人看到这里应该明白了吧
好了,最后再转载一些关于复杂一点的参数说明,供有兴趣的人研究
添加安装过程中的提示信息
如果想在安装过程中显示一些信息,可以在pkg文件需要的部分加上:
"txt文本文件名"-"目标文本文件(如果填写将被安装)",参数1,参数2
比如:
".txt"-"",ft,ta
.txt为载有提示信息内容的文本文件~~可以为任意名称,但必须为UNICODE编码
其他类型文件安装过程中的可选操作:
格式:
"源文件"-"目标目录文件",文件类型,参数1,参数2
如:
"C:\System\apps\SAFlash\SAFlash.mbm"-"!:\System\apps\SAFlash\SAFlash.mbm",ff,tc
后面的类型和参数:
文件类型参数:
缩写 全称
ff File 标准文件(默认)
ft FileText text文件的使用命令,安装过程中会显示一个提示窗口显示文本信息~参数2可以指定窗口类型~默认为tc
fn FileNull 删除目标设备(手机)上指定路径的文件~比如:
""-"!:\System\apps\SAFlash\SAFlash.mbm",fn
前面的源文件路径不必写(因为你是要删除么...)
fm FileMime 指定为mime类型
fr 运行指定的文件~比如*.app或*.exe
提示信息窗口类型参数:
tc TextContinue 在提示文本窗口中只会有一个“继续”按钮~
ts TextSkip 在提示文本窗口中提供"是"和"否"的按钮~~按"是"程序将继续安装;按"否"程序也会继续安装,但是在PKG文件内这个行以下的内容将不被执行~
te TextExit 在提示文本窗口中提供"是"和"否"的按钮~按"是"程序将继续安装;按"否"安装将会退出~
ta TextAbort 在提示文本窗口中提供"是"和"否"的按钮~按"是"程序将继续安装;按"否"安装将会中断~可以看出这个参数针对局部可选组件的安装~
操作参数:
ri RunInstall 指定某文件在安装时运行~
rb RunBoth 指定某文件在安装和移除时运行~
rr RunRemove 指定某文件在移除时运行~
rs RunSendend 自动运行指定文件,运行结束后继续安装操作(前面需配合参数ri参数使用)~
rw RunWaitend 运行指定文件并等待用户按键继续~
多语言支持打包:
多语言版本打包时pkg文件需要做些修改(绿色部分为注释说明):
假如做了两个语言版本的SSAFlash.rsc,我们把英文版本的命名为SSAFlash.rEN,把中文版本的命名为SAFlsh.rZH
&EN,ZH(支持英文和中文两种语言版本)
!(可选)({"Flashlite"},{"Flashlite简体中文汉化版"}),(0x101F70E9),1,10,0,TYPE=SISOPTION(TYPE类型看后面的说明)
(0x101F6F88), 0, 0, 0,{"Series60ProductID","Series60ProductID"}
".txt"-"",ft,ta*
IF option1
"C:\System\apps\SAFlash\SAFlash.rEN"-"!:\system\apps\SAFlash\SAFlash.rsc"
ENDIF
IF option2
"C:\System\apps\SAFlash\SAFlash.rZH"-"!:\system\apps\SAFlash\SAFlash.rsc"
ENDIF(添加的判断可选项其循序要和文件头的&EN,ZH循序相同)
"C:\System\help\SAFlash.hlp"-"!:\System\help\SAFlash.hlp"
"C:\System\apps\SAFlash\SAFlash.aif"-"!:\System\apps\SAFlash\SAFlash.aif"
"C:\System\apps\SAFlash\SAFlash.app"-"!:\System\apps\SAFlash\SAFlash.app"
"C:\System\apps\SAFlash\SAFlash.rsc"-"!:\System\apps\SAFlash\SAFlash.rsc"(因为前面添加了可选项安装 这行要去掉了)
"C:\System\libs\Flash.dll"-"!:\System\libs\Flash.dll"
"C:\System\libs\FlashSndDec.dll"-"!:\System\libs\FlashSndDec.dll"
"C:\System\recogs\recswf.mdl"-"!:\System\recogs\recswf.mdl"
"C:\System\apps\SAFlash\SAFlash.ini"-"!:\System\apps\SAFlash\SAFlash.ini"
"C:\System\apps\SAFlash\SAFlash.mbm"-"!:\System\apps\SAFlash\SAFlash.mbm"
TYPE类型说明:
缩写 全称
SA SISAPP 包含一个应用程序,标准类型(默认)
SY SISSYSTEM 包含一个共享/系统组件~例如一个DLL或OPX文件,并且记录在移除信息中~~软件卸载时会一起删除掉~
SO SISOPTION 包含增强程序或可选择组件,用户可以选择是否安装可选组件~并记录在移除信息中~卸载时一起删除~
SC SISCONFIG 配置一个存在的应用程序或服务~打包时不包含任何新文件,运行或在安装时显示唯一的文件或增加了一个已存在的组件~~安装后程序管理中不显示任何信息~要手动删除~
SP SISPATCH 修正一个存在的组件(补丁)~安装后程序管理中不显示任何信息~要手动删除~
SU SISUPGRADE 升级一个存在的组件~安装后程序管理中不显示任何信息~要手动删除~
可选组件的安装:
多选1(拿2选1做例~语法和多语言选择基本一样~~其实多语言支持就是可选组件):
TYPE=SISOPTION
...
!({"Add-on 1(20k)"},{"Add-on 2(20k)"})
Add-on 1(20k)为可选组件1 Add-on2为可选组件2~当然还可以增加组件数量~
实例:
前略...
!({"Flashlite"},{"Flashlite简体中文汉化版"}}
多语言版本的可选组件:
双语言版附件:
!({"Add on 1(20k)","组件 1(20k)"},{"Add on 2(20k)","组件 2(20k)"})
实例(英文/中文可选版本):
前略.
!({" PATCH1","补丁1"},{"PATCH2","补丁2"}) 其可选项顺序要和前面的语言选择顺序相同
条件判断:
双组件条件判断:
!({"Add-on 1(20k)"},{"Add-on 2(20k)"})
IF OPTION1
"源文件1","目标文件1"
ENDIF
IF OPTION2
"源文件2","目标文件2"
ENDIF
选择第一项回安装第一个组件,选择第二项会安装第二个组件
实例:
!({"Flashlite"},{"Flashlite简体中文汉化版"}}
IF option1
"C:\System\apps\SAFlash\SAFlash.rEN"-"!:\system\apps\SAFlash\SAFlash.rsc"(安装过程中将改扩展名rEN为rsc)
ENDIF
IF option2r
"C:\System\apps\SAFlash\SAFlash.rZH"-"!:\system\apps\SAFlash\SAFlash.rsc"(安装过程中将改扩展名rZH为rsc)
ENDIF
系统自选择语言包:
实例:
{"C:\System\apps\SAFlash\SAFlash.rEN""C:\System\apps\SAFlash\SAFlash.rZH"}-"!:\System\apps\SAFlash\SAFlash.rsc"
依然是自动改扩展名,但是这次没有添加可选项,当然前边的&EN,ZH还是要写的~系统会挑选合适语言包来安装(譬如英文机会安装英文包)
附加其他sis文件:
格式:
@"源文件",(此程序的UID)
实例:
@"C:\System\apps\PATCH.sis",(0xF79D9E9)
这里的UID既在手机上用SeleQ等软件查看app文件属性时的UID1
组件安装校验:
校验是指安装前核对目标设备是否安装了相关的应用程序~如果没有安装则会提示先安装相关应用程序,而校对代码后的部分将不会被执行~~
格式:
(UID码),1,0,0,(提示版本号){"安装前需要的前提应用程序","多语言版本的相同提示"}
实例:
安装FlashliteV1.10补丁PATCH时
(0xF79D8B8),1,10,0,{"Flashlite","Flashlite简体中文汉化版"}
如果校验结果为未安装Flashlite 1.10时则会提示”Flashlite 1.10不存在,请安装后再安装本程序“
如果安装的是Flashlite简体中文汉化版则显示后面的软件名~
[ 本帖最后由 veeness 于 2009-3-9 17:00 编辑 ]
|

|
|
|