
Localize Content
Localize and translate content into a target language and locale with cultural adaptation, not just word-for-word translation: it first scopes the target locale, glossary of do-not-translate and must-translate-consistently terms, formatting conventions (dates, currency, units), and tone register, then translates preserving meaning and structure, then a native-level review pass checks fluency, terminology consistency, and cultural fit. Covers translation, localization, i18n content, multilingual copy, translate to Spanish/French/German, and locale adaptation. Scoping the glossary and conventions before translating is the point: a small model that locks terminology and date/currency rules avoids inconsistent term translations and locale-wrong formatting that mark content as machine-translated.
Steps
Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.
- Localization scopeplannerentry
lock target locale, glossary, formatting rules, and register
Show working prompt
1) Confirm the target language AND locale (e.g. es-MX vs es-ES, pt-BR vs pt-PT) — they differ. 2) Build a glossary: terms that must NOT be translated (brand names, product names, code), and terms that must be translated CONSISTENTLY everywhere (with the chosen target term). 3) Specify formatting conventions for the locale: date format, number/decimal separators, currency symbol and placement, units, and quotation marks. 4) Set the tone register (formal vs informal 'you', e.g. usted vs tú; Sie vs du). 5) Note any content that should be adapted rather than literally translated (idioms, examples, cultural references). Write an acceptance-criteria checklist (e.g. 'do-not-translate terms left intact'; 'glossary terms translated consistently'; 'dates/currency/numbers in locale format'; 'register consistent'; 'structure preserved'; 'reads natively, not literally'). Use write_task_note for the locale brief + glossary + checklist, and write the same to the produces path. No translation yet.
- Translatecopywriter
translate to the locale, applying the glossary and conventions
Show working prompt
Translate the content into the target locale. 1) Preserve the original structure, headings, and formatting markup exactly. 2) Leave do-not-translate terms intact; translate glossary terms with their locked target equivalents everywhere. 3) Apply the locale's date, number, currency, unit, and quotation conventions. 4) Use the specified register consistently. 5) Adapt idioms and cultural references so they read naturally to a native reader rather than translating literally. 6) Do not add, drop, or reorder content. Output in the same format as the source. Save to the produces path and note any term decisions or adaptations made.
- Native reviewreviewer
check fluency, terminology consistency, and locale fit
Show working prompt
Review the translation as a native speaker of the target locale, editing in place. 1) Read for fluency: does it sound natural, or like translated-from-English? Fix awkward phrasings. 2) Verify glossary consistency: every glossary term uses its locked translation everywhere; do-not-translate terms are intact. 3) Confirm locale formatting: dates, numbers, currency, units, and quotes follow the convention. 4) Confirm register consistency (formal/informal). 5) Confirm meaning fidelity against the source — nothing added or lost. Fix issues directly. Save the polished translation to the produces path and note any criteria still unmet.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
Read localized.md against the source and the glossary. Check EACH criterion and write PASS/FAIL: (a) do-not-translate terms are intact; (b) glossary terms are translated consistently throughout (spot-check repeats); (c) dates, numbers, currency, and units use the locale format; (d) register (formal/informal) is consistent; (e) structure preserved and meaning faithful; (f) reads naturally to a native speaker, not literally. A translation with inconsistent terminology or wrong-locale formatting FAILS — loop back to translate. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "translate" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- translate this content
- localize for spanish
- i18n the copy
- localize content
- adapt for another locale
Source
View this craftbook on GitHub · MIT license