Ofte stillede spørgsmål

Alt hvad du har brug for at vide om i18n-keyless, inden du går i gang.

Skal jeg administrere oversættelsesfiler?

Nej. Der er ingen JSON-filer, ingen nøgleudtrækningsproces og ingen byggetids-plugin. Du skriver dine sætninger på dit kildeprog, SDK sender dem til API'et ved den første anmodning, API'et oversætter dem med AI, og alle efterfølgende anmodninger betjenes fra cachen. Din kode er den eneste kilde til sandhed.

Hvad sker der, når jeg ændrer kilde teksten?

Kildeteksten er nøglen. Ændrer du den, får du en ny nøgle med en frisk AI-oversættelse. Den gamle nøgle bliver simpelthen ikke længere anmodet om, og dashboardet renser den væk efter 30 dages ikke-brug. En stavefejlrettelse er det samme: rett den i koden, deploy, og den nye tekst bliver oversat ved første anmodning.

Hvor meget koster det?

Selv-hostet: fuldstændig gratis, ubegrænset antal projekter, ingen abonnement og ingen brugsbegrænsning — installer Docker-billedet, brug din egen AI-nøgle. Kan du lide det? Giv mig et tip! Hostet: en fast pris pr. projekt pr. måned, baseret på aktive brugere pr. måned — 4 € op til 1.000, 9 € op til 5.000, 29 € op til 50.000, 99 € op til 500.000 — faktureres månedligt, kan annulleres når som helst. Der er ingen prisfastsættelse pr. sæde, pr. ord eller pr. streng i nogen af tilfældene.

Kan jeg eksportere mine oversættelser?

Ja. Instrumentbrættet har en knap med teksten "Eksportér JSON", der downloader alle oversættelser i dit projekt som en enkelt JSON-fil. Eksporten inkluderer alle rækker, ikke kun dem, der er blevet brugt inden for de seneste 30 dage, så det er en fuld sikkerhedskopiering. Der er ingen binding: dine data er altid blot ét klik væk.

Hvilke frameworks understøtter det?

React, React Native, Vue, Svelte, Vanilla JS, Node.js, Ruby on Rails, Python, Go, Swift og Kotlin. Hver SDK fungerer på samme måde: indkapsl din tekst i et oversættelseskald, og API'et returnerer oversættelsen for det aktuelle sprog. Server-SDK'erne er tråd-sikre og cacher oversættelser i hukommelsen.

Hvor mange sprog understøttes?

48 sprog, herunder regionale varianter som zh-Hans / zh-Hant, en / en-GB, fr / fr-CA, pt / pt-BR og es / es-MX. Arabisk, hebraisk og urdu er også på listen, så højre-til-venstre-sprog fungerer også. Tilføjelse af et nyt sprog til dit projekt er blot ét klik i instrumentbrættet.

Virker det med server-side rendering?

Ja. Node.js SDK bruger AsyncLocalStorage, så dine loaders, head-funktioner og serverkomponenter kan oversætte uden en React-leverandør. På klientsiden hydrerer React-leverandøren fra det serverrenderede HTML. Der er trin-for-trin-guider til Next.js, Nuxt og TanStack Start i dokumentationen.

Gør det min app langsommere?

Når en ny streng anmodes for første gang, kalder API'et AI-modellen — omkring et halvt sekund for en kort UI-streng, længere for et afsnit. Alle efterfølgende anmodninger hentes fra databasen, hvilket er et almindeligt cache-hit. SDK'et cacher også oversættelser lokalt, så tilbagevendende brugere oplever ingen netværksforsinkelse. Hvis ti brugere anmoder om den samme streng på samme tid, foretages der kun ét AI-opkald.

Hvad sker der, hvis tjenesten går ned?

Hver SDK cacher oversættelser lokalt — i localStorage på internettet, AsyncStorage på mobilen og i hukommelsen på serveren. Hvis API'et ikke er tilgængeligt, leverer SDK'et de gemte oversættelser. Dine brugere ser den sidst kendte oversættelse, aldrig en tom streng. Når API'et kommer tilbage, opdaterer SDK'et lydløst.

Hvilken AI-udbyder bruger den?

Fem udbydere understøttes: Mistral, OpenAI, Anthropic, Google og enhver OpenAI-kompatibel slutpunkt såsom Ollama, Groq eller Together. Operatøren vælger udbydere og model fra instrumentbrættet eller miljøet. Standardindstillingen på i18n-keyless.com er Mistral. Selv-hostede brugere kan køre Ollama lokalt og sende intet til en tredjepart.

