在我的iOS应用中,我需要一个更改语言的选项。我们可以在不更改设备设置中的语言的情况下进行更改吗
答案 0 :(得分:2)
您可以使用以下代码设置语言
- (void) setLanguage:(NSString*) lang {
NSString *path = [[NSBundle mainBundle] pathForResource:lang ofType:@"lproj"];
if (path == nil) {
myBundle = [NSBundle mainBundle];
} else {
myBundle = [NSBundle bundleWithPath:path];
}
if (myBundle == nil) {
myBundle = [NSBundle mainBundle];
}
}
之后,您可以使用
获取本地化- (NSString*) localizedStringForKey:(NSString*) key {
return [myBundle localizedStringForKey:key value:@"" table:nil];
}
答案 1 :(得分:0)
例如,在您的应用中使用不同的语言字符串存储不同的静态json / plist等,当您切换选项时解析此设置并设置为标签。
答案 2 :(得分:0)
我不确定但是使用NSUserDefaults
尝试使用此代码NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* languages = [userDefaults objectForKey:@"AppleLanguages"];
[languages insertObject:@"de" atIndex:0]; // ISO639-1
[[NSUserDefaults standardUserDefaults] synchronize];