DX definitivo para i18n

Indestrutível i18n para agentes amado pelos humanos

Nenhum chave para nomear, nenhum arquivo de localização para sincronizar, nenhum a.b.c na tela
O texto fonte é a chave, as traduções são indestrutíveis.

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.

Adicione i18n desde o primeiro dia sem nenhum impacto no seu ritmo de desenvolvimento
Construído para agentes de codificação

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 MCP
Perfeito para os MVPs

Lanç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

Configuração do sistema de chaves (1 hora)
Criar arquivos de tradução (2 horas)
Refatorar componentes (4 horas)
Testar todos os idiomas (2 horas)
Corrigir problemas de layout (3 horas)
12+ horas de trabalho

i18n-keyless

Adicionar pacote (1 min)
Configurar com chave API (2 min)
Envolver componentes de texto (2 min)
5 minutos de trabalho
Como funciona

É 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

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 do lado do servidor (por exemplo, Node.js)

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>
  );
}

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.

App Store & Google Play

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.

Experimente você mesmo

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.

Depoimentos ainda não existentes

Os desenvolvedores adoram a simplicidade

Veja o que os outros estão dizendo sobre i18n-keyless

Consegui adicionar i18n ao nosso MVP em literalmente 5 minutos. Lançamos em 7 idiomas sem nenhum tempo de desenvolvimento extra. Nossa base de código permaneceu limpa e pudemos nos concentrar em construir recursos em vez de gerenciar chaves de tradução.

JS

Jamie Smith

CTO em uma Startup Legal

A sobrecarga mental de gerenciar chaves de tradução estava matando nossa produtividade. Com i18n-keyless, simplesmente escrevemos em linguagem natural e tudo funciona. É como se o i18n nem existisse mais em nosso fluxo de trabalho.

AL

Alex Lee

Lead Developer na Another Cool Startup

Estávamos prestes a adiar o i18n para nosso produto até depois do lançamento. Com o i18n-keyless, implementamos durante a fase MVP e lançamos globalmente desde o primeiro dia. O ROI tem sido incrível.

MR

Maria Rodriguez

Fundador da GlobalApp

Preços

Preç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.

Entrada
€4/ mês

Até 1 000 utilizadores ativos por mês

Para aplicações indie e novos produtos

Indie
€9/ mês

Até 5.000 utilizadores ativos por mês

Para aplicações que encontram o seu público

Crescimento
€29/ mês

Até 50.000 utilizadores ativos por mês

Para aplicações com tração real

Escala
€99/ mês

Até 500.000 utilizadores ativos mensais

Para produtos em escala

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.

1,000
2,500
SoluçãoA sua factura mensalPaga porTraduçãoLínguas
i18n-keylessnós€4/ mêsUtilizadores ativos mensais
Vitória vitória.
IA, ilimitado, incluídoTodos os 48, desde o primeiro dia
Crowdin€88/ mês1Palavras hospedadas: suas palavras × 48
Crowdin AI, dentro de uma cotaVocê adiciona cada um
Intlayer€27/ mês2Assentos e projetos
Geração de IA, dentro de uma quotaVocê adiciona cada um
Lingo.dev€91/ mês3Uma taxa base, depois tokens de IA
A fatura de IA vai diretamente para siVocê adiciona cada um
Locize€77/ mês4Palavras × 48 e transferências CDN
Traz a tua própria chave de IA10 no maior plano publicado
Lokalise€132/ mês5Assentos, depois chaves
Tradutores faturados separadamenteVocê adiciona cada um
Phrase€483/ mês6Assentos, depois palavras geridas
A partir de $0.06 por palavra, faturado separadamenteVocê adiciona cada um
Smartling€552/ mês7Cada palavra, cada língua
Tradução por IA a partir de $0,06 por palavraVocê adiciona cada um
Tolgee€49/ mês8Chaves e assentos
Créditos de tradução automáticaVocê preenche cada um
Weglot€1,678/ mês9Palavras × línguas, em uma página web
Máquina, dentro de uma quota20 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.

Experimente você mesmo

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.