Kan jeg tilsidesætte en AI-oversættelse?

Ja. Klik på en vilkårlig celle i instrumentbrættet, skriv den korrekte tekst, og gem. Rettelsen er permanent: API'en overskriver aldrig en værdi, der er blevet indstillet manuelt. Du kan også tilsidesætte oversættelser via API'en eller via MCP-serveren, så en AI-kodningsagent kan rette en oversættelse for dig.

Kan jeg migrere fra i18next eller et andet bibliotek?

Ja. Der er en trin-for-trin migrationsvejledning til i18next, react-intl og Lokalise i dokumentationen. API'et har et migrerings-endepunkt, der importerer dine eksisterende oversættelser én ad gangen, uden nogen AI-opkald eller noget, der bliver faktureret. MCP-serveren har det samme værktøj, så en AI-agent kan udføre migrationen for dig.

Er der en gratis plan?

Den selv-hostede udgave er fuldstændig gratis med ubegrænsede projekter — installer Docker-billedet, brug din egen AI-nøgle, og opbevar dine data på din egen server. Ingen tidsbegrænsning, ingen funktionsbegrænsninger. Den hostede plan starter ved 4 euro pr. måned pr. projekt, hvis du foretrækker ikke at køre en server.

Er kildekoden tilgængelig?

Serveren, instrumentbrættet og Docker-billedet er offentliggjort på GitHub under Elastic License 2.0. Du kan læse hver linje, køre koden og ændre den. SDK'erne — React, Vue, Node, Rails og andre — er licenseret under MIT. Den eneste begrænsning: du må ikke tilbyde softwaren som en hosted service til tredjeparter.

En vedligeholder: hvad sker der, hvis projektet stopper?

SDK'erne er under MIT-licens og forbliver tilgængelige på npm, PyPI, RubyGems og andre registre. Serveren er offentlig under Elastic License 2.0, og protokollen mellem dem er dokumenteret, så hvem som helst kan køre den, forke den eller skrive en server imod den. Dine oversættelser ligger i én JSON-eksport på ethvert tidspunkt. Hvis den hostede tjeneste stopper: fungerer installerede apps videre med deres gemte oversættelser, en ny klient falder tilbage til kilde sproget, og ved at pege SDK'et på din egen instans med API_URL gendannes alt. Det, du ville miste, er AI-oversættelsen af nye strenge på i18n-keyless.com — ikke dine data eller din app.

Læs det fulde svar med kode
Er kontekst ikke bare en nøgle i forklædning?

Nej. En nøgle er påkrævet for hver streng, skal være unik og befinder sig i et globalt navnerum, som du vedligeholder manuelt. En kontekst er valgfri og knyttet til de få strenge, hvis betydning er tvetydig — f.eks. "Close" for at lukke vinduet eller "close" i betydningen afstand — og den beskriver betydningen, den navngiver ikke strengen. De fleste strenge har ingen kontekst. Kildeteksten fungerer som opslag, med eller uden kontekst; to identiske tekster med to forskellige kontekster er blot to rækker.

Læs det fulde svar med kode
Kan jeg gennemgå kopien i en pull request?

Ja. Den oprindelige streng er i koden, så enhver ændring i ordlyden er en forskel, som gennemgås i pull requesten på almindeligt sprog i stedet for et nøglenavn. Det, der ikke er i git, er oversættelsen til de andre sprog: den ligger i databasen, ligesom det er tilfældet med enhver oversættelsesplatform, og du gennemgår den i dashboardet, hvor et "gennemgået" mærke pr. celle adskiller det, som en person har tjekket, fra det, som AI'en har skrevet, eller i JSON-eksporten.

Læs det fulde svar med kode
Hvorfor ikke Tolgee, som også er open source?

Tolgee er en nøglebaseret oversættelsesplatform under Apache 2.0-licensen, med kontekstredigering, skærmbilledskontekst og oversættelseshukommelse; hvis du ønsker disse funktioner, eller oversættere i kredsløbet, er det et godt valg. i18n-keyless har ingen nøgler, ingen lokaliseringsfiler, AI-oversættelse som standard med en manuel overstyring, som AI aldrig overskriver, en server under Elastic License 2.0 med MIT SDK'er, og et selvhostet image, der kører på SQLite i én container. For en kontekstkorrektion skal du tage et skærmbillede og give det til en AI-agent tilsluttet MCP-serveren: den finder strengen og overskriver oversættelsen. Sammenligningssiden i dokumentationen viser priserne side om side.

