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?
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:
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.