Skip to main content

Localization Commands

Manage App Store localization metadata

Overview

Localization commands manage App Store metadata for different languages and regions, including descriptions, keywords, screenshots, and previews.

Commands

asc localizations list

List localization metadata for an app or version.
--version
string
App Store version ID (required for version localizations)
--app
string
App Store Connect app ID (or ASC_APP_ID env, required for app-info localizations)
--app-info
string
App Info ID (optional override)
--type
string
default:"version"
Localization type: version (default) or app-info
--locale
string
Filter by locale(s), comma-separated (e.g., en-US,ja)
--limit
integer
Maximum results per page (1-200)
--next
string
Fetch next page using a links.next URL
--paginate
boolean
default:"false"
Automatically fetch all pages (aggregate results)
Examples:
asc localizations list --version "VERSION_ID"
asc localizations list --app "APP_ID" --type app-info
asc localizations list --version "VERSION_ID" --locale "en-US,ja"
asc localizations list --version "VERSION_ID" --paginate
Response:
{
  "data": [
    {
      "id": "LOCALIZATION_ID",
      "type": "appStoreVersionLocalizations",
      "attributes": {
        "locale": "en-US",
        "description": "My app description",
        "keywords": "productivity, tools",
        "supportUrl": "https://example.com/support",
        "marketingUrl": "https://example.com",
        "promotionalText": "Try our new features!",
        "whatsNew": "Bug fixes and improvements"
      }
    }
  ]
}

asc localizations download

Download localizations to .strings files.
--version
string
App Store version ID (required for version localizations)
--app
string
App Store Connect app ID (required for app-info localizations)
--app-info
string
App Info ID (optional override)
--type
string
default:"version"
Localization type: version (default) or app-info
--locale
string
Filter by locale(s), comma-separated
--path
string
default:"localizations"
Output path (directory or .strings file)
--paginate
boolean
default:"false"
Automatically fetch all pages
Examples:
asc localizations download --version "VERSION_ID" --path "./localizations"
asc localizations download --app "APP_ID" --type app-info --path "./localizations"
asc localizations download --version "VERSION_ID" --locale "en-US" --path "en-US.strings"
asc localizations download --version "VERSION_ID" --paginate --path "./localizations"
Response:
{
  "type": "version",
  "versionId": "VERSION_ID",
  "outputPath": "./localizations",
  "files": [
    "./localizations/en-US.strings",
    "./localizations/ja.strings"
  ]
}

asc localizations upload

Upload localizations from .strings files.
--version
string
App Store version ID (required for version localizations)
--app
string
App Store Connect app ID (required for app-info localizations)
--app-info
string
App Info ID (optional override)
--type
string
default:"version"
Localization type: version (default) or app-info
--locale
string
Filter by locale(s), comma-separated
--path
string
required
Input path (directory or .strings file)
--dry-run
boolean
default:"false"
Validate file without uploading
Examples:
asc localizations upload --version "VERSION_ID" --path "./localizations"
asc localizations upload --app "APP_ID" --type app-info --path "./localizations"
asc localizations upload --version "VERSION_ID" --locale "en-US" --path "en-US.strings"
asc localizations upload --version "VERSION_ID" --path "./localizations" --dry-run
Response:
{
  "type": "version",
  "versionId": "VERSION_ID",
  "dryRun": false,
  "results": [
    {
      "locale": "en-US",
      "status": "updated",
      "fieldsUpdated": ["description", "whatsNew"]
    },
    {
      "locale": "ja",
      "status": "created"
    }
  ]
}

asc localizations supported-locales

List the shared App Store localization catalog for a version and show which locales are already configured.
--version
string
required
App Store version ID to inspect against the shared CLI locale catalog
Use this command when you need the canonical locale codes accepted by ASC for a version workflow, such as ar-SA, de-DE, zh-Hans, and zh-Hant. Examples:
asc localizations supported-locales --version "VERSION_ID"
asc localizations supported-locales --version "VERSION_ID" --output json --pretty

asc localizations create

