1

Good morning,

I have an iOS app with English and Hebrew localizations and a device set on English. I need to build the app with Hebrew only for this version (so the app will launch in Hebrew).

I tried to delete en.lproj and remove the references in Xcode, but the app just uses the base localization in the storyboard and the string I use as a parameter in NSLocalizedString, instead of the Hebrew files.

I've also tried to change the development language to Hebrew: How do I change the Development language in Xcode before internationalizing my app? but that didn't help.

When setting NSUserDefaults-AppleLanguages key in main() it works but not on the first launch.

I would love to use a different implementation for NSLocalizedString so I could manage the localizations myself, but the problem is that English is written from left to right and Hebrew is from right to left, so updating the strings is not enough.

Do you have any idea how can I force the app to launch for every device in the localization that I choose?

Thanks!

Community
  • 1
  • 1

1 Answers1

0

I think that I found what was the problem, I left a single image localized in English.

It seems that when there is anything localized to a language, it adds the language to a list of supported languages. Because the device is in English and the app "supports" it, English will be used.

If anyone knows a way to modify this list of supported languages without deleting files, and making it work from the first launch, and maybe even having a different list for each target, please let me know!