[广告]: 〖手机之家官方汉化组〗成员汉化游戏作品集
【教程】将语言从英文切换到中文
【教程】将语言从英文切换到中文
更新:现在安装LanguagePack(也叫iLang)就可以切换了,见第三方软件列表贴。
更新:这是早期的手工DIY切换方法。
更新:新版1.1.1可以直接支持多国语言切换,不需要用这里的方法了。
这是我写的一个老贴了,发布在其他论坛,原帖发布时间是2007-8-4 21:03,原贴名:用正确的方式作正确的汉化。因看到有人问语言切换的问题,就复制过来放在这里,内容略有删改。
标题定的不是太好,实际上这里介绍的方法可以将默认语言改为任何一个系统支持的语言。
一段时间来经常看到发布有关iPhone的汉化帖子,其实基本的思路都是通过修改系统自带的英文字符串资源文件来实现的。这里我推荐大家使用苹果OS X自身操作系统的方式来汉化,既不损坏系统文件,又达到汉化目的,而且是正宗的OS X Native支持多语言的方式。
写在前面:
按照这里的方法操作,你需要一些预备知识,比如怎样从iPhone上下载文件、怎样将文件上传到iPhone、怎样修改plist文件。我自己是在 iPhone上安装了SSH系统,用SFTP传文件的,而对plist文件,我是在Mac上用开发工具包里面的Property List Editor进行修改的。
1、让系统默认为简体中文系统
现有iPhone都是默认英文系统的,语言缩写是en_US,系统对此会自动寻找以下目录是否存在:
引用:
English.lproj
en.lproj
en_US.lproj
如果存在就调用其中的字符串来替换需要显示的内容。我们要让系统默认为中文系统,缩写是zh_CN,系统对此会自动尝试到zh_CN.lproj目录里面去寻找字符串资源,如果没找到或者目录不存在,则自动切换成en。
先到iPhone上找到这个文件:
引用:
/var/root/Library/Preferences/.GlobalPreferences.plist
注意是个隐藏文件,需要用 ls -a 才能显示出来。然后用Mac的Property List Editor修改这个文件,找到下面内容:
引用:
AppleLanguages
en
jz
......(省略)
zh_CN
......(省略)
ko
AppleLocale
en_US
的顺序决定了系统搜索资源的顺序,可以看到最先出现的是:
引用:
en
说明是最先搜索英文的。要改变默认语言环境,我们把zh_CN移到最前面,再把后面的 en_US改成zh_CN,改好后如下:
引用:
AppleLanguages
zh_CN
en
jz
......(省略)
ko
AppleLocale
zh_CN
把文件存盘,然后重新启动iPhone,系统就默认为简体中文环境了。
2、添加资源文件
虽然已经默认为中文了,但是为什么显示仍然是英文?这是因为虽然系统默认为简体中文环境,但是iPhone并没有为每个应用程序配中文字符串资源,所以接下来我们就要自己加入中文字符串资源。
汉化方法很简单,就是先把English.lproj所有的内容复制到另一个目录zh_CN.lproj,然后把zh_CN.lproj里面的. strings文件汉化就可以了。比如说要汉化SpringBoard,先在iPhone上找到它的English.lproj目录在:
引用:
/System/Library/CoreServices/SpringBoard.app/English.lproj
我们在iPhone上建一个新目录:
引用:
/System/Library/CoreServices/SpringBoard.app/zh_CN.lproj
然后把English.lproj里面的.strings文件汉化后传到iPhone上的zh_CN.lproj目录里面就可以了。具体的汉化方法,已经有很多教程了,这里就不再赘述了。
3、汉化后对系统的影响
由于本方法仅修改了strings字符串资源文件,没有动plist文件(.GlobalPreferences.plist例外),只增加了一个zh_CN.lproj的语言资源目录,因此不会对iPhone原有的系统有任何副作用。
如果什么时候你需要回到英文环境,只要简单的把前面说的. GlobalPreferences.plist文件改回出厂时的样子(AppleLanguages中en在最前面,AppleLocale中用 en_US),重启后,系统立即回到英文方式,是不是很方便?我自己就写了个简单的脚本放在iPhone上,用来切换语言的,如下:
将语言切换到中文的脚本/usr/bin/chinese.sh:
引用:
#!/bin/sh
cd /var/root/Library/Preferences
cp -f Chinese.plist .GlobalPreferences.plist
echo -n "Switching to Chinese, please stand by ..."
/usr/sbin/reboot
将语言切换到英文的脚本/usr/bin/english.sh
引用:
#!/bin/sh
cd /var/root/Library/Preferences
cp -f English.plist .GlobalPreferences.plist
echo -n "Switching to English, please stand by ..."
/usr/sbin/reboot
其中 Chinese.plist和English.plist是对应于中文和英文的.GlobalPreferences.plist,改了个名字而已,都放在/var/root/Library/Preferences目录里面。/usr/sbin/reboot是从iPhone的升级文件中提取出来的。
我在iPhone上装了Term(仿真终端),要切换中文,就在Term里面输入:chinese.sh,切换英文就输入:english.sh。
|