DX definitiu per a l'i18n

El més barat i el més eficient i18n per a codificació agent

Keyless i18n el teu agent de codificació ho fa bé des del primer intent: un sol fitxer per editar, cap fitxer JSON local per carregar, cap conflicte de fusió, des de 4 € al mes.

Configuració en 5 minuts

La teva implementació completa d'i18n en 5 minuts. No estic fent broma.

Sistema sense claus

El teu cervell no hauria d'estar involucrat en tasques tan sense sentit.

Global des del primer dia

Envia a mercats internacionals sense esforç addicional.

Configura l'i18n, mantén la teva base de codi neta i envia-ho ràpidament

Hi ha múltiples PITA amb les solucions d'i18n actuals. Els dolors són tan grans que endarrereixes l'i18n tant com puguis.

Consumeix el temps que hauries d'estar a la platja

Configura el sistema de claus: almenys 1 hora de temps de desenvolupador sènior

Endavant i endarrere per cada nova clau: 1 minut per clau, x500 claus, x2 idiomes = 17 hores

Amb i18n-keyless, no et preocupes gens pel sistema d'internacionalització. Pots anar a la platja i demanar un mojito.

Avui la majoria de sistemes utilitzen claus per traduir el text

É dolorós de generar. Això és dolorós de mantenir.

Quan veus un text a l'aplicació i vols actualitzar-lo, has de trobar la clau corresponent.

Amb i18n-keyless, no et preocupes gens pel sistema d'i18n. Fes servir el teu cervell per alguna cosa més interessant.

Deixa les traduccions a la IA

Amb el sistema de claus, heu de gestionar les traduccions a l'aplicació.

Altrament, els seus usuaris veuran un someheader.welcome.title a la seva aplicació.

Amb i18n-keyless, no us preocupa gens del sistema d'internacionalització. Només escriviu bons titulars, centreu-vos en el màrqueting i obteniu vendes.

Les bases de codi són belles... fins que les claus d'i18n s'infecten

Amb el sistema de claus, quan llegeixes el codi i el contingut, has de llegir les claus, no el llenguatge natural.

De vegades hauríeu de fer una correcció perquè una frase no és gramaticalment correcta. Però no ho sabeu perquè llegiu claus.

Amb i18n-keyless, no us preocupa gens del sistema d'internacionalització. La base de codi es manté bonica.

Afegeix i18n des del primer dia sense cap impacte en el teu ritme de desenvolupament
Dissenyat per a agents de codificació

Servidor MCP per cobrir totes les teves necessitats d'internacionalització

Sisena altra raó per la qual el sistema està tan optimitzat per a la programació agentiva.

Cap nom per inventar

Una clau és una decisió de denominació sense resposta correcta. Dos agents escriuen login.submit i auth.button.send per al mateix botó. Sense claus no hi ha cap decisió a prendre.

Un sol fitxer per editar, no vint

Un canvi amb clau afecta el component i tots els fitxers JSON de localització, i els agents obliden els fitxers. Aquí, un canvi de còpia és una edició d'un sol fitxer.

Zero conflictes de fusió en flotes d'agents

Cinc agents en cinc branques editen tots en.json: un conflicte garantit. No hi ha cap fitxer compartit, així que els worktrees i els agents en segon pla mai xoquen.

Barat en tokens

Per reutilitzar una clau, un agent ha de carregar els fitxers de localització en el context a cada edició. Les càrregues sense clau no fan res: el text ja és allà al component.

Diferències llegibles

La sol·licitud de pull mostra frases reals. Un humà o un agent de revisió pot jutjar la còpia sense haver de buscar què representa una clau.

Una regla al teu CLAUDE.md

Cada regla d'i18n que escrius és una regla que l'agent pot trencar. Aquesta necessita només una línia — i la substitució és el text real, així que un error no mostrarà a.b.c a la pantalla.

L'única regla d'i18n que el teu agent necessita

# CLAUDE.md
Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react.
That is the whole i18n setup.

El teu agent pot operar-lo, no només escriure'l

