我正在尝试构建一个应用程序,该应用程序包含一个默认显示英文文本的标签。用户获得一个列表以选择他/她的语言,并且在选择语言之后,文本将更改为该特定语言。知道怎么做吗?我曾尝试过
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", @"en", @"fr", nil] forKey:@"AppleLanguages"];
但它不起作用。
答案 0 :(得分:1)
你可以这样做:
-[NSBundle localizedStringForKey:value:table:]
文档中有一小部分样本。基本上您需要做的是使用您需要的本地化创建MyTable.strings文件。根据您需要的语言创建一个文件。 然后做:
NSBundle *bundle = [NSBundle mainBundle];
NSString *localizedString = [bundle localizedStringForKey:@"TheKeyYouWantToLocalize"]
value:@"TheDefaultValue"
table:@"MyTable"];
此方法将在 MyTable.strings 文件中查找密钥:@"TheKeyYouWantToLocalize"
,如果找到它,则会返回,否则它将返回@"TheDefaultValue"
仅供参考,这与本地化应用程序时系统使用的过程相同。 (听说NSLocalizedString
?)但现在你必须手动完成,因为你要求用户显示语言而不是依赖系统语言。