Info.plist|通过 CFBundleLocalizations 设置本地化语言

了解如何通过 CFBundleLocalizations 为 App 声明支持的本地化语言。

CFBundleLocalizations

如果未设置 CFBundleLocalizations,iOS 系统可能无法正确识别应用支持哪些语言,这会影响 Locale.current 的行为。

例如,DateFormatter 可能无法自动匹配本地化语言的格式。

下面这个代码,理论上在中文格式下应当显示为中文格式,但在开发阶段始终显示为英文格式 —— 可能是在开发和调试阶段,系统默认使用英文作为 fallback。

Info.plist 中设置 CFBundleLocalizations 之后,便可根据系统语言自动切换对应的格式:

<key>CFBundleLocalizations</key>
<array>
    <string>en</string>
    <string>zh-Hans</string>
</array>

在系统设置添加 App 语言切换功能

Info.plist 中设置 CFBundleLocalizations 之后,你便自动拥有了在系统设置中,切换 App 语言的能力:

CFBundleDevelopmentRegion:设置开发阶段默认地区

你还可以通过 CFBundleDevelopmentRegion 设置在开发阶段采用的地区:

<key>CFBundleDevelopmentRegion</key>
<string>zh-Hans</string>