Create a new version localization.
--version
string
required
App Store version ID to create the localization under
--locale
string
required
Canonical App Store Connect locale code to create
Use canonical App Store Connect locale identifiers for --locale. Common accepted forms include en-US, es-MX, de-DE, ja, ar-SA, zh-Hans, and zh-Hant. Run asc localizations supported-locales --version "VERSION_ID" to inspect the shared CLI locale catalog for that version before creating a new locale. Common failures:
  • Use ar-SA instead of ar
  • Use de-DE instead of de
  • Use zh-Hans / zh-Hant instead of zh-Hans-CN / zh-Hant-TW
Examples:
asc localizations create --version "VERSION_ID" --locale "ja"
asc localizations create --version "VERSION_ID" --locale "ar-SA" --description "Arabic app" --keywords "arabic,productivity"
asc localizations create --version "VERSION_ID" --locale "zh-Hans" --description "Simplified Chinese app" --keywords "simplified,chinese"

asc localizations update

Update localization metadata.
--version
string
App Store version ID for version localizations
--app
string
App Store Connect app ID (or ASC_APP_ID) for app-info localizations
--app-info
string
App Info ID (optional override for app-info localizations)
--type
string
default:"version"
Localization type: version (default) or app-info
--locale
string
required
Exact App Store Connect locale value to update
Use the exact App Store Connect locale already present on the app or version when you pass --locale. If update fails with a locale mismatch, run asc localizations list and reuse the locale value returned by ASC. For version workflows, run asc localizations supported-locales --version "VERSION_ID" to inspect the shared CLI catalog, and asc localizations list --version "VERSION_ID" to see locales already configured on the version. For app-info workflows, use asc localizations list --app "APP_ID" --type app-info to inspect the configured locale values before updating. Common accepted forms include en-US, de-DE, ja, ar-SA, zh-Hans, and zh-Hant. Common failures:
  • ar is usually stored as ar-SA
  • de is usually stored as de-DE
  • zh-Hans-CN / zh-Hant-TW are usually stored as zh-Hans / zh-Hant
Examples:
asc localizations update --version "VERSION_ID" --locale "en-US" --description "New description"
asc localizations update --version "VERSION_ID" --locale "en-US" --keywords "new,keywords"
asc localizations update --app "APP_ID" --type app-info --locale "ar-SA" --subtitle "Arabic subtitle"

Common Usage Patterns

Download all localizations for a version

asc localizations download --version "VERSION_ID" --paginate --path "./localizations"

Update a specific locale

asc localizations upload --version "VERSION_ID" --locale "en-US" --path "en-US.strings"

List all localizations for an app

asc localizations list --app "APP_ID" --type app-info --paginate

Dry-run upload to validate

asc localizations upload --version "VERSION_ID" --path "./localizations" --dry-run

.strings File Format

The .strings file format is a simple key-value format:
"description" = "My app description";
"keywords" = "productivity, tools, utilities";
"supportUrl" = "https://example.com/support";
"marketingUrl" = "https://example.com";
"promotionalText" = "Try our new features!";
"whatsNew" = "Bug fixes and performance improvements";

Supported Locales

For the authoritative CLI catalog on a specific version, run asc localizations supported-locales --version "VERSION_ID". Use canonical App Store Connect locale identifiers when possible. For example, prefer ar-SA over ar, and zh-Hans / zh-Hant over regional variants like zh-Hans-CN / zh-Hant-TW. Common locales include:
  • en-US - English (United States)
  • en-GB - English (United Kingdom)
  • ja - Japanese
  • de-DE - German (Germany)
  • fr-FR - French (France)
  • es-ES - Spanish (Spain)
  • es-MX - Spanish (Mexico)
  • ar-SA - Arabic
  • zh-Hans - Chinese (Simplified)
  • zh-Hant - Chinese (Traditional)
  • ko - Korean
  • pt-BR - Portuguese (Brazil)

Localization Types

Version Localizations

Metadata specific to an app version:
  • What’s New text
  • Description (if not using app-info)
  • Keywords (if not using app-info)
  • Support URL (if not using app-info)
  • Marketing URL
  • Promotional text
  • Screenshots
  • App previews

App Info Localizations

Metadata shared across all versions:
  • App description
  • Keywords
  • Support URL
  • Privacy policy URL
  • Subtitle