想做一款优秀的应用,就不得不做多语言。下边简单介绍多语言适配的方法:
首先说获得当前系统所支持的语言,以及当前设置的语言:
// 取得 iPhone 支持的所有语言设置
NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];
NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];
NSLog ( @"系统支持的所有语言 :%@" , languages);
//获得当前使用的语言
NSArray *language = [NSLocale preferredLanguages];
NSString *currentLanguage = [language objectAtIndex:0];
NSLog ( @"当前使用的语言是 :%@" , currentLanguage);
if([currentLanguage isEqualToString:@"zh-Hans"])
{
NSLog(@"current Language:zh-Hans");
}
适配多语言:
新建一个项目,找到项目中InfoPlist.strings其下没有二级文件,低版本的Xcode可以选中InfoPlist.strings,-->右边菜单栏中localization下+直接添加;高版本Xcode选中工程文件 --> info --> localizations点击+添加语言。
添加过后在InfoPlist.strings下出现二级文件(需要适配的语言文件)这里主要用于适配plist文件(应用名称等)适配应用里内容是无效的;
适配应用里的内容 -->new file (或command + N) -->Resource -->strings file (必须)命名为Localizable.strings,然后选中Localizable.strings -->右边菜单栏中localization 选中复选框要适配的语言;向文件内添加内容,key已英文的为主,例如"about"="about"; "about"="关于";。
//下边就可以测试了
- (void)viewDidLoad{
UILabel *able = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
[able setText:NSLocalizedString(@"aaa",nil)];
[self.view addSubview:able];
}