本文来自 海之飞燕 http://v2it.win/?p=519
1、国际化就是将标签、提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件。以key/value对存储,每个资源的key值不变,value随着需求改变。
2、添加多语言:
新建工程(TestLocalization-master)—> TestLocalization-master—>project—>info—>Localizations,点击加号添加需要的语言。
3.创建语言资源文件cmd+N(新建)—>Resource—> Strings File —>Next—>命名为Localizable.strings —> creates —>Finish
添加属性:点击Localizable.strings—>右侧Localization —> Localize—>选择语言—>Localize
—>取消Base,勾选English, Chinses(Simplified):
4.添加属性Localizable.strings:修改标签显示语言
例如:在荷兰文件下,sign in写对应的荷兰语,在中文下,sign in 写对应的中文。
UILabel *label = [[UILabel alloc]init];
label.frame = CGRectMake(100, 100, 80, 40);
label.text = NSLocalizedString(@"Sign In",@"");
[self.view addSubview:label];
5.获取所有语言和当前语言:
//获得当前设备的语言
// 取得用户默认信息
NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];
// 取得 iPhone 支持的所有语言设置
NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];
NSLog (@"%@", languages);
// 获得当前iPhone使用的语言
NSString* currentLanguage = [languages objectAtIndex:0];
NSLog(@"currentLanguage:%@",currentLanguage);
原文链接: http://v2it.win/?p=519