DX definitivo per l'i18n

Il più economico e il più efficiente i18n per la codifica agentica

i18n senza chiavi il tuo agente di codifica lo prende giusto al primo colpo: un file da modificare, nessun JSON locale da caricare, nessun conflitto di merge, da 4 euro al mese.

Configurazione in 5 minuti

La tua implementazione completa di i18n in 5 minuti. Non scherzo.

Sistema senza chiavi

Il tuo cervello non dovrebbe essere coinvolto in compiti così insignificanti.

Globale fin dal primo giorno

Spedisci nei mercati internazionali senza sforzo aggiuntivo.

Configurare i18n, mantenere il codice pulito e spedire velocemente

Esistono molte PITA con le soluzioni attuali di i18n. I dolori sono così grandi che ritardi l'i18n il più possibile.

Consuma il tempo che dovresti trascorrere in spiaggia

Configurare il sistema delle chiavi: almeno 1 ora di tempo di sviluppo senior

Avanti e indietro per ogni nuova chiave: 1 minuto per chiave, x500 chiavi, x2 lingue = 17 ore

Con i18n-keyless, non ti preoccupi del sistema di i18n. Puoi andare in spiaggia e ordinare un mojito.

Oggi, la maggior parte dei sistemi utilizza chiavi per tradurre il testo

Fa male generare. Fa male mantenere.

Quando vedi un testo nell'app e vuoi aggiornarlo, devi trovare la chiave corrispondente.

Con i18n-keyless, non ti preoccupi del sistema di i18n. Usa il tuo cervello per qualcosa di più interessante.

Lasciare le traduzioni all'IA

Con il sistema di chiave, devi gestire le traduzioni nell'app.

Altrimenti i tuoi utenti vedranno someheader.welcome.title nella loro app.

Con i18n-keyless, non ti preoccupi affatto del sistema i18n. Basta scrivere buoni titoli, concentrati sul marketing, ottieni vendite.

Le basi di codice sono belle... fino all'infezione delle chiavi i18n

Con il sistema di chiavi, quando leggi il codice e il contenuto, devi leggere le chiavi, non il linguaggio naturale.

A volte devi fare una correzione perché una frase non è grammaticalmente corretta. Ma non lo sai perché leggi le chiavi.

Con i18n-keyless, non ti preoccupi affatto del sistema i18n. Il codice rimane bello.

Aggiungi i18n fin dal primo giorno senza alcun impatto sul tuo ritmo di sviluppo
Costruito per agenti di codifica

Server MCP per coprire tutte le tue esigenze di internazionalizzazione

Altri sei motivi per cui il sistema è così ottimizzato per la programmazione agentica.

Nessun nome da inventare

Una chiave è una decisione di denominazione senza una risposta corretta. Due agenti scrivono login.submit e auth.button.send per lo stesso pulsante. Senza chiavi non c'è alcuna decisione da prendere.

Un file da modificare, non venti

Una modifica basata su chiave interessa il componente e ogni file JSON di localizzazione, e gli agenti dimenticano i file. Qui, una modifica di copia è un'edizione di un singolo file.

Zero conflitti di merge nelle flotte di agenti

Cinque agenti su cinque rami modificano tutti en.json: un conflitto garantito. Non esiste un file condiviso, quindi i worktrees e gli agenti in background non collidono mai.

Economico in token

Per riutilizzare una chiave, un agente deve caricare i file di localizzazione nel contesto a ogni modifica. I caricamenti senza chiave non fanno nulla: il testo è proprio lì nel componente.

Diff leggibili

La pull request mostra frasi reali. Un umano o un agente di revisione può giudicare la copia senza dover scavare per capire cosa rappresenta una chiave.

Una regola nel tuo CLAUDE.md

Ogni regola di i18n che scrivi è una regola che l'agente può violare. Questa regola richiede solo una riga — e il fallback è il testo reale, quindi un errore non mostrerà a.b.c sullo schermo.

L'unica regola i18n di cui il tuo agente ha bisogno

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

Il tuo agente può farlo funzionare, non solo scriverlo

Tramite il server MCP, l'agente elenca le traduzioni mancanti, ne legge una, sovrascrive una errata o importa la copia che già possiedi — con il proprio accesso OAuth, senza bisogno di incollare alcuna chiave.

