Is there a way to set a default language to be used when the device UI language is not supported by an app?
Example: My app is localized into English and German:
// en.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Power";
"POWER_PLUG_BTN" = "Power";
// de.lproj:
"POWER_TO_THE_PEOPLE_BTN" = "Macht";
"POWER_PLUG_BTN" = "Spannung";
Now, if I run the app on a device with UI language set to Italian
the app will use the key strings POWER_TO_THE_PEOPLE_BTN
and POWER_PLUG_BTN
.
There must be a way to specify a default (fallback) language to be used by the application in such a case.
From the above example it should be clear that using the English string as a key will not work.
The only option I see right now is to use NSLocalizedStringWithDefaultValue
instead of NSLocalizedString
.
[NSLocale preferredLanguages]
that is supported by the app. It is not always english. If you change the language in the settings it will move to the top of the list. – Jennings