Game Center localization: achievements, leaderboards and images
· 11 min read
Game Center localization is separate from your App Store listing: every achievement needs a title, a pre-earned description, an earned description and a 1024×1024 image in each language, and every leaderboard needs a name plus an optional description, score suffix and image. You add them per item in App Store Connect (Apps → your game → Game Center → the item → Localization) or through the App Store Connect API, and new or changed text has to pass review before players see it.
Since iOS 26 the Apple Games app puts this text and artwork on its own screens, so an English-only achievement list stands out more than it used to. This is the full checklist we use, with Apple's numbers and the gaps where Apple doesn't give one.
What you localize for each Game Center item
Each Game Center component has a few language properties. Here is the complete list from App Store Connect Help (achievements, leaderboards, challenges, activities):
| Item | Localized text | Localized image | Image required? |
|---|---|---|---|
| Achievement | Display Name, Pre-earned Description, Earned Description | 1024×1024 px, PNG/JPEG, RGB, ≥72 ppi | Yes, in every language |
| Leaderboard | Display Name, Leaderboard Description, Score Format Suffix (singular and plural), Score Format override | 1024×1024 px, PNG/JPEG, RGB, ≥72 ppi | No |
| Leaderboard set | Name | Optional image (via the API) | No |
| Challenge | Display Name, Description | 3840×2160 px, PNG/JPEG, RGB, no transparency | No, falls back to the default image |
| Activity | Display Name, Description | 3840×2160 px, PNG/JPEG, RGB, no transparency | No, falls back to the default image |
The things you don't localize: reference names, IDs (achievement, leaderboard, challenge and activity IDs are permanent and capped at 100 single-byte characters), point values, sort order and score ranges. Those are set once per item.
Two details catch people out. First, the achievement image lives on the localization, not on the achievement. Apple marks it required, so adding Japanese means uploading an image to the Japanese localization too, even if it's the same file as English. Second, the leaderboard description is new. At WWDC25 Apple said it plainly: "Description is a new field, so be sure you set it for all of your new and existing leaderboards" (Engage players with the Apple Games app). Older games often have it empty in every language.
Game Center achievement descriptions: how long can they be?
Apple doesn't document a character limit for any Game Center text field. App Store Connect Help lists the fields without limits, and the App Store Connect API specification (version 4.5.1, which we checked) types name, beforeEarnedDescription and afterEarnedDescription as plain strings with no maximum length.
The limit that matters is visual. Apple's Human Interface Guidelines for Game Center say the achievement card "limits the title and description to two lines each" and truncates anything longer. They also ask for title-style capitalization on the title and sentence-style on the description. Write to two lines in English and leave room: German, Finnish and Russian usually need more characters than English for the same sentence. If the English already fills two lines, the translation will be cut.
For the App Store fields that do have hard limits, see our App Store character limits table.
A sample achievement, in three locales:
| Field | en-US |
de-DE |
ja |
|---|---|---|---|
| Display Name | First Light | Erstes Licht | 最初の光 |
| Pre-earned Description | Reach the lighthouse before sunrise. | Erreiche den Leuchtturm vor Sonnenaufgang. | 日の出前に灯台にたどり着く。 |
| Earned Description | You beat the dawn to the lighthouse. | Du warst vor der Morgendämmerung am Leuchtturm. | 夜明けより先に灯台に着いた。 |
The pre-earned text says what to do. The earned text confirms what the player did. Keep that split in every language, because the Games app shows the earned description once an achievement is complete.
Achievement images: size, format and the circular mask
Achievement images must be .jpeg, .jpg or .png, exactly 1024×1024 pixels, at least 72 ppi, in RGB (App Store Connect Help). The HIG adds that the system "applies a circular mask to your achievement image," with a 1024 px diameter on iOS, iPadOS, macOS and visionOS, so keep the subject centred and nothing important in the corners. It also asks you not to reuse one asset for several achievements. Leave the image out and the card shows a placeholder.
Leaderboard images use the same 1024×1024 canvas, but when a leaderboard is part of a leaderboard set the system crops it to 1024×624. Challenge and activity art is a 3840×2160 (16:9) image cropped to 2930×1534 on display.
The localization question for images is simple: does the artwork contain words? If it doesn't, upload the same file to every language and move on. If it does (a level name on a badge, "100" with a currency symbol, a pun in English), either make a text-free version or produce one per language. Apple's HIG says the same for challenges: if you need text in the image, "provide the appropriate localized versions through App Store Connect or Xcode."
How to localize leaderboards: names, descriptions and score suffixes
A leaderboard localization has a display name, a description, two score suffixes and an optional score format override. The suffix is the unit shown after a score. Apple's examples are "point"/"points", "coin"/"coins" and "hit"/"hits".
The two-field design (singular and plural) fits English. Languages with more than two plural forms don't fit it. Polish says 1 punkt, 2 punkty, 5 punktów; Russian says 1 очко, 2 очка, 5 очков. With only two slots, one of those forms will be wrong for some scores. Our advice: for those languages, pick a suffix that doesn't inflect (an abbreviation or a symbol), or leave the suffix empty and put the unit in the leaderboard name ("Coins collected").
The score format override exists for money and similar units. If the leaderboard is scored in dollars, you can switch the German localization to a euro format. The API's formatterOverride accepts values such as MONEY_DOLLAR, MONEY_EURO and MONEY_YEN, plus integer, decimal and elapsed-time formats. Unless you set it, the leaderboard's own format applies to every language.
Where to localize Game Center in App Store Connect
In App Store Connect:
- Apps → your game → Game Center in the sidebar.
- Select the achievement, leaderboard, challenge or activity.
- In the Achievement Localization (or Leaderboard, Challenge, Activity Localization) section, click Add Localization.
- Pick the language, fill in the fields, attach the image, click Save.
- Repeat for every language, then for every item.
That's the whole interface: one language of one item per dialog. For a game with 40 achievements in 10 languages, that's 400 dialogs and 400 image uploads. This is where most indie games give up and ship English-only Game Center text under a fully localized App Store listing.
If your game is in a Game Center group, the group shares leaderboards, achievements, challenges and activities across its apps, so you localize them once for the group.
Game Center languages are also independent of your product page languages. Adding French to your listing doesn't add French to your achievements, so decide on the Game Center language set separately. Our guide on which languages to localize your app into applies here too.
Editing live achievements and leaderboards
Game Center items are versioned. Changes go through App Review, and live items can't be edited in place.
- First submission. The first time you add Game Center components to an app, include them in the same submission as an app version. After that, new or changed components can be submitted without an app version and are reviewed against the latest version of the platform you pick (Submit Game Center components). One submission can hold up to 200 components.
- Editing a live localization. Apple's help for challenges and activities says that editing a localization that's live "creates a new version of the localization" in Prepare for Submission. Achievements, leaderboards and leaderboard sets got the same versioning in the API in App Store Connect API 4.2. In practice: fixing a German typo on a live achievement means creating version 2, editing it and submitting it for review.
- What you can't change. Once an achievement is available to players in any version of your app, it can't be deleted and its point value can't be changed (Manage achievements). IDs are permanent from the start.
- Timing. Apple says approved Game Center changes can take up to 24 hours to reach players.
Batch translation fixes for that reason. Ten small corrections across ten achievements become ten new versions in one review submission rather than ten separate trips.
The relevant caps, all from App Store Connect Help:
| Limit | Value |
|---|---|
| Achievements per app | 100 |
| Points per achievement | 100 |
| Points across all achievements | 1,000 |
| Leaderboards per app (no sets) | 100 |
| Leaderboards per app (with sets) | 500, up to 100 sets of up to 100 each |
| Challenges per app | 20 |
| Activities per app | 20 |
| Components per review submission | 200 |
| Text length of titles and descriptions | Not documented |
The App Store Connect Game Center API
The App Store Connect API mirrors that version structure. The v2 resources for achievements, leaderboards and leaderboard sets are the current ones. The v1 achievement endpoints are still listed in the docs, but new code should use v2. The path to an achievement's text:
GET /v1/apps/{appId}/gameCenterDetail
GET /v1/gameCenterDetails/{id}/gameCenterGroup # 404 if not in a group
GET /v1/gameCenterDetails/{id}/gameCenterAchievementsV2
GET /v2/gameCenterAchievements/{id}/versions
GET /v2/gameCenterAchievementVersions/{id}/localizations?include=image
POST /v2/gameCenterAchievementVersions # new version of a live item
POST /v2/gameCenterAchievementLocalizations # add a language
PATCH /v2/gameCenterAchievementLocalizations/{id} # edit text
POST /v2/gameCenterAchievementImages # reserve an image upload
A gameCenterAchievementLocalizations resource has four attributes: locale, name, beforeEarnedDescription and afterEarnedDescription, all required when you create one. Leaderboard localizations (/v2/gameCenterLeaderboardLocalizations) carry name, description, formatterSuffix, formatterSuffixSingular and formatterOverride, and only name and locale are required. Challenges and activities are still v1 (/v1/gameCenterChallengeLocalizations, /v1/gameCenterActivityLocalizations) with name and description.
Images follow the usual App Store Connect asset flow. You POST to gameCenterAchievementImages with fileName, fileSize and the localization relationship, PUT the bytes to the upload operations Apple returns, then PATCH the image with "uploaded": true. Because the image hangs off the localization, every new language means another reservation and upload. If the item's latest version is LIVE (or ACCEPTED or PENDING_RELEASE), create a new version first and write to that; released versions aren't editable.
Loci uses this API: it lists your achievements, leaderboards, leaderboard sets, challenges and activities, translates their text into the languages you pick, and pushes it back, creating a new version when an item is already live and copying the source language's image to new achievement and leaderboard languages.
Why the Apple Games app makes this more visible
Apple announced the Games app in June 2025 and shipped it with iOS 26, iPadOS 26 and macOS Tahoe 26 (Apple Newsroom). It surfaces Game Center metadata that used to sit inside a rarely opened overlay:
- Completed achievements show their localized image, display name and earned description, and players compare achievements with friends.
- Leaderboards show their localized display name and description at the top, and friends' score updates appear on the Home and Play Together tabs.
- Challenges and activities show their localized image, display name and description on cards.
The WWDC25 session Get started with Game Center is direct about it: Game Center "automatically detects my player's locale and displays information in their native language," so each language your game supports needs its own names, descriptions and images. The same session introduced GameKit bundles in Xcode 26, which let you edit Game Center items and their localizations in your project and push them to App Store Connect. That's a good fit if you'd rather keep Game Center text in version control.
Translating short game copy
Achievement text is a few words with no context, which is exactly where machine translation and rushed human translation both fail. What works for us:
Use the game's own terminology. If the in-game shop says "Gems" in English and "Edelsteine" in German, the achievement can't say "Juwelen". Export the terms from your String Catalog (Localizable.xcstrings) or your translator's glossary before translating achievements, and give it to whoever (or whatever) translates. Level names, character names, items and currencies must match what the player sees in the game.
Don't translate puns literally. "Shell Shocked" for a turtle level, "Hole in One", "Bee-lieve It" all collapse in translation. Either let the translator write a local joke with the same meaning, or fall back to a plain name ("Turtle Rescue") in that language. A clear title beats a broken pun.
Keep spoilers out of hidden achievements. A Hidden achievement stays out of Game Center until the player earns it, but you still have to write both descriptions. Keep the pre-earned text vague ("Something stirs beneath the lighthouse"). Don't rely on the earned description staying secret either: in September 2025 a developer reported the macOS 26 Games app showing earned descriptions for locked achievements, and Apple asked for a bug report. If the earned text would spoil a twist, soften it.
Give the translator context. Send the pre-earned and earned descriptions together, plus the condition in plain English ("unlocked by finishing chapter 3 without dying"). One-line strings without context produce one-line mistakes.
Respect the two-line card. Check German, Finnish, Portuguese and Russian lengths against your English. If a translation wraps to three lines, shorten the English source rather than letting each language get cut differently.
A workflow that scales
- Finish the source language first. Every achievement and leaderboard has final English (or your main language) text, a leaderboard description, suffixes and images.
- Make images text-free where you can. Then one file serves every locale.
- Pick the Game Center languages. Usually the same set as your App Store listing, chosen on purpose (see the App Store localization guide).
- Build a glossary from your in-game strings and translate all items in one pass with it.
- Review for length, plurals and spoilers. Two lines per field, suffixes that work with your score values, nothing in a hidden achievement that gives away the ending.
- Add the localizations and images in App Store Connect, from Xcode, or through the API.
- Submit for review together. First time with an app version. After that, as one standalone Game Center submission with every changed item.
- Check on a device set to each locale, in the Games app and in your in-game Game Center UI, about a day after approval.
FAQ
Does every language need its own achievement image?
Yes. In App Store Connect the achievement image belongs to the localization, and Apple marks it as required. If the artwork has no text you can upload the same 1024×1024 PNG or JPEG to every language, but you still have to attach it to each one.
What are the character limits for Game Center achievement titles and descriptions?
Apple doesn't publish them, either in App Store Connect Help or in the App Store Connect API specification. The practical limit is Apple's design guidance: the achievement card shows at most two lines of title and two lines of description and truncates the rest.
Do I have to submit an app update to change a Game Center translation?
Not after the first time. Game Center components must go in with an app version the first time you add them, but later changes and new components can be submitted for review on their own. Editing a live localization creates a new version in Prepare for Submission that needs approval.
Are Game Center languages the same as my App Store listing languages?
No. Each achievement, leaderboard, challenge and activity has its own list of localizations, separate from your App Store product page. Adding German to your listing doesn't add German to your achievements.
Can I localize Game Center from Xcode instead of App Store Connect?
Yes, since Xcode 26. A GameKit bundle in your project holds achievements, leaderboards, challenges and activities with their localizations, and you can pull from and push to App Store Connect. Review submission still happens in App Store Connect.
Keep reading
App Store localization: a practical guide for indie developers
App Store localization covers your name, subtitle, keywords, screenshots and more in up to 50 languages. What to localize, in what order, and what to avoid.
App Store Connect languages: all 50, with locale codes
App Store Connect languages: all 50 metadata localizations with API locale codes (en-US, zh-Hans, pt-BR), the 11 added in 2026, and where each shows.
How to translate your App Store description: tools compared
The best way to translate App Store description copy: an LLM briefed on your app, a tool-based length check, then a native speaker on your top markets.