Leggi la guida MCP
Perfetto per gli MVP

Lancio globale dal primo giorno

Smettila di ritardare l'i18n a causa della complessità. Implementa in 5 minuti, non in giorni. Mantieni la tua velocità di sviluppo come se l'i18n non fosse implementata.

  • Implementazione in 5 minuti. Non sto scherzando.

    Un semplice oggetto di configurazione e hai fatto.

  • Mantenere la velocità di sviluppo

    Codifica come se l'i18n non fosse implementato affatto.

  • Spedizione ai mercati globali

    Nessuna rifattorizzazione necessaria quando si scala a nuove lingue.

  • Pronto per SSR & SEO

    Funziona con Next.js, Remix, TanStack Start e Astro. Rendering lato server in qualsiasi lingua per i motori di ricerca — stessa configurazione in 5 minuti.

Tradizionale i18n

Configurazione del sistema di chiavi (1 ora)
Crea file di traduzione (2 ore)
Rifattorizzare i componenti (4 ore)
Testa tutte le lingue (2 ore)
Risolvere problemi di layout (3 ore)
12+ ore di lavoro

i18n-keyless

Aggiungi pacchetto (1 min)
Configurare con chiave API (2 min)
Avvolgere i componenti di testo (2 min)
5 minuti di lavoro
Come funziona

È un gioco da ragazzi da configurare

Solo il più semplice oggetto di configurazione e sei pronto per andare globale.
E ancora di più, il tuo agente lo imposterà per te.

1. Configurazione di base

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

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

