37
votes

How can I localize bundle display name of an iPhone app? The name displayed in iPhone main screen under app icon. I wish a single binary bundle package which will be displayed multilingually.

5
Currently the procedures are described in this official document: developer.apple.com/library/prerelease/ios/documentation/MacOSX/…eonil

5 Answers

46
votes

Here's some instructions:

  • Create a new empty file called InfoPlist.strings
  • Open up the Navigator (cmd-opt-0) and select the first pane
  • Click the plus for a localization
  • Xcode (4.3) goes a bit funny and deselects your file. It's placed it into a localization folder (probably called en.lproj in the item's original folder. Re-select it in the Project Navigator.
  • Your file now has (probably) English in the Localization list. Click the plus button to add another language.

It's generally good to start with all the items you want to localize in the same folder, that way when they get localized, Xcode doesn't create a whole bunch of en.lproj and ja.lproj files all over your project. Call it something like "Localized Resources".

You can localize the app name now by adding the localized name to each file like this (for the French localized file):

"CFBundleDisplayName" = "Bonjour";

LocalizeLocalize Two

42
votes

Okay, even though this is a pretty old question, it came up high on my google searches for this topic. Hence I thought it might make sense to update the answers:

In Xcode 4.X, follow these steps to localize your bundle name:

  1. File->New->File...
  2. Choose Resource->Strings File
  3. Type in the Filename as InfoPlist.strings and save it in the correct location. EVEN If your plist is named App-Info.plist - the filename is ALWAYS InfoPlist.strings!
  4. Now the file should be open (otherwise, select it). In the left drawer, select "Localize" and after confirming that the newly created file is moved to the English folder, check the other languages you want. For a language to show up here, it needs to be listed as your localization languages
  5. Add these two lines to the InfoPlist.strings for the correct language:

    "CFBundleDisplayName" = "Name";

    "CFBundleName" = "Name";

  6. Add a new line to your App-Info.plist, "Localization native Development Region" - this set's the default development region

And after "only" 6 simple steps, you can set your localized app name!!11!1111

8
votes

Xcode 9.4.1

Create a new file called InfoPlist.string (string file)

Add your languages to this file, in the Localization-menu on the right, after clicking once on the new file. Expand the InfoPlist.sting file and add CFBundleDisplayName in all files with your translations:

"CFBundleDisplayName" = "My i18n App Name";

In Info.plist add two new values(or make sure they are there):

Bundle display name = $(PRODUCT_NAME)
Application has localized display name = YES
3
votes

Add InfoPlist.strings to your project and localize it. Put this in different languages:

"CFBundleDisplayName" = "App Name";
2
votes

In Info.plist provide the localized (translated) name for the following keys:

Bundle Display Name
Bundle Name

This will show up your application translated name under the icon on iPhone desktop