Vanliga frågor

Allt du behöver veta om i18n-keyless innan du börjar.

Behöver jag hantera översättningsfiler?

Nej. Det finns inga JSON-filer, inget nyckelextraktionssteg och inget bygge-tidsplugin. Du skriver dina meningar på ditt källspråk, SDK skickar dem till API:t vid den första begäran, API:t översätter dem med AI, och varje efterföljande begäran serveras från cachen. Din kod är den enda källan till sanning.

Vad händer när jag ändrar källtexten?

Källtexten är nyckeln. Ändrar du den får du en ny nyckel med en ny AI-översättning. Den gamla nyckeln begärs inte längre och instrumentpanelen rensar den efter 30 dagar utan användning. Att fixa en stavfel fungerar på samma sätt: fixa det i koden, distribuera, och den nya texten kommer att översättas vid första begäran.

Hur mycket kostar det?

Självhostad: helt gratis, obegränsade projekt, ingen prenumeration och ingen användningsbegränsning — installera Docker-avbildningen, använd din egen AI-nyckel. Gillar du det? Ge mig ett tips! Hostad: ett fast pris per projekt per månad, baserat på månadsvis aktiva användare — 4 € upp till 1 000, 9 € upp till 5 000, 29 € upp till 50 000, 99 € upp till 500 000 — faktureras månadsvis, kan avbrytas när som helst. Det finns ingen prissättning per plats, per ord eller per sträng i något av fallen.

Kan jag exportera mina översättningar?

Ja. Instrumentpanelen har en knapp för "Exportera JSON" som laddar ner alla översättningar i ditt projekt som en enda JSON-fil. Exporten inkluderar alla rader, inte bara de som använts de senaste 30 dagarna, så det är en fullständig säkerhetskopia. Det finns ingen inlåsning: dina data är alltid bara ett klick bort.

Vilka ramverk stöds?

React, React Native, Vue, Svelte, Vanilla JS, Node.js, Ruby on Rails, Python, Go, Swift och Kotlin. Varje SDK fungerar på samma sätt: wrappa din text i ett översättningsanrop, och API:et returnerar översättningen för det aktuella språket. Server-SDK:erna är trådsäkra och cachelagrar översättningar i minnet.

Hur många språk stöds?

48 språk, inklusive regionala varianter som zh-Hans / zh-Hant, en / en-GB, fr / fr-CA, pt / pt-BR och es / es-MX. Arabiska, hebreiska och urdu finns också på listan, så höger-till-vänster-språk fungerar också. Att lägga till ett nytt språk i ditt projekt är bara ett klick i instrumentpanelen.

Fungerar det med server-side rendering?

Ja. Node.js SDK använder AsyncLocalStorage så att dina loaders, head-funktioner och serverkomponenter kan översätta utan en React-leverantör. På klientsidan hydratiserar React-leverantören från den serverrenderade HTML:en. I dokumentationen finns det steg-för-steg-guider för Next.js, Nuxt och TanStack Start.

Gör det min app långsammare?

När en ny sträng begärs för första gången anropar API:et AI-modellen — ungefär en halv sekund för en kort UI-sträng, längre för ett stycke. Varje efterföljande förfrågan hämtas från databasen, vilket är en vanlig cacheträff. SDK:et cachar också översättningar lokalt, så återkommande användare upplever ingen nätverksfördröjning. Om tio användare begär samma sträng samtidigt görs endast ett AI-anrop.

Vad händer om tjänsten går ner?

Varje SDK cachelagrar översättningar lokalt — i localStorage på webben, AsyncStorage på mobila enheter och i minnet på servern. Om API:t inte är åtkomligt, levererar SDK de cachade översättningarna. Dina användare ser den senaste kända översättningen, aldrig en tom sträng. När API:t kommer tillbaka, uppdateras SDK:t tyst.

Vilken AI-leverantör använder den?

Fem leverantörer stöds: Mistral, OpenAI, Anthropic, Google och alla OpenAI-kompatibla slutpunkter som Ollama, Groq eller Together. Operatören väljer leverantör och modell från instrumentpanelen eller miljön. Standardinställningen på i18n-keyless.com är Mistral. Självhostade användare kan köra Ollama lokalt och skicka ingenting till en tredje part.

