Kookboek: 30 Talen Vertalen
Schaal een project op van een handvol talen naar wereldwijde dekking. Dit kookboek behandelt methodeselectie, kostenoptimalisatie en CI-integratie voor een echte meertalige implementatie.
Scenario: U heeft een SaaS-applicatie met en, fr, es. U moet 27 extra talen toevoegen, verdeeld over drie niveaus van kwaliteitsvereisten.
Stap 1: Categoriseer Uw Talen
Niet alle 30 talen vereisen dezelfde aanpak. Groepeer ze op basis van de beschikbare methodekwaliteit:
| Niveau | Talen | Methode | Waarom |
|---|---|---|---|
| Niveau 1 — Premium | ja, ko, zh, de, pt | llm (GPT-4o) | Hoogwaardige markten, genuanceerde grammatica |
| Niveau 2 — Standaard | it, nl, pl, sv, da, fi, no, cs, ro, hu, el, tr, id, ms, th, vi, uk, bg | google-translate | Groot volume, goed ondersteund door Google |
| Niveau 3 — Begeleid | crk, oj, mi, haw | llm-coached + plugins | Weinig bronmateriaal, vereisen terminologiehandhaving |
Stap 2: Configureer Per Taalpaar
{
"version": 3,
"inputLocale": "en",
"localesDir": "./locales",
"defaultMethod": "google-translate",
"model": "google/gemini-3.5-flash",
"languages": {
"ja": { "name": "Japanese", "register": "Polite/formal" },
"ko": { "name": "Korean", "register": "Formal" },
"zh": { "name": "Simplified Chinese", "register": "Neutral" },
"de": { "name": "German", "register": "Formal (Sie)" },
"pt": { "name": "Brazilian Portuguese", "register": "Informal" },
"crk": { "name": "Plains Cree (SRO)", "register": "Neutral" }
},
"pairs": {
"en:ja": { "method": "llm", "model": "openai/gpt-4o" },
"en:ko": { "method": "llm", "model": "openai/gpt-4o" },
"en:zh": { "method": "llm", "model": "openai/gpt-4o" },
"en:de": { "method": "llm", "model": "openai/gpt-4o" },
"en:pt": { "method": "llm", "model": "openai/gpt-4o" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}
Opmerking: Talen die niet zijn opgenomen in pairs erven defaultMethod: "google-translate". U hoeft niet alle 30 talen op te sommen.
Ondersteuning voor crk is in ontwikkeling — zie Een taal met weinig bronmateriaal ondersteunen voor de status en bijdragerichtlijnen.
Stap 3: Stel API-sleutels In
Voor deze configuratie heeft u beide API-sleutels nodig:
export OPENROUTER_API_KEY="sk-or-v1-..."
export GOOGLE_TRANSLATE_API_KEY="AIza..."
Stap 4: Voer Eerst een Proefrun Uit
Bekijk altijd een voorbeeld voordat u 30 talen vertaalt:
npx champollion sync --dry
Bekijk de uitvoer. Deze toont:
- Welke taalparen welke methode gebruiken
- Hoeveel sleutels nieuw of gewijzigd zijn per taal
- Geschatte API-aanroepen per niveau
Stap 5: Voer de Synchronisatie Uit
npx champollion sync
Champollion verwerkt elk taalpaar afzonderlijk. De Niveau 2-paren die Google Translate gebruiken, verlopen snel. Niveau 1 LLM-paren zijn trager maar van hogere kwaliteit. Niveau 3 begeleide paren maken gebruik van de coachinggegevens van de plugin.
Incrementele Updates
Na de initiële synchronisatie worden bij volgende uitvoeringen uitsluitend gewijzigde of nieuwe sleutels vertaald:
# Only keys that changed since last sync
npx champollion sync
Het vergrendelingsbestand (.champollion.lock) houdt bij wat er al vertaald is, zodat stabiele inhoud nooit opnieuw wordt vertaald.
Stap 6: Controleer de Kwaliteit
Controleer de status van alle taalparen:
npx champollion status
Dit geeft een tabel weer met de methode, het model, het kwaliteitsniveau en de beschikbaarheid van coachinggegevens of benchmarkscores voor elk taalpaar.
Respecteert de uitvoer uw registers?
In Stap 2 heeft u per taal een register opgegeven — "Polite/formal" voor Japans, "Formal (Sie)" voor Duits. (Niet bekend met de term? De woordenlijst legt het in begrijpelijke taal uit.) Deze instructies worden opgenomen in de vertaalprompt, maar een prompt is een verzoek, geen garantie.
Het MT Eval Arena-testframework — hetzelfde hulpmiddel dat de publieke ranglijst aandrijft — kan de naleving van register en stijl meten op een steekproef van uw vertalingen. De schrijfstijlmaatstaven toetsen elke uitvoer aan het verwachte register (formele/informele markers, T–V-voornaamwoorden, samentrekkingen, afwijking in zinslengte) en rapporteren een style_consistency_rate over de gehele uitvoering. U kunt het ook koppelen aan een aangepast merkstemprofiel met --style-profile.
# install the harness, then run your sample corpus through it
curl -fsSL champollion.dev/harness | bash
mt-eval run --corpus my-sample.json --style-profile brand-voice.json
Twee eerlijke kanttekeningen: deze maatstaven zijn informatief (ze worden nooit opgenomen in de samengestelde score van de ranglijst), en de formaliteitsdetectie is markergebaseerd — een afwijkingsdetector, geen menselijk oordeel. Details en definities van de maatstaven: Schrijfstijl- en registermaatstaven.
Stap 7: CI-integratie
Voeg het volgende toe aan uw GitHub Actions-workflow zodat vertalingen bij elke push actueel blijven:
name: Sync Translations
on:
push:
paths:
- 'locales/en/**'
jobs:
translate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- name: Sync translations
run: npx champollion sync
env:
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
GOOGLE_TRANSLATE_API_KEY: ${{ secrets.GOOGLE_TRANSLATE_API_KEY }}
- name: Commit updated translations
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add locales/
git diff --staged --quiet || git commit -m "chore(i18n): sync translations"
git push
Kostenraming
Voor een project met 500 bronsleutels verdeeld over 30 talen:
| Niveau | Talen | Methode | Geschatte kosten |
|---|---|---|---|
| Niveau 1 (5 talen) | ja, ko, zh, de, pt | GPT-4o | ~$2,50/volledige synchronisatie |
| Niveau 2 (18 talen) | it, nl, pl, etc. | Google Translate | ~$0,90/volledige synchronisatie |
| Niveau 3 (4 talen) | crk, oj, mi, haw | GPT-4o-mini begeleid | ~$0,40/volledige synchronisatie |
| Totaal | 30 talen | Gemengd | ~$3,80/volledige synchronisatie |
Incrementele synchronisaties (5–20 gewijzigde sleutels) kosten een fractie van een volledige synchronisatie.
Zie Ook
- Vertaalmethoden — Hoe elke vertaalmethode werkt en wanneer u deze gebruikt
- Pluginspecificatie — Maak coachinggegevens aan voor elk van uw Niveau 3-talen
- CI/CD-handleiding — Geavanceerde CI-patronen, inclusief PR-voorbeeldbuilds
- Kwaliteitspoort — Hoe Champollion elke vertaling valideert voordat deze wordt opgeslagen
- Ondersteunde talen — Volledige lijst van taalcodes en methodeverenigbaarheid
- Schrijfstijl- en registermaatstaven — Meet de naleving van register en stijl met het evaluatieframework (informatieve maatstaven)
- Woordenlijst: register — Wat "register" betekent, in begrijpelijke taal
- Een taal met weinig bronmateriaal ondersteunen — Voeg coachinggegevens toe voor talen zonder brede MT-dekking