A través del servidor MCP, l'agent llista les traduccions que falten, en llegeix una, substitueix una de dolenta o importa la còpia que ja tens — amb el seu propi inici de sessió OAuth, sense necessitat de copiar-hi cap clau.

Llegeix la guia de l'MCP
Perfecte per a MVPs

Llança a escala global des del primer dia

Deixa de retardar la internacionalització per la seva complexitat. Implementa-ho en 5 minuts, no en dies. Mantén la velocitat del desenvolupament com si no s'hagués implementat la internacionalització.

  • Implementació en 5 minuts. No estic fent broma.

    Un simple objecte de configuració i ja està fet.

  • Mantén la velocitat de desenvolupament

    Codi com si l'i18n no s'hagués implementat en absolut.

  • Enviar a mercats globals

    No cal necessari de refactorització en escalar a nous idiomes.

  • SSR i SEO preparats

    Funciona amb Next.js, Remix, TanStack Start i Astro. Renderitza al servidor qualsevol idioma per als motors de cerca — mateixa configuració de 5 minuts.

Tradicional i18n

Sistema de claus (1 hora)
Crea fitxers de traducció (2 hores)
Refactoritzar components (4 hores)
Proveu totes les llengües (2 hores)
Soluciona els problemes de disseny (3 hores)
12+ hores de treball

i18n-sense-clau

Afegeix el paquet (1 min)
Configura amb clau d'API (2 min)
Envoltar components de text (2 min)
5 minuts de treball
Com funciona

No cal gens per configurar-ho

Només el més simple objecte de configuració i ja pots començar a escala global.
I fins i tot, el teu agent ho configurarà per a tu.

1. Configuració bàsica

import * as I18nKeyless from "i18n-keyless-react";

I18nKeyless.init({
  API_KEY: "YOUR_API_KEY",
  storage: window.localStorage,
  languages: {
    primary: "en",
    supported: ["en", "fr"],
  },
});

2. Ús de components (React aquí; el mateix en Vue, Angular, Flutter, Swift i Kotlin)

import { I18nKeylessText } from "i18n-keyless-react";
// import { T } from "i18n-keyless-react"; // also works

// Just write in your primary language
<I18nKeylessText>
  Welcome to our website
</I18nKeylessText>

3. Ús servidor (Node.js aquí; la mateixa crida en Laravel, Rails, Python i Go)

import { awaitForTranslationOrFallbackToOriginal, type Lang } from 'i18n-keyless-node';

const title = await awaitForTranslationOrFallbackToOriginal('Come see my app!', user.lang as Lang);
const body = await awaitForTranslationOrFallbackToOriginal('So many new stuff!', user.lang as Lang);

await sendExpoPushNotification({ user, title, body });

4. Per al text fora de components

import { getTranslation } from "i18n-keyless-react";

export default function Navigation() {
  return (
    <HomeTabs.Navigator>
      <HomeTabs.Screen
        options={{ tabBarLabel: getTranslation("Welcome") }}
        name="WELCOME"
      />
    </HomeTabs.Navigator>
  );
}

5. Trieu el vostre SDK: una línia d'instal·lació, la mateixa API a tot arreu

  • React, React Native, Expo, Next.js, Remix, TanStack Start, Astronpm install i18n-keyless-react
  • Vue, Nuxtnpm install i18n-keyless-vue
  • Angularnpm install i18n-keyless-angular
  • Plain HTML, Svelte, Alpine, htmx, one script tagnpm install i18n-keyless-browser
  • Node.jsnpm install i18n-keyless-node
  • Laravel, PHPcomposer require i18n-keyless/laravel
  • Rails, Rubybundle add i18n-keyless-rails
  • Flutter, Dartflutter pub add i18n_keyless
  • Swift, iOS, macOS, VaporSwiftPM: arnaudambro/i18n-keyless-swift
  • Kotlin, Android, Ktorio.github.arnaudambro:i18n-keyless-kotlin
  • Python, Django, Flask, FastAPIpip install i18n-keyless
  • Gogo get github.com/arnaudambro/i18n-keyless/ports/go/v3

