Automatically translates App Store Connect metadata using AI translation.
- Install dependencies:
bundle install - Copy
.env.exampleto.envand configure:OPENROUTER_API_KEY- Your OpenRouter API keyAPP_STORE_KEY_ID- App Store Connect API Key IDAPP_STORE_ISSUER_ID- App Store Connect Issuer IDAPP_STORE_PRIVATE_KEY- Your .p8 private key content
IMPORTANT: before you can automatically update the metadata for other localizations they need to be selected and saved (with your default language values) from App Store Connect.
IMPORTANT: App name and sub-title cannot be updated automatically and need to be copied-and-pasted from the script output
ruby translator.rb [options] <APP_ID>-f, --force- Force retranslation of all languages-w, --whats-new- Update only What's New field from pending release-a, --auto-detect- Auto-detect available localizations from App Store-l, --languages LANGS- Comma-separated list of languages (e.g., 'German,French' or 'de-DE,fr-FR')-h, --help- Show help message
# Auto-detect existing languages and translate
ruby translator.rb 6747396799 --auto-detect
# Translate specific languages
ruby translator.rb 6747396799 --languages German,French,Korean
# Update only What's New for detected languages
ruby translator.rb 6747396799 --whats-new --auto-detect
# Force retranslation of all content
ruby translator.rb 6747396799 --force --auto-detectGerman, French, Spanish, Japanese, Chinese Simplified, Italian, Dutch
- App name/subtitle translations may require manual entry in App Store Connect
- Version-specific content (description, keywords, etc.) updates automatically via API
- Manual translations are saved to timestamped
.txtfiles when needed