在一些app中添加了语言选择,这时就需要app中所有页面的显示都根据选择语言保持一致。本文介绍一下UIDatePicker语言本地化。
1.获取本地语言
- (NSString*)getPreferredLanguage
{
NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
NSString* preferredLang = [languages objectAtIndex:0];
NSLog(@"Preferred Language:%@", preferredLang);
return preferredLang;
}
2.设置//set datepicker date
-(void)initDatePickerViewWithLanguage
{
NSString* language = [[NSUserDefaults standardUserDefaults]objectForKey:"appLanguage"];
if (!language) {
language = [self getPreferredLanguage];
}
NSLog(@"language==%@",language);
if ([language isEqualToString:@"zh-Hans"]) { //简体中文
[self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh-Hans"]];
}else if ([language isEqualToString:@"zh-Hant"]){ //繁体中文
[self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh-Hant"]];
}else if ([language isEqualToString:@"en"]){ //英文
[self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en"]];
}else{ //其他地区默认设为英语
[self.datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en"]];
}
}
这样就完成了三种语言,根据自己需要,可以设置不同的语言。