Agentgids: champollion gebruiken
champollion is een CLI-tool die de localisatiebestanden van uw applicatie vertaalt met één opdracht. Deze gids is bedoeld voor AI-agents (of ontwikkelaars die met AI-agents werken) die snel van nul naar vertaalde localisatiebestanden willen gaan.
:::tip Al bekend? Als u alleen opdrachten nodig hebt, ga dan naar de CLI-referentie. Als u een vertaalmethode wilt bouwen en benchmarken, zie dan de Arena Agent Guide. :::
Omgevingsinstellingen
# No global install needed — npx runs it directly
npx champollion sync
Vereisten:
- Node.js 18+
- Een API-sleutel voor uw vertaalprovider
API-sleutelinstellingen — champollion heeft minimaal één sleutel nodig, afhankelijk van welke methoden u gebruikt:
# Option 1: export (session only)
export OPENROUTER_API_KEY="sk-or-..." # for llm / llm-coached methods
export GOOGLE_TRANSLATE_API_KEY="AIza..." # for google-translate method
# Option 2: .env file in your project root (persistent, gitignored)
echo 'OPENROUTER_API_KEY=sk-or-...' > .env
Champollion leest .env automatisch. Verkrijg een OpenRouter-sleutel via openrouter.ai/keys.
Eerste synchronisatie
Champollion detecteert automatisch uw localisatiebestanden, hun indeling (JSON, TOML, YAML, PO) en uw doeltalen:
npx champollion sync
Wat er gebeurt:
- Laadt
champollion.config.json(of detecteert instellingen automatisch) - Scant uw bronlocalisatiebestand en maakt geneste sleutels plat
- Vergelijkt met
.champollion.lock(SHA-256-hashes van eerder vertaalde waarden) - Controleert
.champollion/tm.jsonop gecachede vertalingen (vertaalgeheugen) - Vertaalt alleen gewijzigde, ontbrekende of verouderde sleutels via de geconfigureerde methode
- Voert de kwaliteitscontrole (5 controles) uit op elke vertaling
- Schrijft geslaagde vertalingen naar het doellocalisatiebestand
- Werkt het vergrendelingsbestand en de TM-cache bij
Bij een typische heruitvoering na het wijzigen van één sleutel levert stap 4 142 sleutels uit de cache en vertaalt stap 5 slechts 1 sleutel. Dit is waarom opeenvolgende synchronisaties snel en goedkoop zijn.
Configuratie
Maak champollion.config.json aan in de hoofdmap van uw project:
{
"inputLocale": "en",
"pairs": {
"en-fr": { "method": "llm-coached" },
"en-ja": { "method": "google-translate" },
"en-crk": { "method": "api", "endpoint": "http://localhost:3000/translate" }
}
}
Belangrijke velden:
| Veld | Doel | Standaard |
|---|---|---|
inputLocale | Brontaal | en |
pairs | Koppeling van bron→doel met methodeconfiguratie | (vereist) |
localesDir | Locatie van localisatiebestanden | (automatisch gedetecteerd) |
model | LLM-model voor llm/llm-coached-methoden | google/gemini-2.5-flash |
batchSize | Sleutels per API-aanroep | 80 (LLM), 128 (Google) |
jsonConcurrency | Parallelle localisatievertalingen voor JSON-sleutels | 200 |
contentConcurrency | Parallelle API-aanroepen voor inhoudsvertaling | 48 |
Volledige referentie: Configuratie
Vertaalmethoden
| Methode | Wanneer te gebruiken | Kosten | Benodigde API-sleutel |
|---|---|---|---|
llm | Algemeen gebruik, geschikt voor goed ondersteunde talen | Per token (modelafhankelijk) | OPENROUTER_API_KEY |
llm-coached | Wanneer u grammaticaregels/woordenboek voor de doeltaal hebt | Per token + coachingcontext | OPENROUTER_API_KEY |
google-translate | Talen met veel bronmateriaal waarbij GT goed werkt | $20/miljoen tekens | GOOGLE_TRANSLATE_API_KEY |
api | Aangepaste pipeline achter een HTTP-eindpunt | Serverbepaald | Geen (eindpunt verwerkt authenticatie) |
plugin | Vooraf verpakte methode die lokaal is geïnstalleerd | Varieert | Varieert |
Details: Vertaalmethoden
Coachinggegevens
Voor llm-coached-paren sturen coachinggegevens de LLM met expliciete taalkundige kennis. Maak een coachingbestand aan:
{
"grammar_rules": [
"Use formal register (vous) for all UI text",
"Adjectives agree in gender and number with the noun"
],
"dictionary": {
"dashboard": "tableau de bord",
"settings": "paramètres"
},
"style_notes": "Prefer active voice. Avoid anglicisms."
}
Verwijs ernaar in uw paarconfiguratie:
"en-fr": { "method": "llm-coached", "coachingFile": "coaching/fr.json" }
De kwaliteitscontrole verifieert dat woordenboektermen daadwerkelijk in de uitvoer voorkomen — overtredingen worden geregistreerd als [TERM]-waarschuwingen.
Details: Coachinggegevens
Kwaliteitscontrole
Elke vertaling doorloopt vijf geautomatiseerde controles voordat deze naar schijf wordt geschreven:
| Controle | Wat het detecteert | Voorbeeld |
|---|---|---|
| Leeg/blanco | Model heeft niets geretourneerd | "" |
| Bronherhaling | Model heeft de Engelse invoer ongewijzigd geretourneerd | "Welcome" voor Japans |
| Hallucinatielus | Herhaalde trigrammen | "Qo' Qo' Qo' Qo'" |
| Lengte-inflatie | Uitvoer is 4× of meer langer dan de bron | 10-teken bron → 50-teken uitvoer |
| Scriptconformiteit | Verkeerd schrift voor de taalinstelling | Latijnse tekst voor Arabische taalinstelling |
Fouten worden geregistreerd met het voorvoegsel [GATE]. Geen stille terugvalmechanismen — als een vertaling mislukt, wordt dit gerapporteerd en niet stilzwijgend geaccepteerd.
Details: Kwaliteitscontrole
Vertaalgeheugen
Champollion slaat vertalingen op in .champollion/tm.json, geïndexeerd op brontekst + taalinstelling + methode. Bij opeenvolgende synchronisaties worden ongewijzigde sleutels uit de cache geleverd — geen API-aanroep, geen kosten.
[TM] 142 key(s) served from cache
Translating 3 key(s) to French (llm)... [OK]
Om de cache voor één uitvoering te omzeilen: npx champollion sync --no-tm
Details: Vertaalgeheugen
Gegenereerde bestanden
Champollion maakt verschillende bestanden aan in uw project. Zorg dat u weet wat ze zijn, zodat u niet per ongeluk de verkeerde verwijdert of vastlegt:
| Bestand | Doel | Git? |
|---|---|---|
.champollion.lock | SHA-256-hashes van vertaalde bronwaarden (wijzigingsdetectie) | Ja — vastleggen |
.champollion-content.lock | Hetzelfde, maar voor Markdown/MDX-inhoudsbestanden | Ja — vastleggen |
.champollion/tm.json | Vertaalgeheugencache | Ja — vastleggen (bespaart API-kosten voor het team) |
.champollion/coaching/ | Map met coachinggegevens | Ja — dit is uw taalkundige kennis |
champollion.config.json | Projectconfiguratie | Ja — vastleggen |
Veelvoorkomende patronen
Één taalpaar vertalen:
npx champollion sync --pair en-fr
Alle geconfigureerde paren vertalen:
npx champollion sync
Champollion vertaalt alle taalinstellingen parallel. Met TM-caching bereiken alleen gewijzigde sleutels de API.
Inhoudsmodus (Markdown/MDX voor Docusaurus, Hugo, enz.):
npx champollion sync --content
Vertaalt documentatie, blogberichten en inhoudsbestanden naast locale JSON. Maakt gebruik van parallelle gelijktijdigheid (standaard: 48 gelijktijdige API-aanroepen). Afstemmen met --content-concurrency.
Droge uitvoering (voorbeeld zonder schrijven):
npx champollion sync --dry-run
Specifieke sleutels geforceerd opnieuw vertalen:
npx champollion sync --force-keys "hero.title,nav.about"
Alle inhoudsbestanden geforceerd opnieuw vertalen:
npx champollion sync --force-content
Vertaalstatus controleren:
npx champollion status
Toont dekking, kwaliteitsniveaus en plug-ininformatie voor elk paar.
Controleren op onvertaalde terugvalwaarden:
npx champollion audit
Geeft alle [EN]-terugvalwaarden weer die vertaling vereisen.
Probleemoplossing
| Probleem | Oplossing |
|---|---|
OPENROUTER_API_KEY not set | Exporteer de sleutel of voeg deze toe aan .env in de hoofdmap van uw project |
No locale files found | Stel localesDir in de configuratie in, of zorg dat uw localisatiebestanden overeenkomen met de standaardnaamgeving (en.json, fr.json) |
[GATE] Script compliance failed | Uw doeltaalinstelling heeft Latijnse tekst ontvangen in plaats van het verwachte schrift — probeer een ander model of voeg coachinggegevens toe |
[GATE] Source echo | Het model heeft het Engels ongewijzigd geretourneerd — coachinggegevens of een ander model lossen dit doorgaans op |
| Alle vertalingen gecached | Voer uit met --no-tm om de cache te omzeilen, of --force-keys voor specifieke sleutels |
| Conflicten in vergrendelingsbestand | .champollion.lock gebruikt SHA-256-hashes — samenvoegconflicten kunnen veilig worden opgelost door een van beide versies te behouden en vervolgens de synchronisatie opnieuw uit te voeren |
Volgende stappen
- Snelstart — volledige introductiehandleiding
- CLI-referentie — elke opdracht en vlag
- Hoe het werkt — de synchronisatiepipeline toegelicht
- De Eval Harness Bridge — hoe champollion verbinding maakt met de Arena
- Wilt u uw eigen vertaalmethode bouwen? Zie de Arena Agent Guide — bouw een methode, bewijs dat het werkt, win prijzen.