← ClaudeAtlas

translate-add-localelisted

Scaffold a brand-new interface LANGUAGE (locale) end-to-end in a codebase so the build goes green with source-language placeholders, then hand off to /translate for the real translation. Wires the locale into the type/registry (locale list, HTML lang, OG locale), clones the message catalog to a new <locale> file, mirrors any per-context copy files and content-tree pages as placeholders, adds the metadata (native name, flag, number format), the routes, the build config (locales + sitemap), and the language switcher. Use when the user wants to add a new UI language ("add German", "add pt-BR", "implement a new locale", "add a WordPress language"). NOT for translating existing copy (that is /translate) and NOT for adding a data/content entity. The argument is the language/locale code, not a country code — Greek is `el` (not `gr`), Czech is `cs` (not `cz`).
roshaw/claude-translation-agency · ★ 2 · AI & Automation · score 73
Install: claude install-skill roshaw/claude-translation-agency
# translate-add-locale A thin orchestrator for adding **one interface language** to a codebase. The mechanical scaffolding is delegated to the general-purpose Agent; this skill resolves the locale metadata, sanity-checks it isn't a country code, hands off a clean brief, then points at `/translate` for the real work. > **"Scaffolded" ≠ "done."** The scaffold makes the build go green and the UI render in the new > locale, but every string is still a source-language **placeholder**. The locale is **not done** > until `/translate --full --to <locale>` fills it and the completeness gate confirms zero > leftovers. The scaffold step reports `🟡 SCAFFOLDED — NOT DONE` until then. ## What this skill does NOT do - **Translate.** It clones the source language into the new locale's files as placeholders. Real translation + terminology audit is `/translate`'s job, run right after (Step 4 hand-off). Do not hand-translate here and do not spawn the translator panel inline. - **Add a data/content entity** (a new product, country, article). A new *language* is not a new *entity*. - **Change source facts, numbers, or references.** - **Commit or push.** Stop on the working branch and let the human commit. ## Language code vs country code (read first) The argument is the **language/locale code**, never a country code. They diverge often: Greek is `el` (not `gr`), Czech `cs` (not `cz`), Ukrainian `uk` (not `ua`). Regional variants use BCP-47 / WP form as the project already uses them (