Centre d'Aide

Automatiser la localisation avec l'IA

L'automatisation de la localisation transforme la manière dont vous traduisez des applications. Le package npm ai-l10n apporte une traduction alimentée par l'IA directement dans votre flux de développement, prenant en charge les fichiers JSON et Flutter ARB avec des fonctionnalités d'automatisation intelligentes.

AI-powered localization automation demonstration

Automatisation de la localisation alimentée par l'IA en action

Pourquoi automatiser la localisation ?

La gestion manuelle de la traduction prend du temps et est sujette aux erreurs. L'automatisation offre :

  • Gagnez des heures de travail de traduction manuelle avec une automatisation alimentée par l'IA.
  • Assurez la cohérence de toutes les traductions avec une IA consciente du contexte.
  • Intégrez les traductions directement dans votre pipeline CI/CD.
  • Détectez et traduisez automatiquement les nouvelles chaînes tout en préservant les traductions existantes.
  • Prenez en charge plus de 165 langues avec une qualité de traduction consciente du contexte.

Fonctionnalités alimentées par l'IA

Le package ai-l10n utilise une IA avancée pour fournir des traductions de qualité production :

Traduction consciente du contexte

L'IA comprend le contexte de vos chaînes, préservant les espaces réservés, les balises HTML et le formatage tout en adaptant les dates et les nombres aux locales cibles. Elle évite intelligemment de traduire les noms propres, les URL et les termes techniques.

Détection intelligente de projet

Détecte automatiquement les langues cibles à partir de la structure de votre projet (basée sur les dossiers ou les fichiers). Pas besoin de spécifier manuellement les langues si elles existent déjà dans votre projet.

Sécurité de type et préservation du format

Préserve les types de données JSON : les nombres restent des nombres, les booléens restent des booléens, les valeurs null sont maintenues. Prend en charge les formes plurielles i18next avec génération automatique de suffixes pour des règles de pluralisation complexes.

Détection d'erreurs intelligente et fractionnement

Détecte automatiquement et réessaie si des espaces réservés ou du formatage sont perdus. Pour les fichiers volumineux, divise le contenu en morceaux gérables tout en maintenant le contexte. Empêche les problèmes courants avec les téléchargements directs d'IA où le dépassement de ~16 000 caractères entraîne une perte de contenu.

Commencer

Installation

Installez le package ai-l10n en utilisant npm, yarn ou pnpm :

npm install ai-l10n

Configurer la clé API

Obtenez votre clé gratuite clé API et configurez-la :

npx ai-l10n config --api-key YOUR_API_KEY

Votre première traduction

Traduisez vos fichiers de localisation avec une simple commande :

# 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

Scénarios d'utilisation

Interface de ligne de commande

Utilisez l'CLI pour des traductions rapides avec un contrôle total sur les options :

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

Utilisation programmatique

Intégrez la traduction directement dans vos applications 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`);

Intégration CI/CD

Intégrez parfaitement la traduction alimentée par l'IA dans vos pipelines CI/CD avec notre action GitHub ai-l10n :

Créez un fichier de configuration :

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

Ajoutez à votre workflow 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

Configuration GitLab CI utilisant la commande 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

Configuration de pipeline Jenkins utilisant la commande 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'
          }
        }
      }
    }
  }
}

Fonctionnalités avancées

Mises à jour incrémentales

Traduisez uniquement les nouvelles clés tout en préservant les traductions existantes :

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

Traduction par lots

Traduisez plusieurs fichiers à la fois avec un fichier de configuration :

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

Formes plurielles i18next

Générez automatiquement toutes les chaînes de formes plurielles requises avec les suffixes corrects pour les langues avec des règles de pluralisation complexes (comme le russe, l'arabe ou le polonais) :

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

Support Flutter ARB

Support complet pour les fichiers de bundle de ressources d'application Flutter avec des mises à jour automatiques des métadonnées :

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

Support des langues

l10n.dev prend en charge plus de 165 langues avec des niveaux de compétence variés :

  • Fort (12 langues) : Anglais, Espagnol, Français, Allemand, Chinois, Russe, Portugais, Italien, Japonais, Coréen, Arabe, Hindi
  • Élevé (53 langues) : La plupart des langues européennes et asiatiques, y compris le néerlandais, le suédois, le polonais, le turc, le vietnamien, le thaï et plus
  • Modéré (100+ langues) : Large éventail de langues du monde

Détection de la structure du projet

ai-l10n détecte automatiquement la structure de votre projet et génère des traductions en conséquence :

Structure basée sur les dossiers

Organisez les traductions par dossiers de langue :

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

Structure basée sur les fichiers

Utilisez des fichiers séparés pour chaque langue :

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

Meilleures pratiques

  • Utilisez des mises à jour incrémentales : Utilisez le drapeau --update pour traduire uniquement les nouvelles chaînes, préservant les traductions existantes et économisant des caractères.
  • Intégrez avec CI/CD : Automatisez les traductions à chaque commit de vos fichiers de langue source pour des traductions toujours à jour.
  • Stockez les clés API en toute sécurité : Utilisez des variables d'environnement ou la gestion des secrets pour les clés API dans les environnements CI/CD.
  • Vérifiez le contenu filtré : Vérifiez les fichiers .filtered pour les chaînes exclues en raison de violations de la politique de contenu.
  • Utilisez la configuration par lots : Pour plusieurs fichiers, utilisez la configuration de traduction par lots pour gérer toutes les traductions à partir d'une seule commande.

Prêt à rationaliser votre flux de travail de localisation avec l'IA ?