使用故事板以编程方式更改应用程序语言

时间:2012-05-22 13:59:36

标签: iphone ios localization storyboard

我需要创建一个iPhone应用程序,它是一个相当简单的应用程序,有几种表单可以将一些数据发送到Web应用程序。用户第一次打开应用程序时,应该会显示语言选择屏幕。

我使用故事板构建了应用程序,一切正常,语言选择视图首次弹出,所选语言保存在standardUserDefaults等中。

现在实现第二语言(法语)的最佳方式是什么,因为这是我第一次处理本地化应用程序。经过一些搜索,我想出了如何在故事板中添加新的语言/本地化,并且当在电话设置中选择了正确的语言时,一切都按预期工作。现在我需要做的是在用户点击应用设置中的国家/地区标志时调用正确的故事板。

当用户点击标志时,他的选择将写入standardUserDefaults。然后,我试图改变到正确的故事板。

我发现的一些代码看起来可能有用:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *rootVC = [storyboard instantiateInitialViewController];

由于我不知道如何调用法语故事板,因此代码无效。

任何更简单的方式?

1 个答案:

答案 0 :(得分:2)

为什么不使用本机语言支持。只需设置labelFields,例如

labelField.text = NSLocalizedString(@"key", nil);

您将拥有一个带有此

的Localized.strings文件
"key" = "translated key";

应用程序会自动选择设备配置的语言。