Configuration avancée

Lingo.dev Compiler offre de nombreuses options de configuration pour personnaliser le comportement de traduction et optimiser votre flux de travail de localisation.

Paramètres de configuration

Lors de l'implémentation du compilateur dans votre projet, vous pouvez transmettre un objet de paramètres avec les options suivantes :

// Configuration par défaut
const compilerConfig = {
  sourceRoot: "src",
  lingoDir: "lingo",
  sourceLocale: "en",
  targetLocales: ["es"],
  rsc: false,
  debug: false,
  models: {
    // Configuration de modèle personnalisée
    "*:fr": "qwen/qwen3-32b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "qwen/qwen3-32b",
  },
  prompt:
    "You are AI translator. You translate from {SOURCE_LOCALE} to {TARGET_LOCALE}.",
};

// Next.js
lingoCompiler.next(compilerConfig)(nextConfig);

// Vite/React Router
lingoCompiler.vite(compilerConfig)(viteConfig);

Options de configuration

  • sourceRoot - Chemin vers votre répertoire source où le répertoire lingo/ sera stocké
  • lingoDir - Nom du répertoire contenant les fichiers de traduction (par défaut : "lingo")
  • sourceLocale - La langue source de votre application (par défaut : "en")
  • targetLocales - Tableau des langues cibles pour la traduction
  • rsc - Activer la prise en charge des React Server Components (par défaut : false)
  • debug - Activer la journalisation de débogage pour le dépannage (par défaut : false)
  • models - Configuration personnalisée de modèle d'IA pour des paires de langues spécifiques (optionnel)
  • prompt - Invite de traduction personnalisée avec des espaces réservés (optionnel)

Modèles Groq suggérés

Pour de meilleurs résultats, nous avons testé et validé la qualité des modèles GROQ suivants pour des locales spécifiques :

qwen/qwen3-32b

  • ar - Arabe
  • de - Allemand
  • fr - Français
  • pt-BR - Portugais (Brésil)

meta-llama/llama-4-maverick-17b-128e-instruct

  • es - Espagnol
  • ja - Japonais
  • ko - Coréen
  • ru - Russe
  • zh - Chinois

Vous pouvez également utiliser des modèles d'autres fournisseurs de LLM.

Configuration de modèle personnalisé

Vous pouvez personnaliser les modèles d'IA et les prompts directement dans votre configuration de compilateur :

const compilerConfig = {
  sourceLocale: "en",
  targetLocales: ["es", "fr", "de"],
  models: {
    "*:fr": "qwen/qwen3-32b",
    "en:es": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "es:fr": "meta-llama/llama-4-maverick-17b-128e-instruct",
    "*:*": "qwen/qwen3-32b",
  },
  prompt:
    "You are a professional translator specializing in technical documentation. Translate from {SOURCE_LOCALE} to {TARGET_LOCALE} while maintaining technical accuracy.",
};

Configuration du modèle

  • Définissez les paires de locales comme source-locale:target-locale
  • Utilisez * comme joker pour n'importe quelle locale
  • Utilisez *:* comme solution de repli pour toutes les traductions
  • Consultez les fournisseurs LLM alternatifs pour toutes les options

Prompts personnalisés

Vous pouvez définir des prompts de traduction personnalisés avec des placeholders :

  • {SOURCE_LOCALE} - Code de la langue source
  • {TARGET_LOCALE} - Code de la langue cible

Pour créer des glossaires personnalisés, incluez la terminologie dans votre prompt. Référez-vous au prompt par défaut du compilateur pour les meilleures pratiques.

Normalisation de build

Exécutez toujours un build de production en local avant de committer des modifications :

npm run build

Cela garantit que les fichiers meta.json et dictionary.js dans le répertoire lingo/ contiennent uniquement les chaînes présentes dans votre application et sont correctement formatés.

Configuration du hook pre-commit

Configurez la normalisation automatique en utilisant husky :


# Installer husky

npm install --save-dev husky

# Ajouter un hook pre-commit

npx husky add .husky/pre-commit "npm run build"

Configuration spécifique à l'environnement

Développement

const isDev = process.env.NODE_ENV === "development";

const compilerConfig = {
  debug: isDev,
  targetLocales: isDev ? ["es"] : ["es", "fr", "de", "ja"],
};

Intégration CI/CD

Pour les builds automatisés, assurez-vous que votre environnement CI a accès à la clé API pour Lingo.dev ou votre fournisseur LLM configuré. Ex. pour Groq :


# GitHub Actions

GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}

# Vercel

GROQ_API_KEY=gsk_...

# Netlify

GROQ_API_KEY=gsk_...

Optimisation des performances

Builds incrémentaux

Le compilateur automatiquement :

  • Suit les modifications de contenu par empreinte de fichier
  • Ne traduit que le contenu nouveau ou modifié
  • Réutilise les traductions existantes pour le contenu inchangé

Optimisation des bundles

  • Bundles par locale - Chargez uniquement les traductions pour la locale active
  • Tree shaking - Supprimez les traductions inutilisées des builds de production
  • Code splitting - Chargez les traductions à la demande pour les applications basées sur les routes

Dépannage

Mode debug

Activez la journalisation de débogage pour résoudre les problèmes :

const compilerConfig = {
  debug: true,
  // ... autres options
};

Problèmes courants

Traductions manquantes : Assurez-vous d'avoir exécuté npm run build localement et d'avoir commité le répertoire lingo/. Si vous utilisez NextJS, vous devrez peut-être supprimer le répertoire .next/ pour garantir que tous les fichiers sont reconstruits.

Erreurs de build : Vérifiez que votre clé API pour le fournisseur LLM configuré est correctement définie dans vos variables d'environnement.

Problèmes de performance : Activez le mode debug pour identifier les goulots d'étranglement dans le processus de compilation.

Prochaines étapes