How to make iOS app name localizable?

raistlin picture raistlin · May 16, 2012 · Viewed 21.8k times · Source

I'm trying to find the easiest way to localize my app. I'm using sqlite, so I need basically only to switch my database name. Problem is the app name - can it be localized from code or I have to make x apps for x languages, so anyone will have app name in his/hers native language? The latter one seems like already rejected app to me... anyone?

Answer

Felix Lamouroux picture Felix Lamouroux · May 16, 2012

I assume you mean the Bundle Display Name that appears on the device's home screen: You should create a localized file called InfoPlist.strings similar to the Localizable.strings file that you use for the usual text snippets.

In the InfoPlist.strings you can localize the different keys from your Info.plist. To localize the app name add:

"CFBundleDisplayName" = "My localized app name";

To localize a file: Simply create a new strings file in Xcode. Then reveal the right Xcode pane and add localizations via the menu shown here:

XCode localizations

Using this technique you can localize any file you like. Simply add the correct version to your bundle. If you then use [[NSBundle mainBundle] pathFor... you will automatically get the path to the correct localization. We do this for sqlites, strings and sometime even images.