NSLocalizedString 显示原始键而不是从另一种语言加载字符串

Lae*_*and 7 localization localizable.strings ios swift

NSLocalizedString(key, comment: "")当当前语言缺少键时,我无法从 Localizable.strings 加载字符串。NSLocalizedString 返回一个原始键

例如,当英语本地化存在字符串,但俄语缺少字符串时:

"config.updating" = "Update in progress...";
Run Code Online (Sandbox Code Playgroud)

当 iOS 语言设置为俄语时调用 NSLocalizedString 返回“config.updating”

NSLocalizedString("config.updating", comment: "") // "config.updating"
Run Code Online (Sandbox Code Playgroud)

NSLocalizedString 不应该访问 NSUserDefaults 中的“AppleLanguages”键来确定用户的设置并选择其他字符串吗?

Pau*_*w11 2

不,文档NSLocalizedString(key,comment)非常清楚-

key字符串文件中的初始值为key. 使用 NSLocalizedStringWithDefaultValue宏为 key 指定另一个值。

您还希望它返回什么?该代码只是在字典中查找键。它不知道什么消息与密钥相关,更不用说如何将该消息翻译成俄语了。