众所周知,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),右边为所要显示的字符串
这样就可以转换多国语言了