2. Utilizzo del componente (Qui React; lo stesso in Vue, Angular, Flutter, Swift e 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. Utilizzo lato server (qui Node.js; la stessa chiamata in Laravel, Rails, Python e 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 il testo al di fuori dei componenti

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

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

5. Scegli il tuo SDK: una riga di installazione, la stessa API ovunque

  • 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

Configurazione rapida per ciascuno dei dodici SDK

Come funzionano le traduzioni

i18n-keyless è una libreria, combinata con un servizio API, che ti permette di tradurre il tuo testo senza la necessità di utilizzare chiavi.

Se la traduzione non viene trovata, ci sarà un recupero asincrono all'API di I18nKeyless per ottenere la traduzione tramite una chiamata API di IA.

Questa operazione viene solitamente eseguita in modalità di sviluppo, mentre stai codificando. Se ne hai persa una, in produzione solo il primo utente che manca la traduzione vedrà un glitch, poi sarà disponibile istantaneamente per gli utenti di tutto il mondo.

App Store & Google Play

La tua lista del negozio in ogni lingua, ad ogni rilascio

Ogni aggiornamento significa nuove note di rilascio, una descrizione e parole chiave — per ogni lingua, su entrambi gli store. Questo è ciò che ti impedisce di aggiungere lingue. Non l'app.

  • Note di rilascio per ogni lingua, in una chiamata

    Scrivi l'aggiornamento una volta. awaitForTranslation lo restituisce in ogni lingua in cui vendi, e la configurazione del tuo store lo invia a EAS o fastlane.

  • 48 lingue, mappate agli slot dell'App Store

    pt-BR e pt-PT sono due elenchi; en-GB, en-AU e en-CA sono tre. toAppStoreLocale posiziona ogni traduzione nel posto giusto.

  • Correggi una traduzione scadente senza un rilascio

    Nell'app, un override nella dashboard è attivo una alla volta — nessun build di hotfix, nessuna recensione del negozio. Nell'elenco, riesegui il push.

  • Non quotato a parola

    Un traduttore applica circa €0,10 a parola. 2.000 string per 10 lingue rappresentano un budget che uno sviluppatore singolo non può permettersi. Qui le parole non vengono contate.

La ricetta completa per un'app 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 stessa chiamata scrive i file di metadati fastlane per Google Play. Le maiuscole sono consultive: imposta il limite nel contesto e controlla la lunghezza prima di fare push.

Prova tu stesso

Sandbox interattivo

Vedi come funziona i18n-keyless in tempo reale

Apri un progetto StackBlitz live e modificabile per vedere le traduzioni risolversi mentre digiti.

Perché ho costruito questo

Ho sempre rimandato l'internazionalizzazione finché il mio cliente non l'ha voluta così tanto da non lasciarmi scelta. Odio leggere codice con chiavi di internazionalizzazione dentro e odio altrettanto mantenere file JSON come vedere quanto siano cari i provider di traduzioni per l'internazionalizzazione. Quindi ho dovuto costruire il mio e LO ADORO. Tutte le mie app sono ora internazionalizzate di default.

AA

Arnaud Ambroselli

Fondatore di i18n-keyless

Vuoi aggiungere il tuo?

Una testimonianza contro un abbonamento gratuito. Richiedi il tuo!

Invia la mia testimonianza
Prezzi

Prezzi semplici e prevedibili

Un prezzo fisso per la tua scala.
Ogni funzionalità in ogni piano.
Nessuna commissione per parola, nessun calcolo token.

Antipasto
4/ mese

Fino a 1.000 utenti attivi al mese

Per app indie e nuovi prodotti

Indie
9/ mese

Fino a 5.000 utenti attivi al mese

Per le app che trovano il loro pubblico

Crescita
29/ mese

Fino a 50.000 utenti attivi al mese

Per app con reale trazione

Scala
99/ mese

Fino a 500.000 utenti attivi mensili

Per prodotti su larga scala

Autonomo

O possiedilo: gratuito da installare, 30 € una volta per progetti illimitati.

La stessa API, dashboard e server MCP, in un unico container Docker con SQLite, sul tuo server, con la tua chiave Mistral. Un progetto è gratis per sempre; una licenza a vita da €30 sblocca progetti illimitati. Nessun abbonamento, nessun limite di utilizzo, aggiornamenti per tutta la vita.

Acquista la licenza a vita

Ogni piano include:

Tutte le 48 lingue. Il mondo intero, dal primo giorno

Traduzioni illimitate, inclusa l'IA. Nuove stringhe si traducono automaticamente in produzione

Traduzione in tempo reale di contenuti generati dagli utenti (UGC)

Aggiorna, riduci o annulla in qualsiasi momento

Più di 500.000 utenti attivi mensili? Contattaci

Quanto costa la stessa app da qualche altra parte

Sposta i due cursori. La fattura è per la tua app in tutte le 48 lingue.

1,000
2,500
SoluzioneLa tua fattura mensilePaghi perTraduzioneLingue
i18n-keylessnoi€4/ meseUtenti attivi mensili
Vincere vincere.
AI, illimitato, inclusoTutti i 48, fin dal primo giorno
Crowdin€88/ mese1Parole ospitate: le tue parole × 48
Crowdin AI, all'interno di una quotaAggiungi ciascuno
Intlayer€27/ mese2Posti e progetti
Generazione AI, all'interno di una quotaAggiungi ciascuno
Lingo.dev€91/ mese3Una tariffa base, poi token AI
La bolletta dell'IA va direttamente a teAggiungi ciascuno
Locize€77/ mese4Parole × 48, e download CDN
Porti la tua chiave AI personale10 nel piano più grande pubblicato
Lokalise€132/ mese5Posti, poi chiavi
Traduttori fatturati separatamenteAggiungi ciascuno
Phrase€483/ mese6Posti, poi parole gestite
Da $0.06 a parola, addebitato separatamenteAggiungi ciascuno
Smartling€552/ mese7Ogni parola, ogni lingua
Traduzione AI da $0,06 a parolaAggiungi ciascuno
Tolgee€49/ mese8Chiavi e sedili
Crediti per la traduzione automaticaTu riempi ciascuno
Weglot€1,678/ mese9Parole × lingue, su una pagina web
Macchina, all'interno di una quota20 nel piano pubblicato più grande

Prezzi pubblici della lista, letti nell'agosto 2026. I fornitori li modificano, quindi controllali. Ogni fattura è la nostra lettura della scala pubblicata, e scegliamo sempre il piano a pagamento più economico che mantiene la tua app. Quando un fornitore fattura la prima traduzione una volta, la suddividiamo in dodici mesi.

1 Crowdin pubblica 44 € al mese per 60.000 parole ospitate nel piano Pro, fatturate annualmente. Una parola ospitata è una parola in una lingua target. Ripetiamo quel prezzo del blocco sopra le 60.000.

2 Intlayer è open source. I 29 dollari al mese coprono il CMS e la quota di generazione dell'IA. Superata la quota, puoi utilizzare la tua chiave AI personale, quindi aggiungiamo la fattura del modello a 10 dollari per ogni milione di token, suddivisi in dodici mesi.

3 Lingo.dev pubblica 99 dollari al mese più 2 dollari per ogni milione di token di infrastruttura, e ti passa la fattura del modello. Contiamo 1,4 token per ogni parola e 10 dollari per ogni milione di token di costo del modello. La tariffa base è la maggior parte di questa cifra.

4 Locize pubblica €7, €19 e €49 al mese per 15.000, 30.000 e 60.000 parole, con 1, 3 e 5 milioni di download CDN. Oltre a ciò, pubblica $0,50 per ogni 1.000 parole extra e $5 per ogni milione di download extra. Contiamo trenta download per ogni utente ogni mese. Nessun piano pubblicato supporta 48 lingue.

5 Lokalise pubblica $144, $375 e $999 al mese, senza limiti di chiavi. Supponiamo che i tre piani includano 5.000, 20.000 e 100.000 chiavi, e dodici parole per ogni chiave. La traduzione umana viene fatturata separatamente.

6 La frase pubblica 525 dollari al mese per 1 milione di parole gestite nel piano software, e 1.245 dollari per 3 milioni. Contiamo una parola gestita per ogni parola in ogni lingua, e ripetiamo il blocco di 1.245 dollari sopra per 3 milioni.

7 Smartling non pubblica un prezzo della piattaforma. Contiamo solo la traduzione AI, al costo pubblicato di $0,06 a parola, distribuito su dodici mesi. La tua fattura reale è più alta.

8 Tolgee fattura le chiavi, non le parole, quindi contiamo dodici parole per ogni chiave. Pubblica €49 per 2.000 chiavi, €179 per 5.000 e €499 per 20.000, fatturati annualmente. Oltre a ciò, ripetiamo il blocco di €499. I crediti per la traduzione automatica vengono conteggiati separatamente.

9 Weglot traduce una pagina web, non un'app. Il suo piano pubblicato più grande è di €699 al mese per 20 lingue, quindi adattiamo quel prezzo a 48 lingue. Le tue parole si adattano a ciascuno di questi piani.

Ogni altra riga cresce con il tuo prodotto. Il nostro è un prezzo fisso.

Prima che tu chieda

Domande frequenti

Devo gestire i file di traduzione?

No. Non ci sono file JSON, non ci sono passaggi di estrazione delle chiavi e nessun plugin di build-time. Scrivi le tue frasi nella tua lingua di origine, l'SDK le invia all'API alla prima richiesta, l'API le traduce con l'IA e ogni richiesta successiva viene servita dalla cache. Il tuo codice è l'unica fonte di verità.

Cosa succede quando modifico il testo di origine?

Il testo di origine è la chiave. Cambiandolo otterrai una nuova chiave con una traduzione AI fresca. La chiave vecchia semplicemente smette di essere richiesta e la dashboard la rimuove dopo 30 giorni di inattività. Anche la correzione di un refuso funziona allo stesso modo: correggilo nel codice, distribuiscilo e il nuovo testo verrà tradotto alla prima richiesta.

Quanto costa?

Ospitato: un prezzo fisso per progetto al mese, in base agli utenti attivi mensili — 4 € fino a 1.000, 9 € fino a 5.000, 29 € fino a 50.000, 99 € fino a 500.000 — addebitato mensilmente, annullabile in qualsiasi momento. Auto-ospitato: gratuito da installare, un progetto gratuito per sempre, 30 € una tantum per progetti illimitati, senza abbonamento e senza limiti di utilizzo. Non c'è una tariffazione per posto, per parola o per stringa in nessuna delle opzioni.

Posso esportare le mie traduzioni?

Sì. La dashboard ha un pulsante "Esporta JSON" che scarica tutte le traduzioni del tuo progetto come un singolo file JSON. L'esportazione include tutte le righe, non solo quelle utilizzate negli ultimi 30 giorni, quindi è un backup completo. Non c'è alcun vincolo: i tuoi dati sono sempre a un clic di distanza.

Prova tu stesso

Guarda la demo

Guarda questo breve video per vedere i18n-keyless in azione

Ottieni la chiave API per un'app

La tua implementazione completa di i18n in 5 minuti. iykyk.

Imposti la password dopo il pagamento, tramite il link che ti inviamo.