Centro assistenza

Automatizza la localizzazione AI

L'automazione della localizzazione trasforma il modo in cui traduci le applicazioni. Il pacchetto npm ai-l10n porta la traduzione basata su AI direttamente nel tuo flusso di lavoro di sviluppo, supportando i file di localizzazione con funzionalità di automazione intelligenti.

AI-powered localization automation demonstration

Automazione della localizzazione basata su AI in azione

Perché automatizzare la localizzazione?

La gestione manuale delle traduzioni richiede tempo ed è soggetta a errori. L'automazione offre:

  • Risparmia ore di lavoro manuale di traduzione con l'automazione basata su AI.
  • Garantisci la coerenza in tutte le traduzioni con un'AI consapevole del contesto.
  • Integra le traduzioni direttamente nella tua pipeline di CI/CD.
  • Rileva e traduci automaticamente nuove stringhe preservando le traduzioni esistenti.
  • Supporta oltre 165 lingue con una qualità di traduzione consapevole del contesto.

Funzionalità basate su AI

Il pacchetto ai-l10n utilizza un'AI avanzata per fornire traduzioni di qualità professionale:

Traduzione consapevole del contesto

L'IA comprende il contesto delle tue stringhe, preservando segnaposto, tag HTML e formattazione mentre adatta date e numeri alle impostazioni locali di destinazione. Evita in modo intelligente di tradurre nomi propri, URL e termini tecnici.

Rilevamento intelligente del progetto

Rileva automaticamente le lingue di destinazione dalla struttura del tuo progetto (basata su cartelle o file). Non è necessario specificare manualmente le lingue se esistono già nel tuo progetto.

Type safety e conservazione del formato

Preserva i tipi di dati JSON: i numeri rimangono numeri, i booleani rimangono booleani, i valori null vengono mantenuti. Supporta le forme plurali i18next con generazione automatica dei suffissi per regole di pluralizzazione complesse.

Rilevamento intelligente degli errori e suddivisione in blocchi

Rileva e riprova automaticamente se i segnaposto o la formattazione vengono persi. Per i file di grandi dimensioni, suddivide il contenuto in blocchi gestibili mantenendo il contesto. Previene i problemi comuni con i caricamenti AI diretti in cui il superamento di circa 16.000 caratteri causa la perdita di contenuto.

Per iniziare

Installazione

Installa il pacchetto ai-l10n usando npm, yarn o pnpm:

npm install ai-l10n

Configura la chiave API

Ottieni la tua chiave API gratuita e configurala:

npx ai-l10n config --api-key YOUR_API_KEY

La tua prima traduzione

Traduci i tuoi file di localizzazione con un semplice comando:

# 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

Scenari di utilizzo

Interfaccia a riga di comando

Usa la CLI per traduzioni rapide con controllo completo sulle opzioni:

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

Utilizzo programmatico

Integra la traduzione direttamente nelle tue applicazioni 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`);

Integrazione CI/CD

Integra perfettamente la traduzione basata su AI nelle tue pipeline di CI/CD con la nostra GitHub Action ai-l10n:

Crea un file di configurazione:

// 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
  }
]

Aggiungi al tuo flusso di lavoro 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

Configurazione GitLab CI usando il comando batch 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

Configurazione della pipeline Jenkins usando il comando batch 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'
          }
        }
      }
    }
  }
}

Funzionalità avanzate

Aggiornamenti incrementali

Traduci solo le nuove chiavi preservando le traduzioni esistenti:

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

Traduzione batch

Traduci più file contemporaneamente con un file di configurazione:

// 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

Forme plurali i18next

Genera automaticamente tutte le stringhe delle forme plurali richieste con i suffissi corretti per le lingue con regole di pluralizzazione complesse (come russo, arabo o polacco):

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

Supporto Flutter ARB

Supporto completo per i file Flutter Application Resource Bundle con aggiornamenti automatici dei metadati:

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

Supporto linguistico

l10n.dev supporta oltre 165 lingue con diversi livelli di competenza:

  • Forte (12 lingue): Inglese, spagnolo, francese, tedesco, cinese, russo, portoghese, italiano, giapponese, coreano, arabo, hindi
  • Alto (53 lingue): La maggior parte delle lingue europee e asiatiche, inclusi olandese, svedese, polacco, turco, vietnamita, thailandese e altre
  • Moderato (oltre 100 lingue): Ampia gamma di lingue mondiali

Rilevamento della struttura del progetto

ai-l10n rileva automaticamente la struttura del tuo progetto e genera le traduzioni di conseguenza:

Struttura basata su cartelle

Organizza le traduzioni per cartelle di lingua:

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

Struttura basata su file

Usa file separati per ogni lingua:

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

Best practice

  • Usa gli aggiornamenti incrementali: Usa il flag --update per tradurre solo le nuove stringhe, preservando le traduzioni esistenti e risparmiando caratteri.
  • Integra con CI/CD: Automatizza le traduzioni a ogni commit sui file della lingua sorgente per traduzioni sempre aggiornate.
  • Archivia le chiavi API in modo sicuro: Usa variabili d'ambiente o gestione dei segreti per le chiavi API negli ambienti CI/CD.
  • Revisiona i contenuti filtrati: Controlla i file .filtered per le stringhe escluse a causa di violazioni delle policy sui contenuti.
  • Usa la configurazione batch: Per più file, usa la configurazione di traduzione batch per gestire tutte le traduzioni da un singolo comando.

Pronto a semplificare il tuo flusso di lavoro di localizzazione con l'IA?