手把手教你汉化(图解)
首先我们需要准备些有用的工具:
X c o d e安装光盘或映像(.d m g)文件,最新版本是1.5,可在A p p l e D e v e l o p e r C o n n e c t i o n(h t t p:// )处注册后免费获得。
安装后,系统里面会出现Developer文件夹。
然后再准备Resorcerer 2.4.1,PowerGlot 2.1.1以上版本,这样,我们就具备下图的所有工具了:
基本上我们看到的苹果软件,多存在这样的结构,可通过Control Click的“显示包内容”打开,如图,里面会存在各种语言包,只要记住“E n g l i s h.l p r o j”和“z h_C N.l p r o j”两种名称就足够了。
要汉化一个程序,首先需要的是复制“English.lproj”,改名称为“zh_CN.lproj”。
里面的strings文件就需要Xcode软件打开,nib文件就由Interface Builder打开。
有些程序里面还有plst文件,就由Property List Editor打开,至于还有些rtf文件。
多用于授权声明等地方,则由Text Edit打开可以了。
先打开一个nib文件,会出现下面的界面,点击Panel那样图标的面板打开,不过多半会自动打开其中一个的,也许里面会有许多这样的面板。
"MainMenu”面板如果有的话也在里面,打开它可直接汉化菜单。
如图,打开一个面板后,进行汉化就是很简单的事情了,基本工作就是打字,翻译而已。
不过对于有些很庞大的nib文件,有时里面的信息很复杂,重重叠叠,就难以这么直观的汉化了,注意下图右面的蓝色方块处,点击那里就会以列表形式显示文件资源,不会有重叠现象了,而且隐藏得再深的资源都无所遁形。
注意一些关键的软件部位会存在帮助标签,用以说明该地方的作用。
在Interface Builder菜单的“Show Info”下,打开下面的面板,可查看并汉化其中的“帮助提示”。
至于strings文件,使用Xcode打开,小心根据文件里的“=”号进行左右对应的翻译,注意不要忽略了那里面的双引号等标点符号。
看到里面的红色字里出现黑色字段,就说明那里有问题了,需要仔细检查。
一些string文件在汉化完毕后,打开菜单还是乱码,这时就需要看看图中的文件编码部分。
一般使用UTF-16和-8都没有问题,但使用简体中文编码的就可能会情况多多。
一些软件,比如Safari等,里面本身就预置了一些软件外的项目在里面,比如那些预设网站。
当软件第一次打开,它们就会以预置文件的形式复制到系统预置里面,此后再任意修改软件的预置,改变的也只是系统预置里的文件,而不会影响软件里的文件。
既然这些预设是软件本身存在的项目,也就需要汉化。
预置文件的后缀是plist,使用Property List Editor 打开即可,如图。
如果不确定那些栏目需要汉化,可参看该栏目的文件类型,最笨最省事的就是参看日文语言包的相同文件,不过不一定都有日文语言的。
另一类非Cocoa软件,多是那些从OS9移植过来的类型,其语言包里面也许只有一类.rsrc资源,或者各类资源并存,比如iView MediaPro,DragThing等。
这类软件的汉化存在难和易两种极端。
如果里面存在固定字节数的菜单类型(就是汉化前后的英文中文必须保持不变的字节数),那么汉化难度就高了,起码要费多几倍心力,对于此类软件,非必要和作为商业汉化工作的话建议放弃。
这里我也不以这类软件为例。
但象前面说的iView MediaPro等就极其容易了汉化了,如图,使用PowerGlot打开,所有资源就一目了然,你剩下的工作就只有闷着脑袋猛翻译就是了。
许多时候工作量很巨大的,如果不是光棍,无需经常出异性任务的话,恐怕没多少人能够有这耐心和时间去完成这样的义务工作。
但这PowerGlot 汉化数据文件建立后,它对于以后的版本更新汉化是非常有作用的,可以通过它建立一个字典库,在下一新版本软件里面,把已有的资源直接翻译过去就可以了,剩下的只是有限数量的更新资源。
比如,象iView MediaPro 2.6.0到2.6.2等,如果有资源增加,也只是需要翻译增加和修改的部分而已,其他的可以完整的利用上一版本的资源。
注意,PowerGlot的早期版本是不支持中文编码的。
在使用PowerGlot进行汉化前,先拷贝个需要翻译的rsrc资源文件到软件外面,比如桌面上。
作为目标文件。
然后如下图进行目标指定。
全部翻译汉化完成后,如图创建本地化文件即可。
本地化文件全部翻译好并成功创建好后,替换回源文件位置,检查OK就大功告成了。
但有些本身不是太注重中文或双字节的软件还是会出现菜单乱码的,因为其核心菜单资源里面就存在不支持中文字串的设置。
这时就需要使用Resorcerer进行修改。
Resorcerer也可以象PowerGlot那样进行本地化的,不过由于它对中文支持不好,不推荐使用,它还有就是一些通过Hex码修改软件核心的功能,不过显然超出了现在这帖子的所说范围了...。
象iView MediaPro和Toast 6等软件里的rsrc文件就需要这样改动一下才能正确显示出中文。
如图,找到xmnu资源。
逐项打开xmnu里面所有资源,修改Text encoding部分。
如果该软件不支持中文菜单,它的编码会是-1的位置,即system script,修改其为-2的“当前”就OK了。
over---------。