translate-site
Installation
SKILL.md
Translate a Multilingual Site with AI
Two translation systems can run on the same site, and this skill covers both:
| Part | What it holds | Section |
|---|---|---|
Rosey locale JSON (rosey/locales/{code}.json) |
Shared UI and any page text tagged with data-rosey — nav, footer, headings, buttons, breadcrumbs, and (for non-split pages) whole page bodies |
Part 1 |
Content collection files (blog_fr/, content_fr/ …) |
Per-locale body content + frontmatter (title, description, alt text, page-builder text) that the SSG renders natively per locale | Part 2 |
Most Rosey sites only need Part 1. Only reach for Part 2 if the project actually has per-locale content directories: split-by-directory (the make-site-multilingual skill, Phase 8), or Hugo languages (its Hugo setups A and B). On a Rosey site, a split-by-directory page needs both: its body comes from a content collection file (Part 2), its shared UI from the locale JSON (Part 1). A Hugo site without Rosey (setup A) needs only Part 2.
This skill is written for AI coding agents, but the process works with any AI tool that reads and writes JSON.
When to use
- Locale files have untranslated entries (
valuestill equalsoriginal, and the entry wasn't deliberately kept) - A source string changed and its translations are now stale
- A new locale needs bulk-translating from scratch
- Per-locale content directories (
blog_fr/,blog_de/) need their bodies and frontmatter translated