Central de Ajuda

Automatize a Localização com IA

A automação de localização transforma a forma como você traduz aplicativos. O pacote npm ai-l10n traz tradução impulsionada por IA diretamente para seu fluxo de trabalho de desenvolvimento, suportando arquivos JSON e ARB do Flutter com recursos de automação inteligente.

AI-powered localization automation demonstration

Automação de localização impulsionada por IA em ação

Por que Automatizar a Localização?

Gerenciar traduções manualmente é demorado e propenso a erros. A automação proporciona:

  • Economize horas de trabalho de tradução manual com automação impulsionada por IA.
  • Garanta consistência em todas as traduções com IA ciente do contexto.
  • Integre traduções diretamente em seu pipeline CI/CD.
  • Detecte e traduza automaticamente novas strings enquanto preserva traduções existentes.
  • Suporte a mais de 165 idiomas com qualidade de tradução ciente do contexto.

Recursos Impulsionados por IA

O pacote ai-l10n usa IA avançada para fornecer traduções de qualidade de produção:

Tradução Ciente do Contexto

A IA entende o contexto de suas strings, preservando placeholders, tags HTML e formatação enquanto adapta datas e números para os locais-alvo. Ela evita inteligentemente traduzir nomes próprios, URLs e termos técnicos.

Detecção Inteligente de Projetos

Detecta automaticamente os idiomas-alvo a partir da estrutura do seu projeto (baseada em pastas ou arquivos). Não é necessário especificar manualmente os idiomas se eles já existirem em seu projeto.

Segurança de Tipo e Preservação de Formato

Preserva tipos de dados JSON—números permanecem números, booleanos permanecem booleanos, valores nulos são mantidos. Suporta formas plurais do i18next com geração automática de sufixos para regras complexas de pluralização.

Detecção Inteligente de Erros e Fragmentação

Detecta e tenta novamente automaticamente se placeholders ou formatação forem perdidos. Para arquivos grandes, divide o conteúdo em partes gerenciáveis enquanto mantém o contexto. Prevê problemas comuns com uploads diretos de IA, onde exceder ~16.000 caracteres causa perda de conteúdo.

Começando

Instalação

Instale o pacote ai-l10n usando npm, yarn ou pnpm:

npm install ai-l10n

Configurar Chave da API

Obtenha sua chave da API e configure-a:

npx ai-l10n config --api-key YOUR_API_KEY

Sua Primeira Tradução

Traduza seus arquivos de localização com um comando simples:

# Auto-detect target languages from project structure
npx ai-l10n translate path/to/en.json

# Specify target languages
npx ai-l10n translate path/to/en.json --languages es,fr,de

Cenários de Uso

Interface de Linha de Comando

Use a CLI para traduções rápidas com controle total sobre as opções:

npx ai-l10n translate ./locales/en.json \
  --languages es,fr,de,ja,zh-CN \
  --plural \
  --verbose

Uso Programático

Integre a tradução diretamente em suas aplicações Node.js:

import { AiTranslator } from 'ai-l10n';

const translator = new AiTranslator();

// Basic translation
const result = await translator.translate({
  sourceFile: './locales/en.json',
  targetLanguages: ['es', 'fr', 'de'],
});

console.log(`Translated to ${result.results.length} languages`);
console.log(`Used ${result.totalCharsUsed} characters`);

Integração CI/CD

Integre perfeitamente a tradução impulsionada por IA em seus pipelines de CI/CD com nossa ação ai-l10n do GitHub:

Crie um arquivo de configuração:

// example ai-l10n.config.json
[
  {
    "sourceFile": "./locales/en/common.json",
    "targetLanguages": ["es", "fr", "de"],
    "translateOnlyNewStrings": true
  },
  {
    "sourceFile": "./locales/en/common.json",
    "targetLanguages": ["pl", "ar"],
    "generatePluralForms": true,
    "translateOnlyNewStrings": true
  }
]

Adicione ao seu fluxo de trabalho do GitHub Actions:

name: Auto-translate i18n files

on:
  push:
    branches:
      - main
    paths:
      - 'locales/en/**'
      - 'ai-l10n.config.json'

permissions:
  contents: write

jobs:
  translate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: l10n-dev/ai-l10n@v1
        with:
          api-key: ${{ secrets.L10N_API_KEY }}
          config-file: 'ai-l10n.config.json'
          pull-request: false

