views:

53

answers:

1

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.

+1  A: 

Perhaps this should help? -- http://stackoverflow.com/questions/3094349/iphone-localization-internationalization-default-strings-file

It should fallback to English by default. I've just switched my phone to a language into which my app is not localized, and the text was all in English, as expected.

Sea Coast of Tibet