I'm having trouble using NSLocalizedString(key, comment: "")
to load strings from Localizable.strings when the key is missing for the current language. NSLocalizedString returns a raw key
For instance, when string is present for English localization, but is missing for Russian:
"config.updating" = "Update in progress...";
Calling NSLocalizedString when iOS language set to Russian returns "config.updating"
NSLocalizedString("config.updating", comment: "") // "config.updating"
Shouldn't NSLocalizedString access the "AppleLanguages" key in NSUserDefaults to determine what the user's settings are and pick some other string?
No, the documentation for NSLocalizedString(key,comment)
is pretty clear -
The initial value for
key
in the strings file will bekey
. Use theNSLocalizedStringWithDefaultValue
macro to specify another value for key.
What else would you expect it to return? The code simply looks up the key in a dictionary. It has no idea what message is associated with the key, let alone how to translate that message into Russian.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With