Receba notificações sobre os próximos lançamentos de Intlayer
    Criação:2025-09-22Última atualização:2025-09-22

    Nova versão Intlayer v6 - Novidades

    Bem-vindo ao Intlayer v6! Esta versão foca em desempenho, experiência do desenvolvedor e confiabilidade. Abaixo estão os destaques, com notas de migração e exemplos prontos para copiar e colar.

    Destaques

    • Novo comando: npx intlayer content test para detectar traduções faltantes
    • Nova opção global autoFill para auto-gerar traduções ausentes
    • Comando Fill padrão pula traduções existentes: npx intlayer fill
    • Extensão VS Code: nova Barra de Atividades Intlayer (Busca & Dicionários), ações na barra de ferramentas/contexto, auto-revelação, comandos Fill/Test
    • Builds 10× mais rápidas graças à paralelização de promises
    • Cache remoto de dicionário para evitar refetch no início do app
    • Logging aprimorado: defina log.mode: 'verbose' para inspecionar o comportamento
    • Validação mais rigorosa para evitar falhas do app por problemas no dicionário
    • Atualizações ao vivo com CMS usando build.importMode = 'live' e pnpm intlayer live
    • Correções: integração Vue.js, adaptador Lynx, Editor Visual no Windows

    Novo: Testar traduções ausentes

    Audite rapidamente seu projeto para encontrar quais chaves/idiomas estão faltando.

    bash
    npx intlayer content test

    Output:

    bash
    pnpm intlayer content testTraduções ausentes: - blog-data       - Japonês (ja), Coreano (ko), Chinês (zh), Alemão (de), Italiano (it) - src/components/BlogPage/blogData.content.ts - demo-page       - Francês (fr), Italiano (it)                                         - src/components/DemoPage/demo.content.ts - locale-switcher - Italiano (it), Português (pt)                                       - src/components/LocaleSwitcher/localeSwitcher.content.tsLocales: Inglês (en), Russo (ru), Japonês (ja), Francês (fr), Coreano (ko), Chinês (zh), Espanhol (es), Alemão (de), Árabe (ar), Italiano (it), Inglês Britânico (en-GB), Português (pt), Hindi (hi)Locales obrigatórios: Inglês (en)Traduções ausentes: Japonês (ja), Coreano (ko), Chinês (zh), Alemão (de), Italiano (it), Francês (fr), Português (pt)Traduções obrigatórias ausentes: -Total de traduções ausentes: 7Total de traduções obrigatórias ausentes: 0

    Veja mais opções na documentação do CLI: Referência do CLI → "Testar traduções ausentes". Assim como o guia de Testes.


    Novo: autoFill global para completar traduções ausentes

    Agora você pode ativar o auto‑fill globalmente para que qualquer dicionário com traduções ausentes seja completado automaticamente.

    intlayer.config.ts
    import { type IntlayerConfig, Locales } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,    requiredLocales: [Locales.ENGLISH, Locales.FRENCH],  },  content: {    // Auto-gerar traduções ausentes para todos os dicionários    autoFill: "./{{fileName}}.content.ts",    //    // autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",    //    // autoFill: true, // auto-gerar traduções ausentes para todos os dicionários como usar "./{{fileName}}.content.json"    //    // autoFill: {    //   en: "./{{fileName}}.en.content.json",    //   fr: "./{{fileName}}.fr.content.json",    //   es: "./{{fileName}}.es.content.json",    // },  },};export default config;

    Você ainda pode ajustar por dicionário usando o campo autoFill nos arquivos de conteúdo. Veja a referência completa em doc/autoFill e doc/dictionary/content_file.


    Comando fill: padrões mais seguros

    O comando fill agora, por padrão, preenche apenas traduções ausentes e pula o conteúdo existente.

    bash
    npx intlayer fill
    bash
    Chaves de dicionário afetadas para processamento: access-key-creation-form-schema, doc-search-metadata, doc-search-page  - [access-key-creation-form-schema]      Dicionário não possui caminho de arquivo. Pulando.  - [access-key-creation-form-schema]      Processando declaração de conteúdo: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts  - [access-key-creation-form-schema]      Nenhum local para preencher - Pulando dicionário  - [doc-search-metadata]                  Dicionário não possui caminho de arquivo. Pulando.  - [doc-search-metadata]                  Processando declaração de conteúdo: src/app/[locale]/(docs)/doc/search/metadata.content.ts  - [doc-search-metadata]                  Nenhum idioma para preencher - Pulando dicionário  - [doc-search-page]                      Dicionário não possui caminho de arquivo. Pulando.  - [doc-search-page]                      Processando declaração de conteúdo: src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                     [Russo (ru)]                   Preparando tradução para dicionário do Inglês (en) para Russo (ru)[intlayer]  Aplicado formatação Prettier em src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                      Declaração de conteúdo escrita em src/app/[locale]/(docs)/doc/search/page.content.ts

    Exemplos de CI estão disponíveis em CI/CD.


    Extensão VS Code atualizada

    A extensão agora inclui uma aba dedicada do Intlayer na Barra de Atividades e várias melhorias no fluxo de trabalho:

    • Barra de Atividades do Intlayer com duas visualizações:
      • Webview de busca (intlayer.searchBar) para busca ao vivo no dicionário/conteúdo
      • Árvore de dicionários (intlayer.dictionaries) listando ambientes, dicionários e arquivos contribuintes
    • Barra de ferramentas na visualização de Dicionários: Construir, Puxar, Enviar, Preencher, Atualizar, Testar, Criar Arquivo de Dicionário
    • Menus de contexto: Puxar/Enviar nos dicionários; Preencher nos arquivos
    • Auto-revelação: o arquivo atual do editor é destacado na árvore de Dicionários quando aplicável
    • Novos comandos disponíveis no Command Palette: Preencher Dicionários e Testar Dicionários

    Veja detalhes na documentação da Extensão Oficial do VS Code.


    Performance: 10× mais rápido

    • Resolução paralela de dicionários locais e remotos
    • Dicionários remotos são armazenados em cache para evitar reobtenção na inicialização do app
    bash
    npx intlayer build

    Saída:

    bash
    [intlayer]  Preparando Intlayer (v6.0.1)[intlayer]  Dicionários:[intlayer]  ✓ Conteúdo local: 163/163[intlayer]  ✓ Conteúdo remoto: 100/100[intlayer]   - access-key-creation-form             [local: ✔ construído] [distant: ✔ importado][intlayer]   - access-key-creation-form-schema      [local: ✔ construído] [distant: ✔ importado][intlayer]   - access-key-form                      [local: ✔ construído] [distant: ✔ importado][intlayer]   - ai-ab-testing-section                                 [distant: ✔ importado][intlayer]   - application-not-running-view         [local: ✔ construído] [distant: ✔ importado][intlayer]   - application-template-message         [local: ✔ construído] [distant: ✔ buscado][intlayer]   - aside-navigation                     [local: ✔ construído] [distant: ✔ importado][intlayer]   - ask-reset-password                   [local: ✔ construído] [distant: ✔ importado][intlayer]   - ask-reset-password-schema            [local: ✔ construído] [distant: ✔ importado][intlayer]   - autocompletion-section               [local: ✔ construído] [distant: ✔ buscado][intlayer]   - available-techno-section             [local: ✔ construído] [distant: ✔ importado][intlayer]   - blog-data                            [local: ✔ construído][intlayer]   - blog-metadata                        [local: ✔ construído][intlayer]   - blog-nav-list                        [local: ✔ construído] [distant: ✔ importado][intlayer]   - blog-page                                             [distant: ✔ buscado][intlayer]   - blog-search-metadata                 [local: ✔ construído] [distant: ✔ importado][intlayer]   - blog-search-page                     [local: ✔ construído] [distant: ✔ importado]...[intlayer]  Conteúdo carregado  (Total: 8401ms - Local: 4050ms - Remoto: 4222ms)

    Melhorias no registro de logs

    O sistema de logs foi aprimorado para fornecer informações mais detalhadas sobre o que acontece durante as transformações de build e em tempo de execução.

    Ative logs detalhados para entender melhor o que acontece durante as transformações de build e em tempo de execução.

    intlayer.config.ts
    export default {  log: {    mode: "verbose", // opções: "default" | "verbose" | "disabled"  },};

    Veja Configuração para todas as opções de logging.


    Validação mais robusta

    O processamento de dicionários agora realiza uma validação mais robusta. Quando um dicionário falha ao ser processado, o Intlayer evita quebrar sua aplicação e exibe erros acionáveis.


    Atualizações ao vivo com CMS (Seguro para produção)

    Sirva atualizações de conteúdo ao vivo (por exemplo, atualizações editoriais) em produção sem precisar reconstruir sua aplicação.

    1. Ative o modo de importação ao vivo:
    intlayer.config.ts
    import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  build: {    importMode: "live", // "static" | "dynamic" | "live"  },  editor: {    liveSync: true, // habilitar sincronização ao vivo no lado do servidor  },};export default config;
    1. Execute seu aplicativo e o processo ao vivo lado a lado:
    bash
    npx intlayer live --process 'vite preview'

    Notas:

    • Apenas dicionários marcados para usar o modo ao vivo serão buscados ao vivo. Outros são otimizados para desempenho.
    • Retorna para importação dinâmica se a API ao vivo não estiver acessível.

    Consulte CMS e Sincronização ao Vivo e Configuração para orientações completas.


    Notas de migração

    • Removido: dictionaryOutput (anteriormente i18next ou next-intl). Isso voltará como adaptadores plugáveis em versões futuras. Remova o campo da sua configuração.
    • Remoção relacionada: i18nextResourcesDir (veja o changelog em doc/configuration).
    • Prefira a nova opção global content.autoFill para gerar traduções ausentes em escala.
    • Use npx intlayer content test para bloquear PRs com traduções ausentes.
    • Para diagnósticos detalhados, defina log.mode = 'verbose'.

    Correções

    • Estabilidade da integração com Vue.js
    • Melhorias no adaptador Lynx
    • Editor Visual no Windows

    Receba notificações sobre os próximos lançamentos de Intlayer