Naar hoofdinhoud gaan

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:

NiveauTalenMethodeWaarom
Niveau 1 — Premiumja, ko, zh, de, ptllm (GPT-4o)Hoogwaardige markten, genuanceerde grammatica
Niveau 2 — Standaardit, nl, pl, sv, da, fi, no, cs, ro, hu, el, tr, id, ms, th, vi, uk, bggoogle-translateGroot volume, goed ondersteund door Google
Niveau 3 — Begeleidcrk, oj, mi, hawllm-coached + pluginsWeinig bronmateriaal, vereisen terminologiehandhaving

Stap 2: Configureer Per Taalpaar

champollion.config.json
{
"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.

info

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:

.github/workflows/i18n-sync.yml
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:

NiveauTalenMethodeGeschatte kosten
Niveau 1 (5 talen)ja, ko, zh, de, ptGPT-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, hawGPT-4o-mini begeleid~$0,40/volledige synchronisatie
Totaal30 talenGemengd~$3,80/volledige synchronisatie

Incrementele synchronisaties (5–20 gewijzigde sleutels) kosten een fractie van een volledige synchronisatie.

Zie Ook