iOS8区域本地化(例如pt-BR)?
根据我的理解,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);
仅返回’Locale = pt’…
我错过了任何步骤,还是iOS8中的错误?
谢谢你的帮助…
根据苹果文档,应返回IETF BCP 47。 因此,如果这是您首选的系统语言,您应该获得pt-BR。
如果你想要的只是我建议你使用的当前语言环境:
[[NSLocale currentLocale] localeIdentifier]
如果要在应用程序运行时支持区域设置更改,请将currentLocale替换为autoupdatingCurrentLocale。
编辑:区域设置与语言ID不同! 我为我的误会道歉。 无论如何,“pt”是巴西葡萄牙语的正确语言ID:
…例如,使用pt作为葡萄牙语的语言ID,因为它在巴西使用,pt-PT作为葡萄牙语的语言ID,因为它在葡萄牙使用。 “其他”子菜单(位于列表底部)包含更多语言和方言。
来自: https : //developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html
出于某种原因,iOS8正在使用pt for Portuguese Brasil (而不是pt_BR )。 选择葡萄牙葡萄牙语时 ,本地化将为pt_PT
我删除了本地化,并添加了通用葡萄牙语(并用.strings文件替换旧的文件)。