应用程序中加载语言的NSLocale

Jef*_*Jef 6 objective-c nslocale

在我的界面中,我显示了一个语言环境的显示名称:

[[NSLocale currentLocale] displayNameForKey: NSLocaleIdentifier value: identifier]
Run Code Online (Sandbox Code Playgroud)

但是这会使用系统的区域设置来显示显示名称,该区域设置并不总是与应用程序的区域设置相同.例如,如果我用法语设置我的系统并且我的应用程序没有法语本地化,它将在英语界面中提供法语显示名称.相反,我想在英文界面中有一个英文显示名称,所以我不混合语言.

小智 3

我不确定这是否是您想要的...但这是查看您的应用程序运行的语言/本地化的好方法:

[[NSBundle mainBundle] preferredLocalizations]
Run Code Online (Sandbox Code Playgroud)

如果您的应用程序支持英语和法语,它将按首选顺序返回这两种语言的数组。在测试中,0 处的似乎是已加载并运行的 xib。