agentsclimarketplace

Managing app localizations

Skill ofcskn/mobile-automation-plugin/skills/managing-app-localizations

Manages i18n translation files and store metadata localization across iOS, Android, and Google Play. Use when the user says "add a language", "fix missing translations", "translate strings", "audit i18n", "missing locale keys", or any task involving language support. Source of truth for translation keys is .msd/locales/{app-id}/en.json.From its SKILL.md

Install
npx -y skills add ofcskn/mobile-automation-plugin --skill managing-app-localizations

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.3 KB, as published. Nobody here has run it

Managing App Localizations

When to use

RequestAction
"add a language"Add locale to config, create locale JSON, create metadata folders
"fix missing translations"Run validate-translations.js, fill missing keys
"audit all locales"Run validate-translations.js without a locale filter
"translate strings"Copy en.json, fill values, validate

File structure

.msd/locales/{app-id}/
├── en.json     ← Source of truth — all keys must be here
├── tr.json     ← All keys from en.json, values in Turkish
└── de.json     ← All keys from en.json, values in German

Steps — Add a new locale

  1. Confirm locale codes: skills/managing-app-localizations/references/locale-codes.md
  2. Copy source: cp .msd/locales/{appId}/en.json .msd/locales/{appId}/{i18next-code}.json
  3. Translate all values in the new file (never translate {{variable}} placeholders)
  4. Validate: node skills/managing-app-localizations/scripts/validate-translations.js {appId}
  5. Create metadata folders:
    • mkdir -p .msd/metadata/{appId}/ios/{ios-locale}
    • mkdir -p .msd/metadata/{appId}/android/{play-locale}
  6. Copy metadata from en-US/ and translate each .txt file
  7. Validate metadata: node skills/managing-store-metadata/scripts/validate-metadata.js {appId}
  8. Add locale to .msd/config/{appId}.config.json → locales[] array
  9. For RTL locales (ar, he, fa, ur): note that I18nManager.forceRTL(true) is required in app startup

Rules

  • Never translate {{variable}} or ${variable} placeholders in translation strings
  • Batch max 50 keys per AI translation call for quality control
  • Avoid machine-only translation for Turkish, Arabic, Japanese — quality suffers
  • Provide app glossary/context to translators for brand terms
  • validate-translations.js exits 1 if any source key is missing in any locale

Reference

Load on demand: skills/managing-app-localizations/references/locale-codes.md

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.