Veelgestelde vragen
Alles wat je moet weten over i18n-keyless voordat je begint.
Moet ik vertaalbestanden beheren?
Nee. Er zijn geen JSON-bestanden, geen sleutel-extractiestap en geen build-time plug-in. Je schrijft je zinnen in je brontaal, de SDK stuurt ze naar de API bij de eerste aanvraag, de API vertaalt ze met AI en elke daaropvolgende aanvraag wordt uit de cache bediend. Jouw code is de enige bron van waarheid.
Wat gebeurt er als ik de brontekst wijzig?
De brontekst is de sleutel. Verander je deze, dan krijg je een nieuwe sleutel met een verse AI-vertaling. De oude sleutel wordt niet meer opgevraagd en het dashboard ruimt deze na 30 dagen zonder gebruik op. Een typefout corrigeren werkt hetzelfde: corrigeer deze in de code, deploy en de nieuwe tekst wordt vertaald bij de eerste aanvraag.
Hoeveel kost het?
Zelf gehost: volledig gratis, onbeperkte projecten, geen abonnement en geen gebruikslimiet — installeer de Docker-image, gebruik je eigen AI-sleutel. Vind je het leuk? Geef me een fooi! Gehost: één vaste prijs per project per maand, gebaseerd op actieve gebruikers per maand — €4 tot 1.000, €9 tot 5.000, €29 tot 50.000, €99 tot 500.000 — maandelijks gefactureerd, opzegbaar wanneer je maar wilt. Er is geen prijs per stoel, per woord of per string in beide gevallen.
Kan ik mijn vertalingen exporteren?
Ja. Het dashboard heeft een knop "Exporteer JSON" die alle vertalingen in je project downloadt als één JSON-bestand. De export bevat alle rijen, niet alleen degenen die in de afgelopen 30 dagen zijn gebruikt, dus het is een volledige back-up. Er is geen lock-in: je gegevens staan altijd één klik verwijderd.
Welke frameworks worden er ondersteund?
React, React Native, Vue, Svelte, Vanilla JS, Node.js, Ruby on Rails, Python, Go, Swift en Kotlin. Elke SDK werkt op dezelfde manier: wikkel je tekst in een vertaaloproep, en de API geeft de vertaling voor de huidige taal terug. De server-SDK's zijn thread-safe en cachen vertalingen in het geheugen.
Hoeveel talen worden ondersteund?
48 talen, inclusief regionale varianten zoals zh-Hans / zh-Hant, en / en-GB, fr / fr-CA, pt / pt-BR en es / es-MX. Arabisch, Hebreeuws en Urdu staan ook op de lijst, dus rechts-naar-links talen werken ook. Een nieuwe taal aan je project toevoegen is één klik in het dashboard.
Werkt het met server-side rendering?
Ja. De Node.js SDK gebruikt AsyncLocalStorage, zodat je loaders, head-functies en servercomponenten kunnen vertalen zonder een React-provider. Aan de clientkant hydrateert de React-provider vanuit de servergerenderde HTML. In de documentatie staan stapsgewijze handleidingen voor Next.js, Nuxt en TanStack Start.
Vertraagt dit mijn app?
De eerste keer dat een nieuwe tekenreeks wordt opgevraagd, roept de API het AI-model aan — ongeveer een halve seconde voor een korte UI-tekenreeks, langer voor een alinea. Elke aanvraag daarna wordt bediend vanuit de database, wat een normale cache-hit is. De SDK cachet ook vertalingen lokaal, zodat terugkerende gebruikers geen netwerkvertraging zien. Als tien gebruikers tegelijk dezelfde tekenreeks aanvragen, wordt er slechts één AI-oproep gedaan.
Wat gebeurt er als de service uitvalt?
Elke SDK cachet vertalingen lokaal — in localStorage op het web, AsyncStorage op mobiel en in het geheugen op de server. Als de API niet bereikbaar is, levert de SDK de gecachte vertalingen. Je gebruikers zien de laatst bekende vertaling, nooit een lege string. Wanneer de API terugkomt, vernieuwt de SDK stilzwijgend.
Welke AI-aanbieder gebruikt het?
Er worden vijf providers ondersteund: Mistral, OpenAI, Anthropic, Google en elk OpenAI-compatibel eindpunt zoals Ollama, Groq of Together. De operator kiest de provider en het model via het dashboard of de omgeving. De standaard op i18n-keyless.com is Mistral. Zelfgehoste gebruikers kunnen Ollama lokaal uitvoeren en niets naar een derde partij sturen.
Kan ik een AI-vertaling overschrijven?
Ja. Klik op een willekeurige cel in het dashboard, typ de juiste tekst en sla op. De reparatie is permanent: de API overschrijft nooit een handmatig ingestelde waarde. Je kunt vertalingen ook overschrijven via de API of via de MCP-server, zodat een AI-codeagent de vertaling voor je kan corrigeren.
Kan ik migreren van i18next of een andere bibliotheek?
Ja. In de documentatie staat een stapsgewijze migratiegids voor i18next, react-intl en Lokalise. De API heeft een migratie-eindpunt dat je bestaande vertalingen één voor één importeert, zonder AI-oproepen of kosten. De MCP-server heeft hetzelfde hulpmiddel, dus een AI-agent kan de migratie voor je uitvoeren.
Is er een gratis plan?
De zelfgehoste editie is volledig gratis met onbeperkte projecten — installeer de Docker-image, gebruik je eigen AI-sleutel en bewaar je gegevens op je eigen server. Geen tijdslimiet, geen functiebeperkingen. Het gehoste abonnement begint bij €4 per maand per project als je er de voorkeur aan geeft geen server te draaien.
Is de broncode beschikbaar?
De server, het dashboard en de Docker-image worden gepubliceerd op GitHub onder de Elastic License 2.0. Je kunt elke regel lezen, de code uitvoeren en aanpassen. De SDK's — React, Vue, Node, Rails en anderen — zijn MIT-licentie. De enige beperking: je mag de software niet als een gehoste service aan derden aanbieden.
Één onderhouder: wat gebeurt er als het project stopt?
De SDK's zijn onder de MIT-licentie en blijven beschikbaar op npm, PyPI, RubyGems en andere registers. De server is publiek onder de Elastic License 2.0 en het protocol tussen hen is gedocumenteerd, dus iedereen kan het uitvoeren, forken of een server ertegen schrijven. Jouw vertalingen blijven in één JSON-export op elk moment. Als de gehoste service stopt: geïnstalleerde apps blijven hun gecachte vertalingen serveren, een nieuwe client valt terug op de brontaal, en door de SDK naar je eigen instantie met API_URL te wijzen wordt alles hersteld. Wat je zou verliezen is de AI-vertaling van nieuwe strings op i18n-keyless.com — niet je data of je app.
Lees het volledige antwoord, inclusief de codeIs context niet gewoon een vermomde sleutel?
Nee. Een sleutel is verplicht voor elke tekenreeks, moet uniek zijn en bevindt zich in een globale naamruimte die je handmatig onderhoudt. Een context is optioneel en wordt alleen toegevoegd aan de weinige tekenreeksen waarvan de betekenis onduidelijk is — bijvoorbeeld "Close" om het venster te sluiten of "close" in de betekenis van afstand — en beschrijft de betekenis, maar noemt de tekenreeks niet. De meeste tekenreeksen hebben geen context. De brontekst dient als referentie, met of zonder context; twee identieke teksten met twee verschillende contexten zijn simpelweg twee regels.
Lees het volledige antwoord, inclusief de codeKan ik de kopie controleren in een pull request?
Ja. De bronstring staat in de code, dus elke wijziging in de tekst is een verschil dat de reviewer in de pull request leest in gewone taal in plaats van een sleutelnaam. Wat niet in git staat, is de vertaling naar de andere talen: die staat in de database, net als bij elk ander vertalingsplatform, en je bekijkt het in het dashboard, waar een per cel 'gecontroleerd'-markering aangeeft wat een persoon heeft gecontroleerd ten opzichte van wat de AI heeft geschreven, of in de JSON-export.
Lees het volledige antwoord, inclusief de codeWaarom niet Tolgee, dat ook open source is?
Tolgee is een sleutelgebaseerd vertaalplatform onder de Apache 2.0-licentie, met contextbewerking, schermafbeeldingscontext en vertaalgeheugen; als je deze functies wilt, of vertalers in de lus, is het een goede keuze. i18n-keyless heeft geen sleutels, geen lokale bestanden, standaard AI-vertaling met een handmatige overschrijving die de AI nooit herschrijft, een server onder de Elastic License 2.0 met MIT SDK's, en een zelfgehoste afbeelding die draait op SQLite in één container. Voor een contextcorrectie maak je een schermafbeelding en geef je deze aan een AI-agent die is verbonden met de MCP-server: deze vindt de tekst en overschrijft de vertaling. De vergelijkingspagina in de documentatie toont de prijzen naast elkaar.
Lees het volledige antwoord, inclusief de codeZelf gehost of abonnement: welke?
Zelf gehost: hetzelfde Docker-image op je eigen server, volledig gratis met onbeperkte projecten, met je eigen AI-sleutel en je data thuis. Vind je het leuk? Geef me een fooi! Abonnement: wij beheren het, updates zijn automatisch, één vaste prijs van €4 per maand per project. Neem het abonnement als je liever geen server draait.
Lees het volledige antwoord, inclusief de codeHoe ga ik om met dynamische waarden zoals namen of tellingen?
Gebruik de vervangoptie. Schrijf de zin met een placeholder — "Hallo {name}, je hebt {count} items" — en geef de waarden door bij het renderen met replace: { "{name}": userName, "{count}": String(n) }. De AI ziet de placeholder en behoudt deze in elke vertaling. De SDK vervangt de waarde op runtime.
Hoe ga ik om met meervouden?
Schrijf één vorm met {count} waar het getal in komt te staan en geef het getal door als count. De API slaat één ICU-meervoudsbericht per taal op met precies de vormen die de taal nodig heeft — twee in het Frans, vier in het Russisch, zes in het Arabisch — gecontroleerd tegen Intl.PluralRules, en de SDK kiest de juiste. Voeg rangtelwoorden toe voor rangordes (1st, 2nd). Je schrijft de branches nooit zelf.
Lees het volledige antwoord, inclusief de codeHoe ga ik om met gender?
Geef de waarde door in select — select={{ gender: "vrouwelijk" }} — en het model schrijft één variant per waarde, in elke taal, rekening houdend met de taalbehoeften. Waarden zijn identificatoren uit een gesloten set, maximaal 10 per variabele en 2 variabelen per zin; een select en een count kunnen gecombineerd worden. Open waarden zoals een naam blijven een vervanging.
Lees het volledige antwoord, inclusief de codeHoe formateer ik datums, getallen en valuta's?
De SDK formatteert ze niet, dat doet je runtime. Gebruik Intl.DateTimeFormat en Intl.NumberFormat met de huidige taal van de SDK en plaats het resultaat vervolgens in de zin met replace. Één zin, één vertaling, het juiste formaat in elke taal.
Lees het volledige antwoord, inclusief de codeKan ik de vertaalprompt aanpassen?
Nee, en je hoeft dat niet te doen. De prompt leest je context voor elke sleutel: daar worden toon, doelgroep en betekenis bepaald, en dat is waarom hetzelfde woord op twee verschillende plekken anders vertaald wordt. En elke vertaling kan handmatig overschreven worden in het dashboard; de API overschrijft nooit wat jij hebt geschreven.
Lees het volledige antwoord, inclusief de codeHeeft het een MCP-server voor AI-codeagents?
Ja. De API is ook een MCP-server met OAuth 2.1-authenticatie. Een AI-agent kan vertalingen opsommen, strings vertalen, waarden overschrijven, bestaande vertalingen importeren en projectleden beheren — dezelfde bewerkingen die een mens in het dashboard uitvoert. Verbind het ermee via Claude Code, Cursor, Windsurf of een willekeurige MCP-compatibele client.
Kan ik het gebruiken voor backendstrings en e-mails?
Ja. De Node.js-, Ruby on Rails-, Python- en Go-SDK's draaien op de server. Vertaal een e-mailonderwerp, een foutmelding of een pushmelding op dezelfde manier als je een UI-tekenreeks vertaalt. De server-SDK's cachen vertalingen in het geheugen en vernieuwen ze op de achtergrond, dus ze voegen geen latentie toe aan je verzoek.
Kan mijn hele team aan vertalingen werken?
Ja. Voeg teamleden toe aan een project via het dashboard of via de API. Elk lid kan alle vertalingen zien, elke waarde overschrijven en talen toevoegen. Beheerders maken projecten aan en beheren leden. Er is geen prijs per stoel: voeg zoveel mensen toe als je nodig hebt.
Hoe los ik een typefout op?
De brontekst is de sleutel. Los je een typefout in de brontekst op, krijg je een nieuwe sleutel met een nieuwe vertaling; de oude string wordt simpelweg niet meer opgevraagd en het dashboard ruimt deze na 30 dagen zonder gebruik automatisch op. Een typefout in een vertaling: bewerk de cel in het dashboard en de correctie is permanent.
Lees het volledige antwoord, inclusief de code