You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NSLocalizedString在设备语言未适配时的返回逻辑咨询

关于NSLocalizedString未匹配设备语言时的返回逻辑

嘿,这个问题问得特别实用!我来给你把这个逻辑讲明白~

当你调用NSLocalizedString("HELLO", comment:"An initial greeting")但设备当前语言(比如你说的德语)没有对应的Localizable.string配置时,系统会按照以下优先级返回内容:

  1. 优先 fallback 到项目的「基准语言(Base Localization)」
    绝大多数iOS项目都会设置一个基准语言(默认通常是英文),这个语言对应的本地化文件是系统的最后兜底选项。如果你的项目基准语言是英文,那即使设备是德语,也会返回英文的"Hello"。

  2. 如果没有设置基准语言,直接返回传入的key
    要是你的项目没配置基准语言,系统找不到任何匹配的本地化字符串时,就会直接把你传入的第一个参数(也就是这里的"HELLO")原封不动返回给你。

举个更直观的例子:如果你的项目Base Localization是英文,那不管设备切到日语、俄语还是德语这种没配置的语言,都会用英文的字符串;但如果没设Base,就只会显示HELLO这个key。

另外提一句,你可以在Xcode的项目设置→Info→Localizations里查看和修改基准语言,Base那一行就是啦~

内容的提问来源于stack exchange,提问作者Jeronimo Cabezuelo Ruiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:58:23