Skip to main content

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 update

Update localization metadata. Examples:
asc localizations update --localization-id "LOCALIZATION_ID" --description "New description"
asc localizations update --localization-id "LOCALIZATION_ID" --keywords "new,keywords"

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

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)
  • 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