Home / ASO guides / iOS localization: String Catalogs and the App Store

iOS localization: String Catalogs and the App Store

Quick answer: iOS localization today uses Xcode String Catalogs (.xcstrings), which collect strings from SwiftUI and code automatically. Add languages in project settings, translate in the catalog, localize InfoPlist strings like permission prompts, test using scheme language settings, then localize App Store metadata for each locale.

How to localize an iOS app, step by step

Follow these steps in order. Each one is something we do on client work.

  1. Use String Catalogs. Xcode's.xcstrings file holds strings and translations.
  2. Avoid hard-coded text. Use String(localized:) or LocalizedStringKey.
  3. Handle plurals. Use catalog plural variants.
  4. Localize Info.plist strings. Including permission purpose strings.
  5. Test with pseudo-languages. Xcode schemes can show long or RTL text.
  6. Localize App Store metadata. Name, subtitle, keywords, screenshots.

iOS localization: key rules and context

App side

  1. Project > Info > Localizations > add languages.
  2. Add a String Catalog; build to extract strings.
  3. Translate; mark states as reviewed.
  4. Localize InfoPlist.xcstrings for purpose strings. See Apple: Localization.

Testing. Edit scheme > App Language; use pseudolanguages for text expansion and RTL.

App Store side. Each localization has its own name, subtitle, keywords, description and screenshots (App Store localizations).

Service. We localize the listing: Localization package, $99 for 3 markets.

Worked example (hypothetical)

This example is illustrative. The app is made up, and so are any numbers in it.

Say WalkMate localizes into Japanese but forgets the camera purpose string. Japanese users see an English prompt. We'd add it to the InfoPlist catalog.

Common mistakes

  • Forgetting purpose strings. Mixed languages.
  • Direct translation of keywords. Research locally.
  • No pseudo-language test. Layouts break.
  • One screenshot set for all. Localize captions.

If you want this handled for you, our pricing page lists every fixed package.

What you can localize in each store

Both stores let you localize the parts that drive search and conversion.

AssetApp StoreGoogle Play
Name / titlePer localization, 30 charactersOne localized name per language, 30 characters
KeywordsKeyword field per localization, 100 bytesNo keyword field; localize the descriptions
DescriptionsDescription and promotional text per localizationShort and full description per language
ScreenshotsPer localization and device sizeLocalized graphic assets per language
FallbackPrimary language if not localizedAutomated Google Translate view if not translated

App Store text fields and their limits

These are the limits App Store Connect enforces today. Plan your copy against them before you write a word.

FieldLimitNotes
App name2–30 charactersShown on the product page and in search
Subtitle30 charactersAppears under the name
Keywords100 bytesComma-separated, each keyword more than two characters; don't repeat app or company name; no other app or company names
Promotional text170 charactersAbove the description; can change without a new submission
Description4,000 charactersPlain text, no HTML
What's New4,000 charactersRequired for every version after the first

How we measure the result

For iOS localization, judge each market on its own numbers. Filter App Store Connect and Play Console by country or region rather than looking at global totals. A new localization should start bringing impressions from local-language searches.

Checklist

Copy this list into your release notes or ticket and tick each item off before you ship.

  • String Catalog
  • No hard-coded text
  • Plurals
  • InfoPlist strings
  • Pseudo-language test
  • Metadata localized

Sources

FAQ

Questions

What are String Catalogs?

Xcode's localization file format since Xcode 15.

Do permission prompts need translation?

Yes.

Can I use XLIFF?

Yes, export/import from Xcode.

Does Apple index each localization's keywords?

Yes, in storefronts that use them.

Do you translate the app?

No, listing only.

Does each App Store localization get its own keyword field?

Yes. Keywords can be localized, so each localization gets its own 100-byte field.

Ready when you are

Fix your listing this week.

One fixed price, delivered as copy and files you paste yourself. No calls, no account access.

$99 one-timeDelivered in 2–3 business days2 revisionsNo login needed
Questions? Email us
Rank higher. More installs.Want your app ranked and more installs?
Get HireASO