iOS 是否依赖于另一个区域本地化字符串?
Does iOS fall back on another regional localized string?
一个 iOS 应用有一个 Localizable.strings
语言文件 es-MX
(西班牙-墨西哥),但没有该语言的通用本地化文件,例如es
(西班牙语)。
使用设备区域设置 es-PE
(西班牙语-秘鲁)的用户会看到 es-MX
翻译还是会退回到基本语言 en
?
我用 iOS 10.3 在模拟器上试了一下,结果是:
如果 es-MX
翻译存在,但没有 es
翻译,那么 Localizeable.strings
对于区域设置 es-PE
的用户,将回退到基本语言,在我的案例 en
.
如果有人对文档有参考,请发表评论,我会将其添加到答案中。因为如果当前未定义行为,它可能会在未来的 iOS 版本中发生变化,甚至可能取决于语言和地区。对于其他地区,有些地区符合 "parent",例如es-419
(西班牙拉丁美洲)对应 es-MX
(西班牙-墨西哥),因此如何定义回退行为会很有趣。
然而,由于 es-419
是一种可以在 iOS 设置中选择的独特语言,我假设后备层次结构是:
base
↑
|- es
↑
|- es-MX
|- es-PE
|- es-419
|- es-ES
一个 iOS 应用有一个 Localizable.strings
语言文件 es-MX
(西班牙-墨西哥),但没有该语言的通用本地化文件,例如es
(西班牙语)。
使用设备区域设置 es-PE
(西班牙语-秘鲁)的用户会看到 es-MX
翻译还是会退回到基本语言 en
?
我用 iOS 10.3 在模拟器上试了一下,结果是:
如果 es-MX
翻译存在,但没有 es
翻译,那么 Localizeable.strings
对于区域设置 es-PE
的用户,将回退到基本语言,在我的案例 en
.
如果有人对文档有参考,请发表评论,我会将其添加到答案中。因为如果当前未定义行为,它可能会在未来的 iOS 版本中发生变化,甚至可能取决于语言和地区。对于其他地区,有些地区符合 "parent",例如es-419
(西班牙拉丁美洲)对应 es-MX
(西班牙-墨西哥),因此如何定义回退行为会很有趣。
然而,由于 es-419
是一种可以在 iOS 设置中选择的独特语言,我假设后备层次结构是:
base
↑
|- es
↑
|- es-MX
|- es-PE
|- es-419
|- es-ES