1
votes

The scenario:

i'm developing an iOS app an it should be uploaded in all app stores all over the world.

The application should support 2 languages, german and english. German language for Germany, English language for the rest of the world.

What i've done:

When i started to develop the app i choosed German as "Localization native development region" in Info.plist file and added Localization for English in the project settings...

I used the NSLocalizedString and write the text strings in all in german. Then i submit the Localization.string file to the customer for translation...

The Question: Am I doing it right to achieve the scenario above, when i want to submit the app to the appstore?

What have i to do in iTunesConnect to archive this scenario...?

Greetz..

2

2 Answers

2
votes

It's the other way around, use English as "Localization native development region" and then add a German localization.

kCFBundleDevelopmentRegionKey The name of the development language of the bundle. When CFBundle looks for resources, the fallback is to look in the lproj whose name is given by the kCFBundleDevelopmentRegionKey in the Info.plist file. You must, therefore, ensure that a bundle contains an lproj with that exact name containing a copy of every localized resource, otherwise CFBundle cannot guarantee the fallback mechanism will work. Available in iOS 2.0 and later. Declared in CFBundle.h.

1
votes

The thvanarkel could be right, but I actually use another trick :

When you match your pair - keys in the Localizable.strings, I name every keys with their english translation like

"Delete the current shopping list?" = "Delete the current shopping list?";

"Delete the current shopping list?" = "Löschen Sie die aktuelle Einkaufsliste?"

If the key match in your Localizable.string, it will be translated, if not, the key will be used.

Maybe not the best practice but it works for me.