我很纠结于应用内部的本地化。你在应用程序中选择语言,根据你选择的语言,它在NSUserDefaults
中保存值。因为我没有找到这种本地化的材料,我的想法是让类有返回字符串的类功能这取决于NSUserDefaults中保存的是哪种语言。例子:
+(NSString *) helloString
{
NSString *hello = [NSString new];
if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"language"] isEqualToString:@"en"]) {
hello = @"Hello";
}
else if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"language"] isEqualToString:@"es"]) {
hello = @"Holla!";
}
return hello;
}
这是合法的方式吗,有没有更好的解决方案?
我找到了解决问题的方法。我使用LocalizationSystem
类,它模拟了从系统设置更改的语言。