Vertaalmethoden
Rosetta ondersteunt tien vertaalmethoden. Elk talenpaar kan een andere methode gebruiken — u bent niet gebonden aan één aanpak voor uw hele project.
Vergelijking van methoden
LLM-providers
Kwaliteitsgericht, Markdown-bewust, compatibel met coaching. Het beste voor projecten met veel content.
| Methode | Sleutel | Wat het doet |
|---|---|---|
llm (standaard) | OPENROUTER_API_KEY | LLM via OpenRouter — 200+ modellen, automatische routering |
llm-coached | OPENROUTER_API_KEY | LLM + grammaticaregels, woordenboeken, stijlaantekeningen |
openai | OPENAI_API_KEY | Directe OpenAI API (gpt-4o, gpt-4o-mini) |
anthropic | ANTHROPIC_API_KEY | Directe Anthropic API (Claude Sonnet, Haiku, Opus) |
gemini | GEMINI_API_KEY | Directe Google Gemini API (Flash, Pro) — gratis niveau |
Traditionele MT
Gericht op snelheid en kosten. Het beste voor grote volumes aan sleutel-waardeparen.
| Methode | Sleutel | Wat het doet |
|---|---|---|
google-translate | GOOGLE_TRANSLATE_API_KEY | Google Cloud Translation API v2 (130+ talen) |
deepl | DEEPL_API_KEY | DeepL API met ondersteuning voor woordenlijsten (30+ talen) |
microsoft-translator | MICROSOFT_TRANSLATOR_API_KEY | Azure Cognitive Services Translator (100+ talen) |
libretranslate | (zelf-gehost) | Zelf-gehoste LibreTranslate (AGPL, gratis) |
Infrastructuur
| Methode | Sleutel | Wat het doet |
|---|---|---|
api | (per provider) | Thin HTTP-client voor elk REST-vertaaleindpunt |
Beslissingsboom
llm — LLM-vertaling (Standaard)
Vertaalt via elke LLM op OpenRouter. Dit is de standaardmethode en de meest veelzijdige.
Hoe het werkt:
- Bundelt sleutels (standaard 80/batch) met register- en contextinstructies
- Verzendt naar OpenRouter als een gestructureerde prompt
- Ontleedt de JSON-respons
- Valideert elke vertaling via de kwaliteitspoort
- Schrijft goedgekeurde vertalingen weg, probeert mislukkingen opnieuw of wijst ze af
Wanneer te gebruiken: De meeste projecten. Vooral sites met veel content en Markdown, waar codeblokken en shortcodes afgeschermd moeten worden.
Configuratie:
{
"defaultMethod": "llm",
"model": "google/gemini-3.5-flash"
}
llm-coached — Gecoachte LLM-vertaling
Hetzelfde als llm, maar met grammaticaregels, terminologiewoordenboeken en stijlaantekeningen geïnjecteerd in elke prompt.
Hoe het werkt:
- Laadt coachinggegevens uit
.rosetta/coaching/<locale>.jsonof decoaching/-directory van een plug-in - Injecteert grammaticaregels, woordenboektermen en stijlaantekeningen in de systeemprompt
- Woordenboektermen die overeenkomen met bronsleutels worden opgenomen als vereiste terminologie
- De vertaling verloopt zoals bij
llm, waarbij coachinggegevens precisie toevoegen
Wanneer te gebruiken: Talen met weinig bronnen (low-resource languages), domeinspecifieke terminologie (juridisch, medisch), formele registers, of elk geval waarin de generieke LLM-uitvoer niet precies genoeg is.
Formaat van coachinggegevens:
{
"grammar_rules": [
"French adjectives agree in gender and number with the noun they modify",
"Use 'vous' for formal contexts, 'tu' for informal"
],
"dictionary": {
"dashboard": "tableau de bord",
"deployment": "déploiement",
"settings": "paramètres"
},
"style_notes": "Prefer active voice. Avoid anglicisms where a native French term exists."
}
Zie ook: Gids voor talen met weinig bronnen
openai — Directe OpenAI API
Vertaalt direct via de OpenAI Chat Completions API. Geen OpenRouter-tussenpersoon — uw sleutel, uw account, uw gebruiksdashboard.
Modellen: gpt-4o (standaard), gpt-4o-mini
Functies:
- ✅ Markdown-bewust (contentvertaling)
- ✅ Ondersteuning voor coaching (grammaticaregels, woordenboekoverschrijvingen, stijlaantekeningen)
- ✅ JSON-modus voor gestructureerde sleutel-waarde-uitvoer
- ✅ Exponentiële backoff met nieuwe pogingen
Configuratie:
{
"pairs": {
"en:fr": { "method": "openai", "model": "gpt-4o-mini" }
}
}
export OPENAI_API_KEY=sk-proj-...
Haal uw sleutel op via platform.openai.com/api-keys.
anthropic — Directe Anthropic API
Vertaalt direct via de Anthropic Messages API. Gebruikt de system-parameter voor coachinggegevens, wat prompt caching van Anthropic mogelijk maakt.
Modellen: claude-sonnet-4-6 (standaard), claude-haiku-4-5, claude-opus-4-7
Functies:
- ✅ Markdown-bewust (contentvertaling)
- ✅ Ondersteuning voor coaching (grammaticaregels, woordenboekoverschrijvingen, stijlaantekeningen)
- ✅ Systeemprompt-caching (spreidt de kosten van coaching over batches)
- ✅ Exponentiële backoff met nieuwe pogingen
Configuratie:
{
"pairs": {
"en:ja": { "method": "anthropic", "model": "claude-haiku-4-5" }
}
}
export ANTHROPIC_API_KEY=sk-ant-...
Haal uw sleutel op via console.anthropic.com.
gemini — Directe Google Gemini API
Vertaalt direct via de Google Gemini generateContent API. Gratis niveau beschikbaar — het beste startpunt zonder kosten.
Modellen: gemini-2.5-flash (standaard), gemini-2.5-pro
Functies:
- ✅ Markdown-bewust (contentvertaling)
- ✅ Ondersteuning voor coaching (grammaticaregels, woordenboekoverschrijvingen, stijlaantekeningen)
- ✅ JSON-responsmodus via
responseMimeType - ✅ Gratis niveau (royaal dagelijks quotum)
- ✅ Exponentiële backoff met nieuwe pogingen
Configuratie:
{
"pairs": {
"en:ko": { "method": "gemini", "model": "gemini-2.5-pro" }
}
}
export GEMINI_API_KEY=AI...
Haal uw sleutel op via aistudio.google.com/apikey.
Modelvalidatie
De directe LLM-providers (openai, anthropic, gemini) valideren uw modelstring bij het eerste gebruik. Dit ondervangt drie categorieën van fouten:
Verkeerd methodeformaat — Het gebruik van een modelpad in OpenRouter-stijl bij een directe provider:
[WARN] OpenAI: model "google/gemini-3.5-flash" looks like an OpenRouter path.
Direct providers use bare model names (e.g., "gpt-4o").
To use OpenRouter models, set method to 'llm' instead.
Verkeerde provider — Het gebruik van een model van een compleet andere provider:
[WARN] Gemini: model "claude-sonnet-4-6" is an Anthropic model.
This provider (gemini) cannot serve Anthropic models.
Use --method anthropic or set "method": "anthropic" in config.
Verouderd of verkeerd gespeld model — Bij de eerste API-aanroep haalt rosetta de live modellenlijst van de provider op en controleert uw model hiertegen:
[WARN] Gemini: model "gemini-1.5-flash" not found in available models.
Similar models: gemini-2.0-flash, gemini-2.5-flash, gemini-2.5-pro
The API call will proceed — the provider will give the final verdict.
:::note Dit zijn waarschuwingen, geen fouten Modelvalidatie registreert waarschuwingen, maar blokkeert de API-aanroep niet. De provider-API geeft het definitieve oordeel — een toekomstige modelnaam zou met een ander patroon kunnen overeenkomen, en we willen niet blokkeren op basis van heuristiek. :::
google-translate — Google Cloud Translation API
Directe integratie met Google Cloud Translation API v2. Gebruikt de REST API — geen SDK, geen serviceaccount. Alleen de API-sleutel.
Wanneer te gebruiken: Grote volumes aan sleutel-waarde-tekenreeksparen waarbij snelheid en kosten belangrijker zijn dan nuance. Ondersteunt standaard 130+ talen.
Beperkingen:
- ⚠️ Geen Markdown-bewustzijn. Zal codeblokken, shortcodes en interpolatievariabelen beschadigen.
- Geen controle over register/toon
- Geen coaching of handhaving van terminologie
npx i18n-rosetta sync --method google-translate
:::tip Automatische detectie
Als alleen GOOGLE_TRANSLATE_API_KEY is ingesteld (geen OpenRouter-sleutel), schakelt rosetta automatisch over naar Google Translate. Er is geen configuratiewijziging nodig.
:::
deepl — DeepL API
Directe integratie met de DeepL-vertaal-API. Ondersteunt woordenlijsten voor consistente terminologie.
Wanneer te gebruiken: Europese talen waarin DeepL uitblinkt (Duits, Frans, Spaans, Nederlands, Pools, enz.). Ondersteuning voor woordenlijsten dwingt consistente terminologie af zonder coachinggegevens.
Functies:
- ✅ Automatische detectie van gratis/pro-eindpunten (achtervoegsel
:fxbij gratis sleutels) - ✅ Aanmaken en beheren van woordenlijsten
- ✅ Controle over het formaliteitsniveau
- ⚠️ Geen Markdown-bewustzijn — alleen sleutel-waardeparen
Configuratie:
{
"pairs": {
"en:de": { "method": "deepl" }
}
}
export DEEPL_API_KEY=your-key-here
Haal uw sleutel op via deepl.com/pro-api.
microsoft-translator — Azure Cognitive Services
Directe integratie met Microsoft Translator Text API v3.
Wanneer te gebruiken: Enterprise-omgevingen met bestaande Azure-infrastructuur. Ondersteunt 100+ talen, waaronder veel talen die Google Translate niet dekt.
Functies:
- ✅ Tot 100 segmenten per verzoek (hoge doorvoer)
- ✅ Optionele regioparameter voor latentie-optimalisatie
- ⚠️ Geen Markdown-bewustzijn — alleen sleutel-waardeparen
- ⚠️ Geen contentvertaling — alleen sleutel-waardeparen
Configuratie:
{
"pairs": {
"en:ar": { "method": "microsoft-translator" }
}
}
export MICROSOFT_TRANSLATOR_API_KEY=your-key
export MICROSOFT_TRANSLATOR_REGION=global # optional
Haal uw sleutel op via de Azure Portal → Cognitive Services → Translator.
libretranslate — Zelf-gehoste vertaling
Zelf-gehoste open-source vertaling met behulp van LibreTranslate. Draait lokaal of op uw eigen infrastructuur — geen API-kosten, volledige datasoevereiniteit.
Wanneer te gebruiken: Projecten die offline vertaling, naleving van gegevensprivacy (AVG/GDPR) of een kosteloze werking vereisen. Vooral nuttig voor CI-pijplijnen die niet afhankelijk mogen zijn van externe API's.
Functies:
- ✅ Zelf-gehost — geen externe API-aanroepen
- ✅ Gratis en open source (AGPL-3.0)
- ✅ Docker-implementatie beschikbaar
- ⚠️ Geen Markdown-bewustzijn — alleen sleutel-waardeparen
- ⚠️ Geen contentvertaling — alleen sleutel-waardeparen
- ⚠️ Kwaliteit varieert per talenpaar
Installatie:
# Run LibreTranslate locally with Docker
docker run -d -p 5000:5000 libretranslate/libretranslate
# Configure (optional — defaults to localhost:5000)
export LIBRETRANSLATE_API_URL=http://localhost:5000/translate
{
"pairs": {
"en:es": { "method": "libretranslate" }
}
}
api — Remote Translation API
Een thin HTTP-client voor door de community gehoste of IP-beschermde vertaaleindpunten. Rosetta verstuurt sleutels en ontvangt vertalingen terug — het bevat zelf geen vertaallogica.
Wanneer te gebruiken: Wanneer vertaalmethoden server-side worden gehost (bijv. bedrijfseigen coachinggegevens, gefinetunede modellen, FST-pijplijnen die niet gedistribueerd kunnen worden).
{
"pairs": {
"en:crk": {
"method": "api",
"endpoint": "https://api.example.com/v1/translate",
"apiKey": "your-key"
}
}
}
:::note OCAP-compatibele communityvertaling
De api-methode is de brug naar OCAP-compatibele, door de community gehoste vertaling. Inheemse gemeenschappen en gemeenschappen met een minderheidstaal kunnen hun eigen vertaaleindpunten hosten — waardoor coachinggegevens, gefinetunede modellen en linguïstisch IP onder controle van de gemeenschap blijven — terwijl Rosetta hiermee verbinding maakt als een thin client.
Zie Een taal met weinig bronnen ondersteunen voor de volledige handleiding voor community-hosting, en Een methode aanbieden via API voor de vereisten van eindpunten. :::
Configuratie per talenpaar
De ware kracht ligt in het combineren van methoden per talenpaar:
{
"version": 3,
"pairs": {
"en:fr": { "method": "deepl" },
"en:ja": { "method": "openai", "model": "gpt-4o" },
"en:ko": { "method": "gemini" },
"en:ar": { "method": "microsoft-translator" },
"en:crk": { "methodPlugin": "crk-coached-v1" }
}
}
Dit vertaalt Frans via DeepL (ondersteuning voor woordenlijsten), Japans via OpenAI (kwaliteit), Koreaans via Gemini (gratis niveau), Arabisch via Microsoft Translator (dekking) en Plains Cree via een gecoachte plug-in (gespecialiseerd).
Plug-ins
Plug-ins zijn vooraf verpakte vertaalrecepten voor specifieke talenparen. Het zijn JSON-manifesten — geen code — die rosetta vertellen welke methode gebruikt moet worden, met welke instellingen, en welke kwaliteit er is gebenchmarkt.
:::tip Van eval harness naar productie in één commando
Plug-ins die zijn ontwikkeld en bewezen in de eval harness kunnen direct worden geïnstalleerd — de methode die u daar valideert, wordt hier geïmplementeerd met één enkel plugin install-commando. Zie MT-evaluatie voor de volledige evaluatieworkflow.
:::
i18n-rosetta plugin install ./french-formal-v1/
i18n-rosetta plugin list
i18n-rosetta plugin remove french-formal-v1
Zie de Plug-inspecificatie voor het volledige manifestformaat.
Wisselen van provider
Wisselt u tussen methoden? Het modelformaat en de omgevingsvariabele veranderen — hier is het overzicht:
OpenRouter → Directe provider
{
"pairs": {
"en:fr": {
- "method": "llm",
- "model": "openai/gpt-4o"
+ "method": "openai",
+ "model": "gpt-4o"
}
}
}
- export OPENROUTER_API_KEY=sk-or-v1-...
+ export OPENAI_API_KEY=sk-proj-...
Belangrijkste verschillen:
- OpenRouter gebruikt het
provider/model-formaat (bijv.openai/gpt-4o). Directe providers gebruiken kale modelnamen (bijv.gpt-4o). - Elke directe provider heeft zijn eigen omgevingsvariabele (
OPENAI_API_KEY,ANTHROPIC_API_KEY,GEMINI_API_KEY). - Als u het verkeerde modelformaat gebruikt, zal rosetta u waarschuwen — zie Modelvalidatie.
Directe provider → OpenRouter
{
"pairs": {
"en:ja": {
- "method": "anthropic",
- "model": "claude-sonnet-4-6"
+ "method": "llm",
+ "model": "anthropic/claude-sonnet-4-6"
}
}
}
:::tip Wanneer OpenRouter versus Direct te gebruiken Gebruik OpenRouter wanneer u tussen modellen wilt wisselen zonder omgevingsvariabelen te wijzigen, of wanneer u wilt toegang tot 200+ modellen via één enkele sleutel. Gebruik directe providers wanneer u eenvoudigere facturering, lagere latentie (geen tussenpersoon) of toegang tot provider-specifieke functies zoals de prompt caching van Anthropic wilt. :::
Kostenvergelijking
Geschatte kosten per 1.000 vertaalde sleutels (gaat uit van ~10 tokens per sleutel, 80 sleutels per batch):
| Methode | Kosten / 1K sleutels | Snelheid | Kwaliteit | Het beste voor |
|---|---|---|---|---|
gemini (Flash) | Gratis (binnen niveau) | Snel | Goed | Aan de slag gaan, persoonlijke projecten |
google-translate | ~$0,02 | Snelst | Voldoende | Grote volumes, Europese talen |
deepl | ~$0,02 | Snel | Goed | Europese talen, terminologie |
microsoft-translator | ~$0,01 | Snel | Voldoende | Azure-omgevingen, brede taaldekking |
libretranslate | Gratis (zelf-gehost) | Varieert | Redelijk | Air-gapped, AVG/GDPR, CI-pijplijnen |
gemini (Pro) | ~$0,07 | Gemiddeld | Zeer goed | Kwaliteitsgevoelig, gratis quotum |
openai (GPT-4o-mini) | ~$0,01 | Snel | Goed | Budget-LLM |
openai (GPT-4o) | ~$0,10 | Gemiddeld | Zeer goed | Kwaliteitsgevoelig |
anthropic (Haiku) | ~$0,01 | Snel | Goed | Budget-LLM |
anthropic (Sonnet) | ~$0,10 | Gemiddeld | Zeer goed | Kwaliteitsgevoelig |
anthropic (Opus) | ~$0,50 | Traag | Uitstekend | Maximale kwaliteit |
llm (OpenRouter) | Varieert per model | Varieert | Varieert | Modelvergelijking, experimenteren |
:::note Dit zijn schattingen De werkelijke kosten zijn afhankelijk van de lengte van uw brontekst, de batchgrootte en prijswijzigingen van de provider. Controleer de actuele prijspagina van elke provider voor de exacte tarieven. :::