在一些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"]];
}
}
這樣就完成了三種語言,根據自己需要,可以設定不同的語言。