Configuració ràpida per a cadascun dels dotze SDK

Com funcionen les traduccions

i18n-keyless és una biblioteca, combinada amb un servei d'API, que us permet traduir el vostre text sense necessitat d'utilitzar claus.

Si no es troba la traducció, es realitzarà una sol·licitud asíncrona a l'API d'I18nKeyless per obtenir la traducció mitjançant una crida a una API d'IA.

Aquesta operació es fa habitualment en mode de desenvolupament, mentre codifiques. Si en trobes una de faltant, en producció només el primer usuari que no tingui la traducció veurà un error, i després estarà disponible immediatament per a tots els usuaris arreu del món.

App Store & Google Play

La teva llista d’articles en tots els idiomes, en cada llançament

Cada actualització significa noves notes de llançament, una descripció i paraules clau — per a cada idioma, en ambdues botigues. Això és el que t'impedeix afegir idiomes. No l'aplicació.

  • Notes de llançament per a cada idioma, en una trucada

    Escriu l'actualització una vegada. awaitForTranslation la retorna en cada idioma en què venes i la configuració de la teva botiga la proporciona a EAS o fastlane.

  • 48 idiomes, assignats als espais de l'App Store

    pt-BR i pt-PT són dues llistes; en-GB, en-AU i en-CA en són tres. toAppStoreLocale posa cada traducció al lloc correcte.

  • Corregeix una mala traducció sense alliberament

    A l'aplicació, un sobreescrit en el tauler de control està actiu alhora — sense compilació de correcció urgent, sense revisió d'emmagatzematge. A la llista, torna a executar l'impuls.

  • No es preu per paraula

    Un traductor cobra aproximadament 0,10 € per paraula. 2.000 cadenes multiplicades per 10 idiomes és un pressupost que un desenvolupador solitari no es pot permetre. Aquí no es compten les paraules.

La recepta completa per a una aplicació Expo

// store.config.js — EAS Metadata awaits an async config
const { init, awaitForTranslation, toAppStoreLocale } = require("i18n-keyless-node");

const LANGS = ["en", "fr", "de", "ja", "pt-BR"];
const DESCRIPTION = "Bibi translates your app while you sleep…";

module.exports = async () => {
  init({ API_KEY: process.env.I18N_KEYLESS_KEY, languages: { primary: "en", supported: LANGS } });
  const info = {};
  for (const lang of LANGS) {
    info[toAppStoreLocale(lang)] = {
      title: await awaitForTranslation("Bibi", lang, { context: "App Store app name, 30 characters max" }),
      subtitle: await awaitForTranslation("Keyless i18n", lang, { context: "App Store subtitle, 30 characters max" }),
      description: await awaitForTranslation(DESCRIPTION, lang, { context: "App Store description" }),
    };
  }
  return { configVersion: 0, apple: { info } };
};

La mateixa trucada escriu fitxers de metadades de fastlane per a Google Play. Les majúscules són consultives: posa el límit en el context i comprova la longitud abans de fer push.

Prova-ho tu mateix

Sandbox Interactiu

Veugeu com funciona l'i18n-keyless en temps real

Obriu un projecte StackBlitz en directe i editable per veure com es resolen les traduccions mentre escriviu.

Per què vaig construir això

Sempre havia postergat la internacionalització fins que el meu client la va voler tant que no vaig tenir altra opció. Odio llegir el codi amb claus d'internacionalització a dins, i odio mantenir fitxers JSON tant com veure el cost dels proveïdors d'internacionalització. Així que vaig haver de crear-ne una de pròpia, i ME FASCINA. Ara totes les meves aplicacions estan internacionalitzades per defecte.

AA

Arnaud Ambroselli

Fundador de i18n-keyless

Vols afegir el teu?

Un testimoni contra una subscripció gratuïta. Demana la teva!

Envia el meu testimoni
Preus

Preus senzills i previsibles

