InícioAmbiente de testeVitrineAppDocBlog
    • Englishinglês
      EN
    • русскийrusso
      RU
    • 日本語japonês
      JA
    • françaisfrancês
      FR
    • 한국어coreano
      KO
    • 中文chinês
      ZH
    • españolespanhol
      ES
    • Deutschalemão
      DE
    • العربيةárabe
      AR
    • italianoitaliano
      IT
    • British Englishinglês (Reino Unido)
      EN-GB
    • portuguêsportuguês
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolonês
      PL
    • Indonesiaindonésio
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraniano
      UK
    /
    Filtrar documentação por framework
    Alt+←
    Por que Intlayer?
    Começar
    Conceito
    • Como o Intlayer funciona
    • Configuração
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visual
    • CMS
    • Integração CI/CD
    • TraduçãoPluralEnumeraçãoCondiçãoGêneroInserçãoArquivoAninhamentoMarkdownHTMLBusca de função
    • Arquivo por locale
    • Compilador
    • Preenchimento automático
    • Testes
    • Otimização de bundle
    Ambiente
    • Next.js 14 e App Router
      Next.js 15
      Next.js sem locale URL
      Next.js e Page Router
      Compiler
    • Tanstack Start Solid
    • Astro e React
      Astro e Svelte
      Astro e Vue
      Astro e Solid
      Astro e Preact
      Astro e Lit
      Astro e Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt e Vue
    • Vite e Solid
    • SvelteKit
    • Vite e Preact
    • Vite e Vanilla JS
    • Vite e Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native e Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx e React
    Plugins
    • JSON
    • gettext (.po)
    Extensão VS Code
    Agente
    • Servidor MCP
    • Habilidades do agente
    Versões
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Faça uma pergunta
    1. Documentation
    2. Conceito
    3. Preenchimento automático
    Criação:2025-03-13Última atualização:2025-09-20
    Referência esta documentação ao seu assistente AI favorito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    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

    1. "Adicionada configuração global"
      v6.0.020/09/2025
    2. "Adicionada variável `{{fileName}}`"
      v6.0.017/09/2025
    3. "Histórico inicial"
      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ês
    Editar esta documentação

    Se 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ção
    Copiar

    Copiar o Markdown do documento para a área de transferência

    Traduções de Arquivos de Declaração de Conteúdo com Preenchimento Automático

    Arquivos de declaração de conteúdo com preenchimento automático são uma forma de acelerar seu fluxo de trabalho de desenvolvimento.

    O mecanismo de preenchimento automático funciona através de uma relação mestre-escravo entre arquivos de declaração de conteúdo. Quando o arquivo principal (mestre) é atualizado, o Intlayer aplicará automaticamente essas alterações aos arquivos de declaração derivados (preenchidos automaticamente).

    src/components/example/example.content.ts
    Copiar código

    Copiar o código para a área de transferência

    import { Locales, type Dictionary } from "intlayer";const exampleContent = {  key: "example",  locale: Locales.ENGLISH,  autoFill: "./example.content.json",  content: {    contentExample: "Este é um exemplo de conteúdo",  },} satisfies Dictionary;// Exporta o conteúdo de exemploexport default exampleContent;

    Aqui está um arquivo de declaração de conteúdo por localidade usando a instrução autoFill.

    Então, quando você executar o seguinte comando:

    bash
    Copiar código

    Copiar o código para a área de transferência

    npx intlayer fill --file 'src/components/example/example.content.ts'

    O Intlayer irá gerar automaticamente o arquivo de declaração derivado em src/components/example/example.content.json, preenchendo todos os locais que ainda não foram declarados no arquivo principal.

    src/components/example/example.content.json
    Copiar código

    Copiar o código para a área de transferência

    {  "key": "example",  "content": {    "contentExample": {      "nodeType": "translation",      "translation": {        "fr": "Ceci est un exemple de contenu",        "es": "Este es un ejemplo de contenido",      },    },  },}

    Posteriormente, ambos os arquivos de declaração serão mesclados em um único dicionário, acessível usando o hook padrão useIntlayer("example") (react) / composable (vue).

    Formato do Arquivo Preenchido Automaticamente

    O formato recomendado para arquivos de declaração preenchidos automaticamente é JSON, que ajuda a evitar restrições de formatação. No entanto, o Intlayer também suporta .ts, .js, .mjs, .cjs e outros formatos.

    src/components/example/example.content.ts
    Copiar código

    Copiar o código para a área de transferência

    const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // Seu conteúdo  },};

    Isso irá gerar o arquivo em:

    plaintext
    Copiar código

    Copiar o código para a área de transferência

    src/components/example/example.filled.content.ts

    A geração de arquivos .js, .ts e similares funciona da seguinte forma:

    • Se o arquivo já existir, o Intlayer irá analisá-lo usando AST (Árvore de Sintaxe Abstrata) para localizar cada campo e inserir quaisquer traduções faltantes.
    • Se o arquivo não existir, o Intlayer irá gerá-lo usando o template padrão de arquivo de declaração de conteúdo.

    Caminhos Absolutos

    O campo autoFill também suporta caminhos absolutos.

    src/components/example/example.content.ts
    Copiar código

    Copiar o código para a área de transferência

    const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // Seu conteúdo  },};

    Isso irá gerar o arquivo em:

    plaintext
    Copiar código

    Copiar o código para a área de transferência

    /messages/example.content.json

    Geração Automática de Arquivos de Declaração de Conteúdo Por Localidade

    O campo autoFill também suporta a geração de arquivos de declaração de conteúdo por localidade.

    src/components/example/example.content.ts
    Copiar código

    Copiar o código para a área de transferência

    const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",    es: "./example.es.content.json",  },  content: {    // Seu conteúdo  },};

    Isso irá gerar dois arquivos separados:

    • src/components/example/example.fr.content.json
    • src/components/example/example.es.content.json
    Neste caso, se o objeto não contiver todas as localidades, o Intlayer pula a geração das localidades restantes.

    Filtrar Autofill para Localidade Específica

    Usar um objeto para o campo autoFill permite aplicar filtros e gerar apenas arquivos de localidades específicas.

    src/components/example/example.content.ts
    Copiar código

    Copiar o código para a área de transferência

    const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",  },  content: {    // Seu conteúdo  },};

    Isso irá gerar apenas o arquivo de tradução em francês.

    Variáveis de Caminho

    Você pode usar variáveis dentro do caminho autoFill para resolver dinamicamente os caminhos de destino para os arquivos gerados.

    Variáveis disponíveis:

    • {{locale}} – Código da localidade (ex.: fr, es)
    • {{fileName}} – Nome do arquivo (ex.: index)
    • {{key}} – Chave do dicionário (ex.: example)
    src/components/example/index.content.ts
    Copiar código

    Copiar o código para a área de transferência

    const exampleContent = {  key: "example",  autoFill: "/messages/{{locale}}/{{key}}.content.json",  content: {    // Seu conteúdo  },};

    Isso irá gerar:

    • /messages/fr/example.content.json
    • /messages/es/example.content.json
    src/components/example/index.content.ts
    Copiar código

    Copiar o código para a área de transferência

    const exampleContent = {  key: "example",  autoFill: "./{{fileName}}.content.json",  content: {    // Seu conteúdo  },};

    Isso irá gerar:

    • ./index.content.json
    • ./index.content.json
    Compilador
    Testes
    Alt+→

    Nesta página

      As discussões são anônimas e regularmente revisadas para resolver problemas comuns. Sinta-se à vontade para compartilhar ideias de funcionalidades, feedback sobre a documentação ou qualquer coisa relacionada ao Intlayer, usamos essas informações para moldar nosso roadmap e melhorar o produto.

      import { Locales, type Dictionary } from "intlayer";const exampleContent = {  key: "example",  locale: Locales.ENGLISH,  autoFill: "./example.content.json",  content: {    contentExample: "Este é um exemplo de conteúdo",  },} satisfies Dictionary;// Exporta o conteúdo de exemploexport default exampleContent;
      npx intlayer fill --file 'src/components/example/example.content.ts'
      {  "key": "example",  "content": {    "contentExample": {      "nodeType": "translation",      "translation": {        "fr": "Ceci est un exemple de contenu",        "es": "Este es un ejemplo de contenido",      },    },  },}
      const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // Seu conteúdo  },};
      src/components/example/example.filled.content.ts
      const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // Seu conteúdo  },};
      /messages/example.content.json
      const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",    es: "./example.es.content.json",  },  content: {    // Seu conteúdo  },};
      const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",  },  content: {    // Seu conteúdo  },};
      const exampleContent = {  key: "example",  autoFill: "/messages/{{locale}}/{{key}}.content.json",  content: {    // Seu conteúdo  },};
      const exampleContent = {  key: "example",  autoFill: "./{{fileName}}.content.json",  content: {    // Seu conteúdo  },};