我正在开发一个应用程序,我必须在应用程序中提供语言设置选项。我的问题是,如果我从iPad设置中设置法语,之后如果我从应用程序设置设置日语,那么我的应用程序将如何知道Text应该转换为日语?或者我如何使我的应用程序设置独立于iPad设置。我可以使用本地化功能吗?或者我必须制定自己的逻辑来开发它。
在上述场景中使用本地化可以使用法语转换文本,但我的内部语言设置是日语。所以我想让它显示日文文本。
请在此建议我。
答案 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”更改为任何语言,或将其转换为函数并将语言代码作为参数传递。