Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Ao integrar o servidor MCP Intlayer ao seu assistente de IA, você pode recuperar todos os documentos diretamente de ChatGPT, DeepSeek, Cursor, VSCode, etc.
Ver a documentação do servidor MCPO 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
Geração Automática de Traduções em um Pipeline CI/CD
O Intlayer permite a geração automática de traduções para seus arquivos de declaração de conteúdo. Existem várias maneiras de realizar isso dependendo do seu fluxo de trabalho.
Usando o CMS
Com o Intlayer, você pode adotar um fluxo de trabalho onde apenas um único idioma é declarado localmente, enquanto todas as traduções são gerenciadas remotamente através do CMS. Isso permite que o conteúdo e as traduções fiquem completamente desacoplados da base de código, oferecendo mais flexibilidade para os editores de conteúdo e possibilitando o recarregamento dinâmico do conteúdo (sem necessidade de reconstruir a aplicação para aplicar as alterações).
Configuração de Exemplo
Copiar o código para a área de transferência
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // Idiomas opcionais serão gerenciados remotamente defaultLocale: Locales.ENGLISH, }, editor: { dictionaryPriorityStrategy: "distant_first", // Conteúdo remoto tem prioridade applicationURL: process.env.APPLICATION_URL, // URL da aplicação usada pelo CMS clientId: process.env.INTLAYER_CLIENT_ID, // Credenciais do CMS clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { applicationContext: "This is a test application", // Ajuda a garantir a geração consistente de traduções },};export default config;
Para saber mais sobre o CMS, consulte a documentação oficial.
Usando Husky
Você pode integrar a geração de traduções no seu fluxo de trabalho local do Git usando o Husky.
Configuração de Exemplo
Copiar o código para a área de transferência
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH], requiredLocales: [Locales.ENGLISH], // Locais opcionais são gerenciados remotamente defaultLocale: Locales.ENGLISH, }, editor: { clientId: process.env.INTLAYER_CLIENT_ID, clientSecret: process.env.INTLAYER_CLIENT_SECRET, }, ai: { provider: "openai", apiKey: process.env.OPENAI_API_KEY, // Use sua própria chave API applicationContext: "This is a test application", // Ajuda a garantir a geração consistente de traduções },};export default config;
Copiar o código para a área de transferência
npx intlayer build # Para garantir que os dicionários estejam atualizadosnpx intlayer fill --unpushed --mode fill # Apenas preenche o conteúdo faltante, não atualiza os existentes
Para mais informações sobre os comandos CLI do Intlayer e seu uso, consulte a documentação CLI.
Se você tiver múltiplos aplicativos no seu repositório usando instâncias separadas do Intlayer, você pode usar o argumento --base-dir assim:
Copiar o código para a área de transferência
# App 1npx intlayer build --base-dir ./app1npx intlayer fill --base-dir ./app1 --unpushed --mode fill# App 2npx intlayer build --base-dir ./app2npx intlayer fill --base-dir ./app2 --unpushed --mode fill
Usando GitHub Actions
O Intlayer fornece um comando CLI para preenchimento automático e revisão do conteúdo do dicionário. Isso pode ser integrado ao seu fluxo de trabalho CI/CD usando GitHub Actions.
Copiar o código para a área de transferência
name: Preenchimento Automático Intlayer# Condições de gatilho para este fluxo de trabalhoon: pull_request: branches: - "main"permissions: contents: write pull-requests: writeconcurrency: group: "autofill-${{ github.ref }}" cancel-in-progress: truejobs: autofill: runs-on: ubuntu-latest env: # OpenAI AI_MODEL: openai AI_PROVIDER: gpt-5-mini AI_API_KEY: ${{ secrets.AI_API_KEY }} steps: # Passo 1: Obter o código mais recente do repositório - name: ⬇️ Checkout do repositório uses: actions/checkout@v4 with: persist-credentials: true # Manter credenciais para criação de PRs fetch-depth: 0 # Obter histórico completo do git para análise de diferenças # Passo 2: Configurar ambiente Node.js - name: 🟢 Configurar Node.js uses: actions/setup-node@v4 with: node-version: 20 # Usar Node.js 20 LTS para estabilidade # Passo 3: Instalar dependências do projeto - name: 📦 Instalar dependências run: npm install # Passo 4: Instalar Intlayer CLI globalmente para gerenciamento de traduções - name: 📦 Instalar Intlayer run: npm install -g intlayer-cli # Passo 5: Construir o projeto Intlayer para gerar arquivos de tradução - name: ⚙️ Construir projeto Intlayer run: npx intlayer build # Passo 6: Usar IA para preencher automaticamente traduções faltantes - name: 🤖 Preencher automaticamente traduções faltantes run: npx intlayer fill --git-diff --mode fill --provider $AI_PROVIDER --model $AI_MODEL --api-key $AI_API_KEY # Passo 7: Verificar se há alterações e comitá-las - name: � Verificar alterações id: check-changes run: | if [ -n "$(git status --porcelain)" ]; then echo "has-changes=true" >> $GITHUB_OUTPUT else echo "has-changes=false" >> $GITHUB_OUTPUT fi # Passo 8: Comitar e enviar alterações se existirem - name: 📤 Comitar e enviar alterações if: steps.check-changes.outputs.has-changes == 'true' run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git add . git commit -m "chore: auto-fill missing translations [skip ci]" git push origin HEAD:${{ github.head_ref }}
Para configurar as variáveis de ambiente, vá para GitHub → Configurações → Segredos e variáveis → Ações e adicione o segredo .
Assim como para o Husky, no caso de um monorepo, você pode usar o argumento --base-dir para tratar sequencialmente cada app.
Por padrão, o argumento --git-diff filtra os dicionários que incluem alterações da base (padrão origin/main) para o branch atual (padrão: HEAD).
Para mais informações sobre os comandos do Intlayer CLI e seu uso, consulte a documentação do CLI.
Histórico do Documento
Versão | Data | Alterações |
---|---|---|
5.5.10 | 2025-06-29 | Histórico inicial |