contentrain-translatelisted
Install: claude install-skill Contentrain/ai
# Skill: Translate Content to a New Locale
> Translate existing content entries to a target locale, following i18n quality rules.
---
## When to Use
The user wants to translate content, add a new language, or says something like "translate to Turkish", "add German locale", "create French translations", "fill in missing translations", "localize".
---
## Steps
### 1. Check Project State
Call `contentrain_status` to understand:
- Supported locales (from `config.json` → `locales.supported`).
- Source locale (from `config.json` → `locales.source`).
- Available models and their i18n status.
- Any pending changes or validation errors.
### 2. Determine Target Locale
If the user specified a locale, use it. Otherwise:
- Ask which locale to translate to.
- If the target locale is not in `locales.supported`, inform the user it needs to be added to the configuration first.
### 3. Select Models to Translate
Identify which models need translation:
- List all models with `i18n: true`.
- For each model, call `contentrain_content_list(model: "<modelId>", locale: "<sourceLocale>")` to get the source content.
- Check which models already have entries in the target locale by calling `contentrain_content_list(model: "<modelId>", locale: "<targetLocale>")`.
- Report the translation gap: how many entries exist in the source locale but not the target.
Ask the user which models to translate, or offer to translate all models with missing entries.
### 4. Load Vocabulary
Read `.contentr