我想要的很简单:
我的应用程序只有两种语言:英文和简体中文。我希望如果系统语言是简体或繁体中文,那就使用简体中文,否则就使用英文。
似乎大多数用户不知道他们可以设置他们的次要首选语言。所以我不能依赖他们。
发布于 2013-12-10 08:00:49
您可以使用此代码检索用户语言并设置应用程序语言:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// Reset system defaults to get the complete language list.
[defaults removeObjectForKey:@"AppleLanguages"];
// Default language choosen by user.
NSString *defLanguage = [defaults objectForKey:@"Language"];
NSArray *sysLangugages = [defaults arrayForKey:@"AppleLanguages"];
// System default language: first element of array.
NSString *sysLanguage = [sysLangugages objectAtIndex:0];
NSArray *array = [NSArray arrayWithObjects:defLanguage, sysLanguage, nil];
LocalizationSetLanguage(defLanguage);
[defaults setObject:array forKey:@"AppleLanguages"];
//To set and get the saved language
// in the .h
#define LocalizationSetLanguage(language) \
[[LocalizationSystem sharedLocalSystem] setLanguage:(language)]
//in the .m
- (void) setLanguage:(NSString*) language
{
lang = language;
}
- (NSString*) getLanguage
{
if (!lang) {
NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
NSString *preferredLang = [languages objectAtIndex:0];
lang = preferredLang;
}
return lang;
}发布于 2013-12-10 08:03:30
使用AMLocalizedString,您可以使用它来设置本地语言。
https://stackoverflow.com/questions/20488844
复制相似问题