gpt4 book ai didi

ios - "Español (México)"语言设置使用 "Spanish"字符串而不是 "Spanish (Latin America)"字符串

转载 作者:可可西里 更新时间:2023-11-01 06:15:09 24 4
gpt4 key购买 nike

我们的 iOS 项目具有从 Xcode 中创建的“西类牙语”(es.lproj) 和“西类牙语(拉丁美洲)”(es-419.lproj) 的本地化字符串。

但是,在 iPhone(美国,最新的 iOS 7)上,西类牙语的语言选项只有“Español”和“Español(墨西哥)”,没有“拉丁美洲”。当您选择“Español(墨西哥)”时,它会使用我们应用中的“西类牙语”字符串,而不是人们所期望的“西类牙语(拉丁美洲)”字符串。

在进一步调查中,[[NSBundle mainBundle] preferredLocalizations] 返回 @[@"es"]。即使 [[NSBundle mainBundle] localizations] 返回一个包含“es”和“es-419”的数组。

但是,[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] 返回一个包含“es-MX”的数组。

然后是下面的表达式:

[NSBundle preferredLocalizationsFromArray:@[@"es-419", @"es"]
forPreferences:@[@"es-MX"]]

返回 @[@"es"]

为什么 Xcode 会为我们提供“西类牙语(拉丁美洲)”本地化,而当您在手机上实际选择唯一的拉丁美洲西类牙语选项时却没有使用它?

最佳答案

这在 iOS 9 和 10 中已经改变,应该可以正常工作。但是,如果您的本地化不存在于您的项目中,它将选择 Base 本地化(如果存在)。只有一个基地可用;如果您的用户选择“es-MX”作为他的电话语言,而您只有“es”,它将选择来自基本本地化的字符串,而不是来自“es”基本西类牙语翻译的字符串。

关于ios - "Español (México)"语言设置使用 "Spanish"字符串而不是 "Spanish (Latin America)"字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23550623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com