iOS:独立于iPad语言设置本地化应用程序

时间:2014-04-02 10:15:35

标签: ios iphone objective-c localization internationalization

我正在开发一个应用程序,我必须在应用程序中提供语言设置选项。我的问题是,如果我从iPad设置中设置法语,之后如果我从应用程序设置设置日语,那么我的应用程序将如何知道Text应该转换为日语?或者我如何使我的应用程序设置独立于iPad设置。我可以使用本地化功能吗?或者我必须制定自己的逻辑来开发它。

在上述场景中使用本地化可以使用法语转换文本,但我的内部语言设置是日语。所以我想让它显示日文文本。

请在此建议我。

2 个答案:

答案 0 :(得分:1)

如果您想在iPad语言设置更改时切换应用语言,请使用NSLocalizedString

如果您希望自己的应用语言独立于iPad语言设置,请aggressive-mediocrity使用AMLocalizedString

答案 1 :(得分:1)

我使用一个漂亮的宏(#define)来选择使用法语的本地化字符串:

#define LocalizedFR(...) NSLocalizedStringFromTableInBundle(__VA_ARGS__, nil, [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"]], @"")

然后使用NSLocalizedString而不是LocalizedFR('Cancel')来显示法语取消

当然,您可以将“fr”更改为任何语言,或将其转换为函数并将语言代码作为参数传递。