Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Histórico de versões
- "Atualizar o uso da API useIntlayer do Solid para acesso direto a propriedades"v8.9.004/05/2026
- "Adicionar comando init"v7.5.930/12/2025
- "Inicialização do histórico"v5.5.1029/06/2025
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsSe você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.
Link do GitHub para a documentaçãoCopiar o Markdown do documento para a área de transferência
Traduza seu site back-end Hono usando Intlayer | Internacionalização (i18n)
hono-intlayer é um poderoso middleware de internacionalização (i18n) para aplicações Hono, projetado para tornar seus serviços de back-end acessíveis globalmente, fornecendo respostas localizadas com base nas preferências do cliente.
Casos de Uso Práticos
Exibindo Erros de Back-end no Idioma do Usuário: Quando ocorre um erro, a exibição de mensagens no idioma nativo do usuário melhora a compreensão e reduz a frustração. Isso é especialmente útil para mensagens de erro dinâmicas que podem ser mostradas em componentes front-end como toasts ou modais.
Recuperando Conteúdo Multilíngue: Para aplicações que extraem conteúdo de um banco de dados, a internacionalização garante que você possa servir esse conteúdo em vários idiomas. Isso é crucial para plataformas como sites de comércio eletrônico ou sistemas de gerenciamento de conteúdo que precisam exibir descrições de produtos, artigos e outros conteúdos no idioma de preferência do usuário.
Enviando E-mails Multilíngues: Sejam e-mails transacionais, campanhas de marketing ou notificações, enviar e-mails no idioma do destinatário pode aumentar significativamente o engajamento e a eficácia.
Notificações Push Multilíngues: Para aplicações móveis, enviar notificações push no idioma de preferência de um usuário pode melhorar a interação e a retenção. Esse toque pessoal pode fazer com que as notificações pareçam mais relevantes e acionáveis.
Outras Comunicações: Qualquer forma de comunicação do back-end, como mensagens SMS, alertas do sistema ou atualizações da interface do usuário, beneficia-se de estar no idioma do usuário, garantindo clareza e aprimorando a experiência geral do usuário.
Ao internacionalizar o back-end, sua aplicação não apenas respeita as diferenças culturais, mas também se alinha melhor com as necessidades do mercado global, tornando-se um passo fundamental na expansão de seus serviços em todo o mundo.
Primeiros Passos
See Application Template on GitHub.
Instalação
Para começar a usar o hono-intlayer, instale o pacote usando o npm:
Copiar o código para a área de transferência
a flag--interactiveé opcional. Useintlayer-cli initse você for um agente de IA.
Este comando detectará seu ambiente e instalará os pacotes necessários. Por exemplo:
Copiar o código para a área de transferência
Configuração
Configure as definições de internacionalização criando um intlayer.config.ts na raiz do seu projeto:
Copiar o código para a área de transferência
Declare Seu Conteúdo
Crie e gerencie suas declarações de conteúdo para armazenar traduções:
Suas declarações de conteúdo podem ser definidas em qualquer lugar da sua aplicação, desde que sejam incluídas no diretóriocontentDir(por padrão,./src). E correspondam à extensão do arquivo de declaração de conteúdo (por padrão,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).
Para mais detalhes, consulte a documentação de declaração de conteúdo.
Configuração da Aplicação Hono
Configure sua aplicação Hono para usar o hono-intlayer:
Copiar o código para a área de transferência
Compatibilidade
O hono-intlayer é totalmente compatível com:
react-intlayerpara aplicações Reactnext-intlayerpara aplicações Next.jsvite-intlayerpara aplicações Vite
Ele também funciona perfeitamente com qualquer solução de internacionalização em vários ambientes, incluindo navegadores e solicitações de API. Você pode personalizar o middleware para detectar a localidade por meio de cabeçalhos ou cookies:
Copiar o código para a área de transferência
Por padrão, o hono-intlayer interpretará o cabeçalho Accept-Language para determinar o idioma de preferência do cliente.
Para mais informações sobre configuração e tópicos avançados, visite nossa documentação.
Configurar TypeScript
O hono-intlayer aproveita as capacidades robustas do TypeScript para aprimorar o processo de internacionalização. A tipagem estática do TypeScript garante que cada chave de tradução seja considerada, reduzindo o risco de traduções ausentes e melhorando a manutenibilidade.


