---
title: "How do I localize the iOS app name?"
description: "Localize the `CFBundleDisplayName` and `CFBundleName` Info.plist keys, either in an `InfoPlist.strings` file inside each `.lproj` folder or, in Xcode 15 and later, in an `InfoPlist.xcstrings` String Catalog. The App Store name is localized separately in App Store Connect."
category: ios
date: 2026-10-09
canonical: https://localizely.com/i18n-questions/ios/how-do-i-localize-the-ios-app-name/
---

# How do I localize the iOS app name?

The name under the icon comes from the `CFBundleDisplayName` key in `Info.plist`, and the user-visible `Info.plist` keys can be localized like any other string. You leave `Info.plist` itself alone and provide a value per language for the key.

With String Catalogs (Xcode 15 and later), add a String Catalog named `InfoPlist` to the app target (File > New > File from Template, then String Catalog). On the next build Xcode fills `InfoPlist.xcstrings` with the localizable `Info.plist` keys, including `CFBundleDisplayName` and `CFBundleName`; add your languages and type the translated names.

Without String Catalogs, create a strings file named `InfoPlist.strings`, localize it from the File inspector so that you get `en.lproj/InfoPlist.strings`, `de.lproj/InfoPlist.strings` and so on, and put the keys in each copy:

```text
/* de.lproj/InfoPlist.strings */
"CFBundleDisplayName" = "Wetter";
"CFBundleName" = "Wetter";
```

Localize `CFBundleName` together with `CFBundleDisplayName`. Apple's key reference asks for both, the system shows `CFBundleName` where no display name is set, and `CFBundleName` is limited to 15 characters. If you need the localized name in code, read `Bundle.main.localizedInfoDictionary?["CFBundleDisplayName"]`.

The Home screen shows the name for the device language. If it still shows the old name after you run a new build, delete the app from the device or simulator and install it again.

The App Store listing is separate. Its name is entered per language in App Store Connect, under App Information, and it does not have to match the bundle's display name.

`LSHasLocalizedDisplayName` is a macOS key that tells the Finder and the Dock that the app has a localized display name. It appears only in Apple's archived macOS guides, not in the current Info.plist reference, and an iOS app does not need it.

Source: https://localizely.com/i18n-questions/ios/how-do-i-localize-the-ios-app-name/