Un preu únic per a la teva escala.
Totes les característiques en tots els plans.
Sense cost per mot, sense matemàtica de tokens.

Inici
4/ mes

Fins a 1.000 usuaris actius mensuals

Per a aplicacions indie i nous productes

Indie
9/ mes

Fins a 5.000 usuaris actius mensuals

Per a aplicacions que troben el seu públic

Creixement
29/ mes

Fins a 50.000 usuaris actius mensuals

Per a aplicacions amb tracció real

Escala
99/ mes

Fins a 500.000 usuaris actius mensuals

Per a productes a escala

Autoallotjat

O posseuixi: gratuït d'instal·lar, 30 € únicament per a projectes il·limitats.

La mateixa API, tauler de control i servidor MCP, en un contenidor Docker amb SQLite, al teu servidor, amb la teva pròpia clau de Mistral. Un projecte és gratuït per sempre; una llicència vitalícia de 30€ desbloqueja projectes il·limitats. Sense subscripció, sense límit d'ús, actualitzacions de per vida.

Compra la llicència perpètua

Cada pla inclou:

Totes les 48 llengües. Tot el món, des del primer dia

Traduccions il·limitades, IA inclosa. Les noves cadenes es tradueixen automàticament en producció

Traducció en directe de contingut generat per l'usuari (UGC)

Actualitza, redueix o cancel·la en qualsevol moment

Més de 500.000 usuaris actius mensuals? Contacti'ns

Què costa la mateixa aplicació en un altre lloc

Moveu els dos controls lliscants. El rebut és per a la vostra aplicació en tots els 48 idiomes.

1,000
2,500
SolucióLa teva factura mensualPagues perTraduccióLlengües
i18n-keylessnosaltres€4/ mesUsuaris actius mensuals
Guanyar guanyar.
IA, il·limitat, inclòsTots 48, des del primer dia
Crowdin€88/ mes1Paraules allotjades: les teves paraules × 48
Crowdin AI, dins d'una quotaAfegeixes cadascun
Intlayer€27/ mes2Seients i projectes
Generació d'IA, dins d'una quotaAfegeixes cadascun
Lingo.dev€91/ mes3Una tarifa base, després tokens d'IA
La factura d'IA va directament a tuAfegeixes cadascun
Locize€77/ mes4Paraules × 48, i descàrregues de CDN
Portes la teva pròpia clau d'IA10 en el pla publicat més gran
Lokalise€132/ mes5Seients, llavors claus
Traductors facturats per separatAfegeixes cadascun
Phrase€483/ mes6Seients, llavors paraules gestionades
Des de $0.06 per paraula, facturat per separatAfegeixes cadascun
Smartling€552/ mes7Cada paraula, cada llengua
Traducció d'IA des de $0.06 per paraulaAfegeixes cadascun
Tolgee€49/ mes8Claus i seients
Crèdits de traducció automàticaVostè omple cadascú
Weglot€1,678/ mes9Paraules × llenguatges, en una pàgina web
Màquina, dins d'una quota20 al pla publicat més gran

Preus públics de la llista, llegits a l'agost de 2026. Els venedors els canvien, així que si us plau, comproveu-ho. Cada factura és la nostra lectura de l'escala publicada, i sempre agafem el pla de pagament més barat que manté la vostra aplicació. Quan un venedor factura la primera traducció una vegada, la distribuïm al llarg de dotze mesos.

1 Crowdin publica 44 € al mes per 60.000 paraules allotjades al pla Pro, facturat anualment. Una paraula allotjada és una paraula en un idioma objectiu. Repetim aquest preu de bloc per sobre de les 60.000.

2 L'Intlayer és de codi obert. Els 29 dòlars al mes compren el CMS i la quota de generació d'IA. Si superes la quota, pots utilitzar la teva pròpia clau d'IA, de manera que afegim la factura del model a 10 dòlars per cada milió de tokens, repartits en dotze mesos.

