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>