Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Este documento está desatualizado, a versão base foi atualizada em 25 de junho de 2026.
Ir para a documentação em inglêsHistórico de versões
- "Documento inicial"v8.0.021/01/2026
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
Documentação do Plugin intlayer para Vite
O plugin Vite intlayer integra a configuração do Intlayer ao processo de build. Ele gerencia aliases de dicionários, inicia o watcher de dicionários em modo de desenvolvimento e prepara os dicionários para o build.
Uso
Copiar o código para a área de transferência
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Opções
Copiar o código para a área de transferência
import type { IntlayerPluginOptions } from "vite-intlayer";IntlayerPluginOptions estende GetConfigurationOptions (ver @intlayer/config) com os seguintes campos adicionais:
Abrir a tabela em um modal para ver todo o conteúdo claramente
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
compatCallers | CompatCallerConfig[] | [] | Padrões de chamador extra para pacotes compat-adapter (ex.: @intlayer/react-i18next). Passado ao analisador de uso de campo no momento da compilação. |
proxy | { ignore?: (req) => boolean } | undefined | Opções encaminhadas para o proxy de roteamento de locale agrupado. Use ignore para excluir caminhos específicos (ex.: rotas de API) do roteamento de locale. |
Todas as outras opções (override, configFile, …) são encaminhadas diretamente para getConfiguration().
Exemplos
Ignorar rotas de API do roteamento de locale
Copiar o código para a área de transferência
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api"), }, }), ],});Com um caminho de arquivo de configuração personalizado
Copiar o código para a área de transferência
export default defineConfig({ plugins: [ intlayer({ configFile: "./config/intlayer.config.ts", }), ],});Com callers compat-adapter
Copiar o código para a área de transferência
import { intlayer } from "vite-intlayer";import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";export default defineConfig({ plugins: [ intlayer({ compatCallers: [reactI18nextCallerConfig], }), ],});O que o plugin faz
1. Preparação do dicionário
Antes do build iniciar (e uma vez por hora em dev), intlayer chama prepareIntlayer para compilar todos os arquivos .content.ts em dicionários JSON otimizados armazenados em .intlayer/.
2. Aliases de módulo
O plugin adiciona aliases de resolução do Vite para que import { myDict } from 'intlayer/dictionaries/my-dict' seja resolvido para o arquivo JSON compilado no disco. Os builds SSR usam ssr.noExternal para garantir que todos os pacotes @intlayer/* sejam agrupados com aliases aplicados.
3. Dev-server watcher
Em modo de desenvolvimento, um watcher chokidar é iniciado. Quando um arquivo .content.ts é alterado, os dicionários são recompilados e o HMR do Vite propaga a atualização para o navegador.
4. Proxy de roteamento de locale agrupado (v9+)
Desde o Intlayer v9, o middleware intlayerProxy é registrado automaticamente dentro de intlayer(). Ele trata:
- Detecção de locale a partir do prefixo da URL, cookies e cabeçalho
Accept-Language. - Redirecionamentos 301 quando o locale detectado não corresponde à URL atual.
- Reescritas de URL internas para que o framework veja o parâmetro de rota
[locale]correto.
O proxy é controlado por routing.enableProxy (padrão true) na sua configuração do Intlayer. Para desabilitá-lo completamente:
Copiar o código para a área de transferência
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ routing: { enableProxy: false },});Para personalizar o comportamento do proxy sem uma chamada intlayerProxy() separada, passe opções proxy para o plugin principal:
Copiar o código para a área de transferência
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });Veja a documentação do intlayerProxy para a referência completa do comportamento de roteamento.
5. Compilador agrupado (v9+)
Quando compiler.enabled é true e compiler.output está definido na sua configuração Intlayer, intlayer() registra intlayerCompiler automaticamente. O compilador extrai declarações de conteúdo inline escritas diretamente dentro de arquivos de componente e as escreve em dicionários no tempo de transformação. Consulte a documentação do intlayerCompiler.
6. Otimizações de build
Durante um build de produção, o plugin adiciona:
- intlayerOptimize – Babel transform que reescreve
useIntlayer('key')→useDictionary(hash)e injeta importações JSON diretas. - intlayerPrune – remove campos de conteúdo não utilizados do dictionary JSON.
- intlayerMinify – compacta dictionary JSON e opcionalmente faz mangling de nomes de campos.
Estes estão inativos em modo de desenvolvimento.
Aliases Descontinuadas
Abrir a tabela em um modal para ver todo o conteúdo claramente
| Exportação Descontinuada | Substituição |
|---|---|
intlayerPlugin | intlayer |
intLayerPlugin | intlayer |