我正在使用以下代码返回本地化字符串:
[self.languageBundle localizedStringForKey:key value:key table:nil];
如果是英语,则没有问题。但是,对于荷兰语,它默认为英语。为了清楚起见,self.languageBundle 是一个在第一次启动时复制的空包。然后创建两个本地化目录(en.lproj 和 nl.lproj),并在两个目录中创建 Localizable.strings 文件并填充正确的本地化字符串(我检查了它们)。
我使用以下方法更改语言:
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"nl"]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
但是,它仍然在 en.lproj 而不是 nl.lproj 中加载本地化