Kan jag åsidosätta en AI-översättning?

Ja. Klicka på valfri cell i instrumentpanelen, skriv in den korrekta texten och spara. Fixeringen är permanent: API skriver aldrig över ett manuellt inställt värde. Du kan också åsidosätta översättningar via API eller via MCP-servern, så att en AI-kodningsagent kan fixa en översättning åt dig.

Kan jag migrera från i18next eller ett annat bibliotek?

Ja. I dokumentationen finns en steg-för-steg-migreringsguide för i18next, react-intl och Lokalise. API:t har en migreringsändpunkt som importerar dina befintliga översättningar en i taget, utan några AI-anrop eller kostnader. MCP-servern har samma verktyg, så en AI-agent kan utföra migreringen åt dig.

Finns det en gratis plan?

Den självhostade versionen är helt gratis med obegränsade projekt — installera Docker-avbildningen, använd din egen AI-nyckel och lagra dina data på din egen server. Ingen tidsbegränsning, inga funktionsbegränsningar. Det hostade paketet börjar på 4 euro per månad per projekt om du hellre inte vill köra en server.

Är källkoden tillgänglig?

Servern, instrumentpanelen och Docker-avbildningen publiceras på GitHub under Elastic License 2.0. Du kan läsa varje rad, köra koden och ändra den. SDK:erna — React, Vue, Node, Rails och andra — är licensierade under MIT. Den enda begränsningen: du får inte erbjuda programvaran som en hostad tjänst till tredje part.

En underhållare: vad händer om projektet stannar?

SDK:erna är under MIT-licens och förblir tillgängliga på npm, PyPI, RubyGems och andra register. Servern är offentlig under Elastic License 2.0 och protokollet mellan dem är dokumenterat, så vem som helst kan köra den, göra en fork eller skriva en server mot den. Dina översättningar finns alltid i en enda JSON-export. Om den hostade tjänsten slutar fungera: installerade appar fortsätter att servera sina cachade översättningar, en ny klient faller tillbaka till källspråket, och genom att peka SDK:n till din egen instans med API_URL återställs allt. Det du skulle förlora är AI-översättningen av nya strängar på i18n-keyless.com — inte dina data eller din app.

Läs hela svaret, med koden
Är kontexten inte bara en nyckel i förklädnad?

Nej. En nyckel krävs för varje sträng, den måste vara unik och finns i ett globalt namnområde som du underhåller manuellt. En kontext är frivillig och kopplad till de få strängar vars betydelse är tvetydig — till exempel "Close" för att stänga fönstret eller "close" för avstånd — och den beskriver betydelsen, den namnger inte strängen. De flesta strängar har ingen kontext. Den ursprungliga texten förblir sökunderlaget, med eller utan kontext; två identiska texter med två kontexter är helt enkelt två rader.

Läs hela svaret, med koden
Kan jag granska kopian i en pull request?

Ja. Den ursprungliga strängen finns i koden, så varje ändring i formuleringen är en skillnad som granskaren läser i pull requesten på vanligt språk istället för ett nyckelnamn. Det som inte finns i git är översättningarna till de andra språken: de finns i databasen, precis som på alla andra översättningsplattformar, och du granskar dem i instrumentpanelen, där en "granskad" markering per cell skiljer det som en person har kontrollerat från det som AI:n har skrivit, eller i JSON-exporten.

Läs hela svaret, med koden
Varför inte Tolgee, som också är öppen källkod?

Tolgee är en nyckelbaserad översättningsplattform under Apache 2.0-licensen, med redigering i kontext, skärmdumpskontext och översättningsminne; om du vill ha dessa funktioner eller översättare i processen är det ett bra val. i18n-keyless har inga nycklar, inga lokaliseringsfiler, AI-översättning är aktiverad som standard med en manuell överskrivning som AI aldrig skriver om, en server under Elastic License 2.0 med MIT SDK:er, och en självhostad bild som körs på SQLite i en container. För en kontextkorrigering tar du en skärmdump och ger den till en AI-agent ansluten till MCP-servern: den hittar strängen och skriver över översättningen. Jämförelsesidan i dokumentationen visar priserna bredvid varandra.

