O mais barato e o mais eficiente i18n para codificação agentiva
i18n sem chaves seu agente de codificação acerta de primeira: um arquivo para editar, nenhum JSON local para carregar, nenhum conflito de mesclagem, a partir de 4 euros por mês.
Configuração de 5 minutos
Sua implementação completa de i18n em 5 minutos. Não estou brincando.
Sistema sem chaves
Seu cérebro não deveria estar envolvido em tarefas tão insignificantes.
Global desde o primeiro dia
Envie para mercados internacionais sem esforço extra.
Configurar i18n, manter seu código limpo e enviar rapidamente
Vários PITA existem com as soluções atuais de i18n. As dores são tão grandes que você adia o i18n o máximo possível.
Consome o tempo que você deveria passar na praia
Configurar o sistema de chaves: pelo menos 1 hora de tempo de desenvolvimento sênior
Ida e volta para cada nova chave: 1 minuto por chave, x500 chaves, x2 idiomas = 17 horas
Com o i18n-keyless, você não se preocupa com o sistema de i18n. Você pode ir à praia e pedir um mojito.
Hoje, a maioria dos sistemas usa chaves para traduzir o texto
Isso dói gerar. Isso dói manter.
Quando você vê um texto no aplicativo e quer atualizá-lo, você precisa encontrar a chave correspondente.
Com i18n-keyless, você não se preocupa com o sistema de i18n. Use seu cérebro para algo mais interessante.
Deixe as traduções para a IA
Com o sistema de chave, você precisa gerenciar as traduções no aplicativo.
Caso contrário, seus usuários verão someheader.welcome.title em seu aplicativo.
Com i18n-keyless, você não se preocupa com o sistema i18n. Basta escrever bons títulos, foque no marketing, obtenha vendas.
As bases de código são bonitas... até a infecção das chaves i18n
Com o sistema de chaves, quando você lê o código e o conteúdo, você tem que ler as chaves, não o idioma natural.
Às vezes você deve fazer um ajuste porque uma frase não está gramaticalmente correta. Mas você não sabe disso porque você lê as chaves.
Com i18n-keyless, você não se preocupa com o sistema i18n. A base de código fica bonita.
Servidor MCP para cobrir todas as suas necessidades de internacionalização
Mais seis razões pelas quais o sistema está tão otimizado para codificação agentiva.
Nenhum nome para inventar
Uma chave é uma decisão de nomeação sem resposta correta. Dois agentes escrevem login.submit e auth.button.send para o mesmo botão. Sem chaves, não há decisão a tomar.
Um ficheiro para editar, não vinte
Uma alteração baseada em chave afeta o componente e cada ficheiro JSON de localização, e os agentes esquecem-se dos ficheiros. Aqui, uma alteração de cópia é uma edição de um único ficheiro.
Zero conflitos de mesclagem em frotas de agentes
Cinco agentes em cinco ramos editam todos o en.json: um conflito garantido. Não há ficheiro partilhado, por isso os worktrees e os agentes em segundo plano nunca colidem.
Barato em tokens
Para reutilizar uma chave, um agente deve carregar os arquivos de localização no contexto a cada edição. Os carregamentos sem chave não fazem nada: o texto está bem ali no componente.
Diferenças legíveis
O pedido de pull request mostra frases reais. Um humano ou um agente de revisão pode julgar a cópia sem precisar investigar o que uma chave representa.
Uma regra no seu CLAUDE.md
Toda regra de i18n que você escreve é uma regra que o agente pode quebrar. Esta regra precisa de apenas uma linha — e a alternativa é o texto real, então um erro não mostrará a.b.c na tela.
A única regra de i18n de que o seu agente precisa
# CLAUDE.md Write the UI copy in English and wrap it in <T>…</T> from i18n-keyless-react. That is the whole i18n setup.
O seu agente pode operá-lo, não apenas escrevê-lo
Através do servidor MCP, o agente lista as traduções em falta, lê uma, substitui uma má ou importa a cópia que já tens — com o seu próprio login OAuth, sem necessidade de colar uma chave.
Leia o guia do MCPLançamento global desde o primeiro dia
Pare de adiar a i18n por causa da complexidade. Implemente em 5 minutos, não em dias. Mantenha sua velocidade de desenvolvimento como se a i18n não estivesse implementada.
- Implementação em 5 minutos. Não estou brincando.
Um simples objeto de configuração e pronto.
- Manter a velocidade de desenvolvimento
Código como se a i18n não estivesse implementada de forma alguma.
- Envio para mercados globais
Não é necessária nenhuma refatoração ao escalar para novos idiomas.
- Pronto para SSR & SEO
Funciona com Next.js, Remix, TanStack Start e Astro. Renderização do lado do servidor em qualquer idioma para mecanismos de busca — mesma configuração em 5 minutos.
Tradicional i18n
i18n-keyless
É muito fácil de configurar
Apenas o objeto de configuração mais simples e você está pronto para ir global.
E ainda mais, o seu agente irá configurá-lo para si.
1. Configuração 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. Uso do Componente (Aqui React; o mesmo em 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. Uso no lado do servidor (aqui Node.js; a mesma chamada no 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. Para o texto fora dos componentes
import { getTranslation } from "i18n-keyless-react";
export default function Navigation() {
return (
<HomeTabs.Navigator>
<HomeTabs.Screen
options={{ tabBarLabel: getTranslation("Welcome") }}
name="WELCOME"
/>
</HomeTabs.Navigator>
);
}5. Escolha o seu SDK: uma linha de instalação, a mesma API em todo o lado
- 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
Como funcionam as traduções
i18n-keyless é uma biblioteca, combinada com um serviço de API, que permite traduzir seu texto sem a necessidade de usar chaves.
Se a tradução não for encontrada, haverá uma busca assíncrona para a API do I18nKeyless para obter a tradução por uma chamada de API de IA.
Esta operação é feita geralmente no modo de desenvolvimento, enquanto você está codificando. Se você perdeu uma, em produção apenas o primeiro usuário que falta a tradução verá um glitch, depois estará disponível instantaneamente para os usuários em todo o mundo.
A sua listagem da loja em todos os idiomas, em cada lançamento
Cada atualização significa novas notas de lançamento, uma descrição e palavras-chave — para cada idioma, em ambas as lojas. É isso que o impede de adicionar idiomas. Não o aplicativo.
- Notas de lançamento para cada idioma, em uma chamada
Escreva a atualização uma vez. awaitForTranslation retorna-a em cada idioma que vende e a configuração da sua loja alimenta-o para o EAS ou fastlane.
- 48 idiomas, mapeados para os slots da App Store
pt-BR e pt-PT são duas listas; en-GB, en-AU e en-CA são três. toAppStoreLocale coloca cada tradução no lugar certo.
- Corrija uma tradução ruim sem um lançamento
No aplicativo, uma substituição no painel de controle está ativa de uma vez — sem build de hotfix, sem revisão da loja. Na lista, execute novamente o push.
- Não tem preço por palavra
Um tradutor cobra cerca de €0,10 por palavra. 2.000 cadeias multiplicadas por 10 idiomas é um orçamento que um desenvolvedor solo não tem. Aqui as palavras não são contadas.
A receita completa para um aplicativo 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 } };
};A mesma chamada escreve ficheiros de metadados do fastlane para o Google Play. As maiúsculas são apenas indicativas: coloque o limite no contexto e verifique o comprimento antes de enviar.
Caixa de areia interativa
Veja como o i18n-keyless funciona em tempo real
Abra um projeto StackBlitz ao vivo e editável para ver as traduções se resolverem enquanto você digita.
Por que eu construí isso
Eu sempre adiei a internacionalização até que o meu cliente a quisesse tanto que não tive escolha. Odeio ler código com chaves de internacionalização dentro, e odeio manter ficheiros JSON tanto quanto ver o quão caros são os fornecedores de traduções de internacionalização. Por isso tive de criar o meu próprio, e EU AMO-O. Todos os meus apps estão internacionalizados por defeito agora.
Arnaud Ambroselli
Fundador do i18n-keyless
Quer adicionar o seu?
Um testemunho contra uma assinatura gratuita. Peça a sua!
Envie o meu testemunhoPreços simples e previsíveis
Um preço fixo para a sua escala.
Todas as funcionalidades em todos os planos.
Sem taxas por palavra, sem cálculo de tokens.
Até 1 000 utilizadores ativos por mês
Para aplicações indie e novos produtos
Até 5.000 utilizadores ativos por mês
Para aplicações que encontram o seu público
Até 50.000 utilizadores ativos por mês
Para aplicações com tração real
Até 500.000 utilizadores ativos mensais
Para produtos em escala
Ou adquira-o: gratuito para instalar, 30 € uma vez para projetos ilimitados.
A mesma API, painel e servidor MCP, num único contentor Docker com SQLite, no seu servidor, com a sua própria chave Mistral. Um projeto é gratuito para sempre; uma licença vitalícia de €30 desbloqueia projetos ilimitados. Sem assinatura, sem limite de uso, atualizações vitalícias.
Todos os planos incluem:
Todos os 48 idiomas. Todo o mundo, desde o primeiro dia
Traduções ilimitadas, incluindo IA. Novas strings traduzem-se automaticamente na produção
Tradução ao vivo de conteúdo gerado pelo utilizador (UGC)
Atualize, reduza ou cancele a qualquer momento
Mais de 500.000 utilizadores ativos mensais? Contacte-nos
Quanto custa o mesmo app em outro lugar
Mova os dois controles deslizantes. A fatura é para o seu aplicativo em todos os 48 idiomas.
| Solução | A sua factura mensal | Paga por | Tradução | Línguas |
|---|---|---|---|---|
| i18n-keylessnós | €4/ mês | Utilizadores ativos mensais Vitória vitória. | IA, ilimitado, incluído | Todos os 48, desde o primeiro dia |
| Crowdin | €88/ mês1 | Palavras hospedadas: suas palavras × 48 | Crowdin AI, dentro de uma cota | Você adiciona cada um |
| Intlayer | €27/ mês2 | Assentos e projetos | Geração de IA, dentro de uma quota | Você adiciona cada um |
| Lingo.dev | €91/ mês3 | Uma taxa base, depois tokens de IA | A fatura de IA vai diretamente para si | Você adiciona cada um |
| Locize | €77/ mês4 | Palavras × 48 e transferências CDN | Traz a tua própria chave de IA | 10 no maior plano publicado |
| Lokalise | €132/ mês5 | Assentos, depois chaves | Tradutores faturados separadamente | Você adiciona cada um |
| Phrase | €483/ mês6 | Assentos, depois palavras geridas | A partir de $0.06 por palavra, faturado separadamente | Você adiciona cada um |
| Smartling | €552/ mês7 | Cada palavra, cada língua | Tradução por IA a partir de $0,06 por palavra | Você adiciona cada um |
| Tolgee | €49/ mês8 | Chaves e assentos | Créditos de tradução automática | Você preenche cada um |
| Weglot | €1,678/ mês9 | Palavras × línguas, em uma página web | Máquina, dentro de uma quota | 20 no maior plano publicado |
Preços públicos da lista, lidos em agosto de 2026. Os fornecedores os alteram, por isso verifique, por favor. Cada fatura é a nossa leitura da escada publicada, e nós sempre escolhemos o plano pago mais barato que mantém o seu aplicativo. Quando um fornecedor cobra a primeira tradução uma vez, nós a distribuímos ao longo de doze meses.
1 A Crowdin publica 44 € por mês por 60.000 palavras alojadas no plano Pro, faturado anualmente. Uma palavra alojada é uma palavra em um idioma alvo. Repetimos esse preço de bloco acima de 60.000.
2 O Intlayer é de código aberto. Os $29 por mês cobrem o CMS e a cota de geração de IA. Acima da cota, você pode usar sua própria chave de IA, por isso adicionamos a fatura do modelo em $10 para cada milhão de tokens, distribuídos ao longo de doze meses.
3 A Lingo.dev publica $99 por mês, mais $2 por cada milhão de tokens de infraestrutura, e repassa a fatura do modelo para você. Contamos 1,4 tokens por palavra e $10 por cada milhão de tokens de custo do modelo. A taxa base é a maior parte deste valor.
4 A Locize publica €7, €19 e €49 por mês para 15.000, 30.000 e 60.000 palavras, com 1, 3 e 5 milhões de transferências CDN. Acima disso, publica $0,50 por cada 1.000 palavras extras e $5 por cada milhão de transferências extras. Contamos trinta transferências por utilizador todos os meses. Nenhum plano publicado abrange 48 línguas.
5 A Lokalise publica $144, $375 e $999 por mês, sem limite de chaves. Assumimos que os três planos incluem 5.000, 20.000 e 100.000 chaves, e doze palavras por chave. A tradução humana é faturada separadamente.
6 A frase publica 525 dólares por mês por 1 milhão de palavras geridas no plano de software, e 1 245 dólares por 3 milhões. Contamos uma palavra gerida por cada palavra em cada idioma, e repetimos o bloco de 1 245 dólares acima para 3 milhões.
7 A Smartling não publica um preço de plataforma. Contamos apenas a tradução por IA, ao preço publicado de $0,06 por palavra, distribuído ao longo de doze meses. A sua fatura real é mais alta.
8 O Tolgee fatura chaves, não palavras, por isso contamos doze palavras por cada chave. Publica €49 por 2.000 chaves, €179 por 5.000 e €499 por 20.000, faturados anualmente. Acima disso, repetimos o bloco de €499. Os créditos de tradução automática são contabilizados separadamente.
9 O Weglot traduz uma página da web, não um aplicativo. O maior plano publicado é de €699 por mês para 20 idiomas, então nós escalamos esse preço para 48 idiomas. Suas palavras cabem em cada um desses planos.
Cada linha alternada cresce com o seu produto. O nosso é um preço fixo.
Perguntas frequentes
Preciso de gerir ficheiros de tradução?
Não. Não existem ficheiros JSON, nem etapa de extração de chaves, nem plugin de compilação. Escreve as tuas frases na tua língua de origem, o SDK envia-as para a API no primeiro pedido, a API traduz com IA, e cada pedido subsequente é servido a partir da cache. O teu código é a única fonte de verdade.
O que acontece quando mudo o texto de origem?
O texto de origem é a chave. Ao mudá-lo, obterá uma nova chave com uma tradução de IA fresca. A chave antiga simplesmente deixa de ser solicitada e o painel de controlo limpa-a após 30 dias sem utilização. Corrigir um erro de digitação é igual: corrija-o no código, implemente e o novo texto será traduzido no primeiro pedido.
Quanto custa?
Hospedado: um preço fixo por projeto por mês, com base nos usuários ativos mensais — 4 € até 1.000, 9 € até 5.000, 29 € até 50.000, 99 € até 500.000 — faturado mensalmente, cancelável a qualquer momento. Auto-hospedado: grátis de instalar, um projeto gratuito para sempre, 30 € uma vez por projetos ilimitados, sem assinatura e sem limite de uso. Não há precificação por assento, por palavra ou por string em nenhuma das opções.
Posso exportar as minhas traduções?
Sim. O painel de controlo tem um botão "Exportar JSON" que baixa todas as traduções do seu projeto como um único ficheiro JSON. A exportação inclui todas as linhas, não apenas as usadas nos últimos 30 dias, por isso é um backup completo. Não há qualquer bloqueio: os seus dados estão sempre a um clique de distância.
Assista à demonstração
Assista a este vídeo curto para ver o i18n-keyless em ação
Obter chave API para um aplicativo
Sua implementação completa de i18n em 5 minutos. iykyk.