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
- "Documento inicial"v5.8.009/09/2025
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Traduza seu Nest backend com Intlayer | Internacionalização (i18n)
express-intlayer é um middleware poderoso de internacionalização (i18n) para aplicações Express, projetado para tornar seus serviços backend acessíveis globalmente, fornecendo respostas localizadas com base nas preferências do cliente. Como o NestJS é construído sobre o Express, você pode integrar perfeitamente o express-intlayer em suas aplicações NestJS para lidar efetivamente com conteúdo multilíngue.
Começando
Criar um novo projeto NestJS
Copiar o código para a área de transferência
npm install -g @nestjs/clinest new my-nest-appInstalação
Para começar a usar o express-intlayer, instale o pacote usando npm:
Copiar o código para a área de transferência
npx intlayer@canary init --interactive # v9# npx intlayer init # v8a 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
npm install intlayer express-intlayerConfigurar tsconfig.json
Para usar o Intlayer com TypeScript, certifique-se de que seu tsconfig.json esteja configurado para suportar módulos ES. Você pode fazer isso definindo as opções module e moduleResolution para nodenext.
Copiar o código para a área de transferência
{ compilerOptions: { module: "nodenext", moduleResolution: "nodenext", // ... outras opções },}Configuração
Configure as definições de internacionalização criando um arquivo intlayer.config.ts na raiz do seu projeto:
Copiar o código para a área de transferência
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
};
export default config;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 estejam 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 do Middleware Express
Integre o middleware express-intlayer na sua aplicação NestJS para lidar com internacionalização:
Copiar o código para a área de transferência
import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common";import { AppController } from "./app.controller";import { AppService } from "./app.service";import { intlayer } from "express-intlayer";@Module({ imports: [], controllers: [AppController], providers: [AppService],})export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer.apply(intlayer()).forRoutes("*"); // Aplicar para todas as rotas }}Use Traduções em Seus Serviços ou Controladores
Agora você pode usar a função getIntlayer para acessar traduções em seus serviços ou controladores:
Copiar o código para a área de transferência
import { Injectable } from "@nestjs/common";import { getIntlayer } from "express-intlayer";@Injectable()export class AppService { getHello(): string { return getIntlayer("app").greet; // Retorna a saudação da camada internacionalizada }}Compatibilidade
express-intlayer é totalmente compatível com:
react-intlayerpara aplicações Reactnext-intlayerpara aplicações Next.jsvite-intlayerpara aplicações Vite
Também funciona perfeitamente com qualquer solução de internacionalização em diversos ambientes, incluindo navegadores e requisições API. Você pode personalizar o middleware para detectar o locale através de headers ou cookies:
Copiar o código para a área de transferência
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { // ... Outras opções de configuração middleware: { headerName: "my-locale-header", cookieName: "my-locale-cookie", },};export default config;Por padrão, o express-intlayer interpretará o cabeçalho Accept-Language para determinar o idioma preferido do cliente.
Para mais informações sobre configuração e tópicos avançados, visite nossa documentação.
Configurar TypeScript
express-intlayer aproveita as robustas capacidades 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 manutenção.


Certifique-se de que os tipos autogerados (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
{ // ... Suas configurações existentes do TypeScript include: [ // ... Suas configurações existentes do TypeScript ".intlayer/**/*.ts", // Inclua os tipos autogerados ],}Extensão VS Code
Para melhorar sua experiência de desenvolvimento com o Intlayer, você pode instalar a Extensão oficial Intlayer para VS Code.
Instalar no VS Code Marketplace
Esta extensão oferece:
- Autocompletar para chaves de tradução.
- Detecção de erros em tempo real para traduções ausentes.
- Visualizações inline do 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 que eles sejam comitados no seu repositório Git.
Para isso, você pode adicionar as seguintes instruções ao seu arquivo .gitignore:
Copiar o código para a área de transferência
# Ignorar os arquivos gerados pelo Intlayer.intlayer