'How to localize bundle display name in iPhone app?

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.



Solution 1:[1]

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

Solution 2:[2]

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

Solution 3:[3]

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

Solution 4:[4]

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

"CFBundleDisplayName" = "App Name";

Solution 5:[5]

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

Solution 6:[6]

Updated Xcode 13 2022

First add any localisations you need in the project info

enter image description here

Then similar to all the older answers,

  1. create a new strings file called InfoPlist
  2. Tick all the localisations you added in the right bar
  3. use the breadcrumb nav to update the CFBundleDisplayName prop per locale

Xcode translated infoplist

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 nevan king
Solution 2
Solution 3 Kristian
Solution 4 Sargis
Solution 5 Nava Carmon
Solution 6 Ross Johnson