Centre d'aide

Automatiser la localisation par IA

L'automatisation de la localisation transforme la façon dont vous traduisez les applications. Le package npm ai-l10n apporte la traduction assistée par IA directement dans votre flux de travail de développement, prenant en charge les fichiers de localisation avec des fonctionnalités d'automatisation intelligentes.

AI-powered localization automation demonstration

Automatisation de la localisation assistée par IA en action

Pourquoi automatiser la localisation ?

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

  • Économisez des heures de travail de traduction manuel grâce à l'automatisation assistée par IA.
  • Assurez la cohérence de toutes les traductions grâce à une IA avec conscience 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 basée sur la conscience du contexte.

Fonctionnalités assistées par IA

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

Traduction avec conscience 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 paramètres régionaux 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 des dossiers ou des fichiers). Pas besoin de spécifier manuellement les langues si elles existent déjà dans votre projet.

Sécurité des types 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 intelligente d'erreurs et découpage

Détecte et réessaie automatiquement si les espaces réservés ou le 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 vers l'IA où le dépassement d'environ 16 000 caractères entraîne une perte de contenu.

Pour commencer

Installation

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

npm install ai-l10n

Configurer la clé API

Obtenez votre clé API gratuite et configurez-la :

npx ai-l10n config --api-key YOUR_API_KEY

Votre première traduction

Traduisez vos fichiers de localisation avec une commande simple :

# 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'interface 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 de manière transparente la traduction assistée par IA dans vos pipelines CI/CD avec notre GitHub Action 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 flux de travail 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émentielles

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

Prise en charge de Flutter ARB

Prise en charge complète des fichiers Flutter Application Resource Bundle avec mises à jour automatiques des métadonnées :

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

Prise en charge des langues

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

  • Forte (12 langues) : Anglais, espagnol, français, allemand, chinois, russe, portugais, italien, japonais, coréen, arabe, hindi
  • Élevée (53 langues) : La plupart des langues européennes et asiatiques, dont le néerlandais, le suédois, le polonais, le turc, le vietnamien, le thaï, et plus encore
  • Modérée (plus de 100 langues) : Large éventail de langues mondiales

Détection de la structure de projet

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

Structure basée sur des 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 des 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 les mises à jour incrémentielles : Utilisez l'indicateur --update pour traduire uniquement les nouvelles chaînes, en préservant les traductions existantes et en économisant des caractères.
  • Intégrez au CI/CD : Automatisez les traductions à chaque validation sur 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.
  • Examinez 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 ?