Läs hela svaret, med koden
Självhostad eller prenumeration: vilken?

Självhostad: samma Docker-avbildning på din egen server, helt gratis med obegränsade projekt, med din egen AI-nyckel och dina data hemma. Gillar du det? Ge mig en slant! Prenumeration: vi sköter det, uppdateringar sker automatiskt, ett fast pris från 4 € per månad per projekt. Ta prenumerationen om du hellre inte vill köra en server.

Läs hela svaret, med koden
Hur hanterar jag dynamiska värden som namn eller räkneord?

Använd alternativet ersätt. Skriv meningen med en platshållare — "Hej {name}, du har {count} objekt" — och skicka värdena vid rendering med replace: { "{name}": userName, "{count}": String(n) }. AI:n ser platshållaren och behåller den i alla översättningar. SDK:n ersätter värdet vid körningstid.

Hur hanterar jag pluralformer?

Skriv en form med {count} där siffran placeras och skicka siffran som count. API:et lagrar ett ICU pluralmeddelande per språk med exakt de former som språket behöver — två på franska, fyra på ryska, sex på arabiska — kontrollerat mot Intl.PluralRules, och SDK väljer rätt. Lägg till ordningstal för rangordningar (1st, 2nd). Du skriver aldrig grenarna själv.

Läs hela svaret, med koden
Hur hanterar jag kön?

Skicka värdet i select — select={{ gender: "kvinna" }} — och modellen skriver en variant per värde, på varje språk, med hänsyn till språkbehoven. Värdena är identifierare från en sluten mängd, högst 10 per variabel och 2 variabler per mening; en select och en count kan kombineras. Öppna värden som ett namn förblir en ersättning.

Läs hela svaret, med koden
Hur formaterar jag datum, siffror och valutor?

SDK formaterar dem inte, det gör din runtime. Använd Intl.DateTimeFormat och Intl.NumberFormat med det aktuella språket från SDK, och lägg sedan in resultatet i meningen med replace. En mening, en översättning, rätt format på alla språk.

Läs hela svaret, med koden
Kan jag anpassa översättningsprompten?

Nej, och du behöver inte göra det. Prompten läser din kontext för varje nyckel: där bestäms tonen, målgruppen och betydelsen, och det är det som gör att samma ord översätts olika på två ställen. Och alla översättningar kan manuellt åsidosättas i instrumentpanelen; API:t skriver aldrig över det du har skrivit.

Läs hela svaret, med koden
Har den en MCP-server för AI-kodningsagenter?

Ja. API:t är också en MCP-server med OAuth 2.1-autentisering. En AI-agent kan lista översättningar, översätta strängar, åsidosätta värden, importera befintliga översättningar och hantera projektmedlemmar — samma operationer som en människa utför i instrumentpanelen. Anslut det från Claude Code, Cursor, Windsurf eller valfri MCP-kompatibel klient.

Kan jag använda det för backend-strängar och e-postmeddelanden?

Ja. Node.js-, Ruby on Rails-, Python- och Go-SDK:erna körs på servern. Översätt en e-postrubrik, ett felmeddelande eller en push-notis på samma sätt som du översätter en UI-sträng. Server-SDK:erna cachelagrar översättningarna i minnet och uppdaterar dem i bakgrunden, så de lägger inte till någon fördröjning till din förfrågan.

Kan hela mitt team arbeta med översättningar?

Ja. Lägg till teammedlemmar i ett projekt från instrumentpanelen eller via API:et. Varje medlem kan se alla översättningar, åsidosätta vilket värde som helst och lägga till språk. Administratörer skapar projekt och hanterar medlemmar. Det finns ingen prissättning per plats: lägg till så många personer du behöver.

Hur fixar jag ett skrivfel?

Källtexten är nyckeln. Om du åtgärdar ett skrivfel i källtexten får du en ny nyckel med en ny översättning; den gamla strängen frågas inte längre efter och instrumentpanelen rensar den automatiskt efter 30 dagar utan användning. Ett skrivfel i en översättning: redigera cellen i instrumentpanelen och åtgärden är permanent.

Läs hela svaret, med koden