iOS8区域本地化(例如pt-BR)?

Chr*_*ris 6 localization ios xcode6 ios8

据我所知,iOS8现在支持区域本地化(在这种情况下,我想支持pt-BR).

访问http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html

我遇到了这方面的问题,使用全新的单一视图应用程序对其进行测试,在xcode中我已将pt和pt-BR语言添加到我的项目中,并相应地在pt.lproj和pt-BR.lproj目录中更改了文本.

将我的设备设置为pt-BR并运行后,显示的文本始终为pt,而不是pt-BR.

确实记录了NSLocale返回的首选语言环境

NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"Locale = %@", language);
Run Code Online (Sandbox Code Playgroud)

仅返回'Locale = pt'...

我错过了任何步骤,还是iOS8中的错误?

谢谢你的帮助...

Sha*_*ank 2

根据苹果文档,应该返回 IETF BCP 47。因此,如果您首选的系统语言是 pt-BR,那么您应该选择 pt-BR。

如果您想要的只是当前区域设置,我建议您使用:

[[NSLocale currentLocale] localeIdentifier]
Run Code Online (Sandbox Code Playgroud)

如果您想在应用程序运行时支持区域设置更改,请将 currentLocale 替换为 autoupdatingCurrentLocale。

编辑:区域设置与语言 ID 不同!我为我的误会道歉。无论如何,“pt”是巴西葡萄牙语的正确语言 ID:

...例如,使用 pt 作为葡萄牙语的语言 ID,因为它在巴西使用,而 pt-PT 作为葡萄牙语的语言 ID,因为它在葡萄牙使用。其他子菜单(位于列表底部)包含更多语言和方言。

来自: https: //developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html