Læs det fulde svar med kode
Selvhostet eller abonnement: hvilket?

Selv-hostet: det samme Docker-image på din egen server, helt gratis med ubegrænsede projekter, med din egen AI-nøgle og dine data hjemme. Kan du lide det? Giv mig et drikkepenge! Abonnement: vi står for det, opdateringer er automatiske, en fast pris på 4 € pr. måned pr. projekt. Tag abonnementet, hvis du hellere vil lade være med at køre en server.

Læs det fulde svar med kode
Hvordan håndterer jeg dynamiske værdier som navne eller tal?

Brug erstatningsmuligheden. Skriv sætningen med en pladsholder — "Hej {name}, du har {count} elementer" — og send værdierne videre ved rendering med replace: { "{name}": userName, "{count}": String(n) }. AI'en ser pladsholderen og beholder den i hver oversættelse. SDK'en erstatter værdien ved kørselstid.

Hvordan håndterer jeg flertal?

Skriv en form med {count}, hvor tallet placeres, og send tallet som count. API'et gemmer én ICU flertalbesked pr. sprog med præcis de former, sproget har brug for — to på fransk, fire på russisk, seks på arabisk — kontrolleret mod Intl.PluralRules, og SDK vælger den rigtige. Tilføj ordinaltal for placeringer (1st, 2nd). Du skriver aldrig grenene selv.

Læs det fulde svar med kode
Hvordan håndterer jeg køn?

Send værdien i select — select={{ gender: "kvinde" }} — og modellen skriver én variant pr. værdi, på hvert sprog, med hensyntagen til sprogets behov. Værdierne er identifikatorer fra en lukket mængde, højst 10 pr. variabel og 2 variabler pr. sætning; en select og en count kan kombineres. Åbne værdier som et navn forbliver en erstatning.

Læs det fulde svar med kode
Hvordan formatterer jeg datoer, tal og valutaer?

SDK formaterer dem ikke, det gør din runtime. Brug Intl.DateTimeFormat og Intl.NumberFormat med det aktuelle sprog fra SDK, og placer derefter resultatet i sætningen med replace. En sætning, en oversættelse, det rigtige format på hvert sprog.

Læs det fulde svar med kode
Kan jeg tilpasse oversættelsesprompten?

Nej, og du behøver ikke gøre det. Prompten læser din kontekst for hver nøgle: det er her, tonen, målgruppen og betydningen fastlægges, og det er det, der gør, at det samme ord oversættes forskelligt to steder. Og enhver oversættelse kan manuelt overskrives i dashboardet; API'en overskriver aldrig det, du har skrevet.

Læs det fulde svar med kode
Har det en MCP-server til AI-kodeagenter?

Ja. API'et er også en MCP-server med OAuth 2.1-autentificering. En AI-agent kan liste oversættelser, oversætte strenge, overskrive værdier, importere eksisterende oversættelser og administrere projektmedlemmer — de samme operationer, som et menneske udfører i dashboardet. Tilslut det fra Claude Code, Cursor, Windsurf eller en hvilken som helst MCP-kompatibel klient.

Kan jeg bruge det til backend-strenge og e-mails?

Ja. Node.js-, Ruby on Rails-, Python- og Go-SDK'erne kører på serveren. Oversæt en e-mail-emnetekst, en fejlmeddelelse eller en push-meddelelse på samme måde som du oversætter en UI-streng. Server-SDK'erne cacher oversættelser i hukommelsen og opdaterer dem i baggrunden, så de tilføjer ikke latenstid til din anmodning.

Kan hele mit hold arbejde med oversættelser?

Ja. Tilføj teammedlemmer til et projekt fra instrumentbrættet eller via API'et. Hvert medlem kan se alle oversættelser, overskrive enhver værdi og tilføje sprog. Administratorer opretter projekter og administrerer medlemmer. Der er ingen prissætning pr. plads: tilføj så mange personer, som du har brug for.

Hvordan retter jeg en stavefejl?

Kildeteksten er nøglen. Retter du en stavefejl i kildeteksten, får du en ny nøgle med en frisk oversættelse; den gamle streng bliver simpelthen ikke længere bedt om, og instrumentbrættet rydder den automatisk op efter 30 dage uden brug. En stavefejl i en oversættelse: rediger cellen i instrumentbrættet, og rettelsen er permanent.

Læs det fulde svar med kode