3 Lingo.dev publica 99 dòlars al mes més 2 dòlars per cada milió de tokens d'infraestructura, i traspassa la factura del model a tu. Comptem 1,4 tokens per cada paraula i 10 dòlars per cada milió de tokens de cost del model. La quota base és la majoria d'aquesta xifra.

4 Locize publica 7 €, 19 € i 49 € al mes per 15.000, 30.000 i 60.000 paraules, amb 1, 3 i 5 milions de descàrregues CDN. A partir d'aquí, publica 0,50 € per cada 1.000 paraules addicionals i 5 € per cada milió de descàrregues addicionals. Comptem trenta descàrregues per usuari cada mes. Cap pla publicat no inclou 48 idiomes.

5 Lokalise publica $144, $375 i $999 al mes, i sense límit de claus. Assumim que els tres plans contenen 5.000, 20.000 i 100.000 claus, i dotze paraules per a cada clau. La traducció humana es factura per separat.

6 La frase publica 525 dòlars al mes per 1 milió de paraules gestionades al pla de programari, i 1.245 dòlars per 3 milions. Comptem una paraula gestionada per cada paraula en cada idioma, i repetim el bloc de 1.245 dòlars anterior per als 3 milions.

7 Smartling no publica un preu de plataforma. Només comptabilitzem la traducció amb IA, a $0.06 per paraula publicada, repartida en dotze mesos. La teva factura real és més alta.

8 Tolgee factura les claus, no les paraules, per la qual cosa comptem dotze paraules per cada clau. Publica €49 per 2.000 claus, €179 per 5.000 i €499 per 20.000, facturats anualment. A partir d’aquí repetim el bloc de €499. Els crèdits de traducció automàtica es compten per separat.

9 Weglot tradueix una pàgina web, no una aplicació. El seu pla publicat més gran és de 699 € al mes per a 20 idiomes, així que escalem aquest preu a 48 idiomes. Les teves paraules caben dins de cadascun d'aquests plans.

Cada línia alternada creix amb el teu producte. El nostre és un preu fix.

Abans que preguntis

Preguntes freqüents

Necessito gestionar els fitxers de traducció?

No. No hi ha fitxers JSON, cap pas d'extracció de claus ni cap connector en temps de compilació. Escriviu les vostres frases en la vostra llengua d'origen, l'SDK les envia a l'API en la primera sol·licitud, l'API les tradueix amb IA, i cada sol·licitud posterior es serveix des de la memòria cau. El vostre codi és l'única font de veritat.

Què passa quan canvio el text d'origen?

El text d'origen és la clau. Si el canvies, obtindràs una nova clau amb una nova traducció d'IA. L'antiga clau deixa simplement de rebre sol·licituds, i el tauler de control l'elimina després de 30 dies sense ús. Corregir una errada tipogràfica és igual: corregeix-la al codi, desplega-la, i el nou text es tradueix en la primera sol·licitud.

Quant costa?

Allotjat: un preu fix per project al mes, segons els usuaris actius mensuals — 4 € fins a 1.000, 9 € fins a 5.000, 29 € fins a 50.000, 99 € fins a 500.000 — facturat mensualment, cancel·la en qualsevol moment. Autoallotjat: gratuït d'instal·lar, un projecte gratuït per sempre, 30 € únicament per projectes il·limitats, sense subscripció ni límit d'ús. No hi ha preu per seient, per paraula ni per cadena en cap de les opcions.

Puc exportar les meves traduccions?

Sí. El tauler de control té un botó "Exporta JSON" que descarrega totes les traduccions del teu projecte com un únic fitxer JSON. L'exportació inclou totes les files, no només les utilitzades en els últims 30 dies, així que és una còpia de seguretat completa. No hi ha cap restricció: les teves dades sempre estan a un clic de distància.

Prova-ho tu mateix

Mira la demostració

Mira aquest vídeo curt per veure l'i18n-keyless en acció

Obteniu la clau de l'API per a una aplicació

La teva implementació completa d'i18n en 5 minuts. iykyk.

Configureu la vostra contrasenya després del pagament, mitjançant l'enllaç que us enviem.