iPhone APP支持多国语言开发(本地化)

来源:互联网 发布:广西南宁广电网络缴费 编辑:程序博客网 时间:2024/04/28 01:46

         众所周知,ios是支持多国语言的,在程序里也是可以一个app支持多种语言,就是开发过程中俗称的“本地化”。

         首先在工程里加入一个strings类型的文件,命名为Localizable.strings,网上有些教程说是可以随便命名的,但是有次我以(Localization.strings)为命名,然后调以个多小时,不能本地化,还专门写了个Demo,还是不能,后来把名字改了,改成Localizable.strings,一下就出来了。


        一般放resources目录下,也可以直接放工程目录下,对resources目录右键,如图:

然后在弹出的选择文件类型的对话框选择 Resource分类下的Strings File


命名为Localizable.strings


然后选中该文件,调出右侧栏,如下图:

然后在加响应的语言就可以,添加语言如下图:


然后在Localizable.strings这个文件就会多出几个子strings

就是添加的相应的语言的文件,在资源目录下也会多出几个目录,以.lproj为结尾的,中文简体是zh-Hans,繁体是zh-Hant

这是做完了第一步了,

第二步,运用 NSLocalizedString(key, comment) 宏来在代码中实现相应的转换。例如:

UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Login", NULL) message:NSLocalizedString(@"Error", NULL) delegate:self cancelButtonTitle:NSLocalizedString(@"OK", NULL) otherButtonTitles:nil] autorelease];

完成第二步


然后第三步,就是在相应的strings文件添加key要显示的字符串

比如以上代码示例中,“Login”对应的语言,

Localizable.strings(English)

“Login” = “Login”;


Localizable.strings(Chinese)  //简体


"Login" = “登录”;


Localizable.stings(Chinese)   //繁體


"Login" = "登錄";


左边为键值(key),右边为所要显示的字符串


这样就可以转换多国语言了

原创粉丝点击