Configuração do GitLab CI usando o comando em lote ai-l10n:

# .gitlab-ci.yml
translate:
  stage: deploy
  image: node:20-alpine
  only:
    - main
  changes:
    - locales/en/**/*
    - ai-l10n.config.json
  script:
    - npm install -g ai-l10n
    - npx ai-l10n batch ai-l10n.config.json
  variables:
    L10N_API_KEY: $L10N_API_KEY

Configuração do pipeline Jenkins usando o comando em lote ai-l10n:

// Jenkinsfile
pipeline {
  agent any

  stages {
    stage('Translate') {
      when {
        changeset "locales/en/**"
      }
      steps {
        script {
          sh 'npm install -g ai-l10n'
          withCredentials([string(
            credentialsId: 'l10n-api-key',
            variable: 'L10N_API_KEY'
          )]) {
            sh 'npx ai-l10n batch ai-l10n.config.json'
          }
        }
      }
    }
  }
}

Recursos Avançados

Atualizações Incrementais

Traduza apenas novas chaves enquanto preserva traduções existentes:

# Only translate new keys, preserve existing translations
npx ai-l10n translate path/to/en.json --update

Tradução em Lote

Traduza vários arquivos de uma vez com um arquivo de configuração:

// example translate-config.json
[
  {
    "sourceFile": "./locales/en/common.json",
    "targetLanguages": ["pl", "ru", "ar"],
    "generatePluralForms": true,
    "translateOnlyNewStrings": true
  },
  {
    "sourceFile": "./locales/en/admin.json",
    "targetLanguages": ["pl", "ru", "ar", "de"]
  }
]
npx ai-l10n batch translate-config.json

Formas Plurais do i18next

Gere automaticamente todas as strings de formas plurais necessárias com os sufixos corretos para idiomas com regras complexas de pluralização (como russo, árabe ou polonês):

npx ai-l10n translate ./locales/en.json \
  --languages ru,ar,pl \
  --plural

Suporte a ARB do Flutter

Suporte completo para arquivos de Pacote de Recursos de Aplicação do Flutter com atualizações automáticas de metadados:

npx ai-l10n translate ./lib/l10n/app_en_US.arb \
  --languages es_ES,fr_FR,de

Suporte a Idiomas

l10n.dev suporta mais de 165 idiomas com diferentes níveis de proficiência:

  • Forte (12 idiomas): Inglês, Espanhol, Francês, Alemão, Chinês, Russo, Português, Italiano, Japonês, Coreano, Árabe, Hindi
  • Alto (53 idiomas): A maioria dos idiomas europeus e asiáticos, incluindo Holandês, Sueco, Polonês, Turco, Vietnamita, Tailandês e mais
  • Moderado (100+ idiomas): Uma ampla gama de idiomas do mundo

Detecção de Estrutura de Projeto

ai-l10n detecta automaticamente a estrutura do seu projeto e gera traduções de acordo:

Estrutura Baseada em Pastas

Organize traduções por pastas de idioma:

locales/
  en/
    common.json
    errors.json
  es/              # Auto-detected
    common.json
    errors.json
  fr-FR/           # Auto-detected
    common.json

Estrutura Baseada em Arquivos

Use arquivos separados para cada idioma:

locales/
  en.json          # Source
  es.json          # Auto-detected
  fr-FR.json       # Auto-detected
  zh-Hans-CN.json  # Auto-detected

Melhores Práticas

  • Use Atualizações Incrementais: Use a flag --update para traduzir apenas novas strings, preservando traduções existentes e economizando caracteres.
  • Integre com CI/CD: Automatize traduções a cada commit em seus arquivos de idioma fonte para traduções sempre atualizadas.
  • Armazene Chaves da API com Segurança: Use variáveis de ambiente ou gerenciamento de segredos para chaves da API em ambientes CI/CD.
  • Revise Conteúdo Filtrado: Verifique os arquivos .filtered para strings excluídas devido a violações de políticas de conteúdo.
  • Use Configuração em Lote: Para vários arquivos, use a configuração de tradução em lote para gerenciar todas as traduções a partir de um único comando.

Pronto para otimizar seu fluxo de trabalho de localização com IA?