Certifique-se de que os tipos gerados automaticamente (por padrão em ./types/intlayer.d.ts) estejam incluídos no seu arquivo tsconfig.json.
Copiar o código para a área de transferência
Extensão do VS Code
Para melhorar sua experiência de desenvolvimento com o Intlayer, você pode instalar a Extensão oficial do Intlayer para VS Code.
Instalar a partir do VS Code Marketplace
Esta extensão fornece:
- Autocompletar para chaves de tradução.
- Detecção de erro em tempo real para traduções ausentes.
- Pré-visualizações in-line de conteúdo traduzido.
- Ações rápidas para criar e atualizar traduções facilmente.
Para mais detalhes sobre como usar a extensão, consulte a documentação da Extensão Intlayer para VS Code.
Configuração do Git
É recomendado ignorar os arquivos gerados pelo Intlayer. Isso permite evitar o commit deles no seu repositório Git.
Para fazer isso, você pode adicionar as seguintes instruções ao seu arquivo .gitignore:
Copiar o código para a área de transferência
Perguntas Frequentes
O Hono não possui uma camada de i18n nativa própria; portanto, as opções são uma biblioteca genérica como i18next integrada manualmente em um middleware, ou o Intlayer através do hono-intlayer, que registra o middleware automaticamente, resolve o locale por requisição e compartilha o mesmo conteúdo tipado do seu frontend.
A principal razão para internacionalizar o backend é que grande parte do texto lido pelo usuário nunca passa pelo frontend: mensagens de erro da API, e-mails transacionais, notificações push, SMS e geração de PDFs. Todos esses casos exigem o idioma do destinatário, resolvido por requisição em vez de por sessão.
Consulte por que Intlayer.
Muito pouco. Os dicionários são compilados previamente e apenas os locales declarados são incluídos, dispensando o carregamento de catálogos na inicialização e leituras de arquivos em disco no caminho crítico das requisições. Isso é especialmente importante em ambientes serverless e edge, onde o tamanho do bundle influencia diretamente o tempo de inicialização a frio (cold start). Consulte otimização de bundle.
Sim, e existem dois caminhos. Você pode migrar o conteúdo progressivamente com o guia de migração do i18next. Ou você pode manter sua API atual integralmente: os adaptadores de compatibilidade (compat adapters) expõem exatamente a mesma interface que o i18next, porém alimentados pelos dicionários do Intlayer, alterando apenas os imports sem modificar o código dos handlers.
Sim. O plugin sync JSON mantém seus arquivos /messages/{locale}/{namespace}.json como fonte de verdade e gera dicionários Intlayer a partir deles, em ambas as direções. O plugin sync PO faz o mesmo para catálogos gettext, e os arquivos por locale permitem dividir o conteúdo por idioma em vez de agrupar todos os locales em um único arquivo.
Não. Execute npx intlayer extract e o Intlayer lê seus arquivos fonte, extrai as strings voltadas para o usuário e escreve um arquivo .content ao lado de cada um, para que você revise um diff em vez de copiar strings para um catálogo uma a uma. Consulte o comando extract.
No lado frontend do mesmo projeto, o Intlayer Compiler vai além e gera os dicionários em tempo de build a partir de código JSX, TSX, Vue ou Svelte, fazendo com que as duas partes da aplicação compartilhem a mesma camada de conteúdo sem necessidade de manter chaves manualmente.
Cinco ferramentas, todas opcionais:
- Extensão VS Code: navegue de uma chave
useIntlayerdiretamente para o arquivo de conteúdo que a declara, extraia conteúdo de um componente e execute build, fill, test, push e pull pela paleta de comandos ou pela aba dedicada do Intlayer. - Servidor LSP: a mesma inteligência em qualquer editor compatível com LSP, com ir para definição, localizar referências, pré-visualizações de valores traduzidos ao passar o mouse, autocompletar e alertas para chaves não declaradas. Também resolve chamadas de
i18next,react-i18next,next-intleuse-intl, facilitando a migração. - Servidor MCP: expõe a documentação e a CLI do Intlayer para Cursor, VS Code, Claude Desktop, Claude Code e ChatGPT, permitindo que os assistentes respondam com base na documentação atualizada e executem comandos como
intlayer fill. - Agent Skills: habilidades focadas como
intlayer-config,intlayer-clieintlayer-content, além de uma por framework, ensinando ao agente suas regras de roteamento e tipos de nós. - Plugin ESLint: a regra
no-raw-textidentifica strings hardcoded, com regras adicionais para chaves estáticas e conteúdo não utilizado.
