> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # LanguageDetector `LanguageDetector` est un **Processor d’entrée** qui identifie la langue du texte reçu et peut le traduire dans une langue cible afin d’assurer un traitement cohérent. Ce Processor contribue à préserver la cohérence linguistique en détectant la langue des messages entrants et en proposant des stratégies flexibles pour traiter le contenu multilingue, notamment la traduction automatique afin que tout le contenu soit traité dans la langue cible. ## Exemple d’utilisation ```typescript import { LanguageDetector } from '@mastra/core/processors' const processor = new LanguageDetector({ model: 'openrouter/openai/gpt-oss-safeguard-20b', targetLanguages: ['English', 'en'], threshold: 0.8, strategy: 'translate', lastMessageOnly: true, }) ``` ## Paramètres du constructeur **options** (`Options`): Options de configuration de la détection de langue et de la traduction **options.model** (`MastraModelConfig`): Configuration du modèle de l’Agent de détection et de traduction **options.targetLanguages** (`string[]`): Langue(s) cible(s) du projet. Si du contenu est détecté dans une autre langue, il peut être traduit. Peut être un nom de langue ('English') ou un code ISO ('en') **options.threshold** (`number`): Seuil de confiance de la détection de langue (0 à 1). Le traitement n’a lieu que lorsque le niveau de confiance de la détection dépasse ce seuil **options.strategy** (`'detect' | 'translate' | 'block' | 'warn'`): Stratégie appliquée lorsqu’une langue non cible est détectée : 'detect' détecte uniquement la langue, 'translate' traduit automatiquement dans la langue cible, 'block' rejette le contenu qui n’est pas dans la langue cible et 'warn' enregistre un avertissement mais laisse passer le contenu **options.preserveOriginal** (`boolean`): Indique si le contenu d’origine doit être conservé dans les métadonnées du message. Utile pour les pistes d’audit et le débogage **options.instructions** (`string`): Instructions de détection personnalisées destinées à l’Agent. Si elles ne sont pas fournies, les instructions par défaut sont utilisées **options.lastMessageOnly** (`boolean`): Indique si la langue doit être détectée uniquement pour le message le plus récent du lot, au lieu de vérifier chaque message. Utilisez cette option pour maintenir constant le nombre d’appels au LLM à mesure que l’historique de la conversation s’allonge. **options.minTextLength** (`number`): Longueur minimale du texte requise pour effectuer la détection. Les textes courts donnent souvent des résultats peu fiables pour la détection de langue **options.includeDetectionDetails** (`boolean`): Indique si les informations détaillées de détection doivent être incluses dans les logs **options.translationQuality** (`'speed' | 'quality' | 'balanced'`): Préférence de qualité de la traduction : 'speed' privilégie la rapidité, 'quality' privilégie la précision et 'balanced' établit un équilibre entre rapidité et qualité **options.providerOptions** (`ProviderOptions`): Options propres au Provider transmises à l’Agent de détection interne. Utilisez-les pour contrôler le comportement du modèle, par exemple l’effort de raisonnement des modèles de réflexion (par exemple, { openai: { reasoningEffort: 'low' } }) ## Valeur renvoyée **id** (`string`): Identifiant du Processor défini sur 'language-detector' **name** (`string`): Nom d’affichage facultatif du Processor **processInput** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise`): Traite les messages d’entrée afin de détecter leur langue et, éventuellement, de traduire leur contenu avant de l’envoyer au LLM ## Exemple d’utilisation avancée ```typescript import { Agent } from '@mastra/core/agent' import { LanguageDetector } from '@mastra/core/processors' export const agent = new Agent({ id: 'multilingual-agent', name: 'multilingual-agent', instructions: 'You are a helpful assistant', model: 'openai/gpt-5.6-sol', inputProcessors: [ new LanguageDetector({ model: 'openrouter/openai/gpt-oss-safeguard-20b', targetLanguages: ['English', 'en'], threshold: 0.8, strategy: 'translate', preserveOriginal: true, instructions: 'Detect language and translate non-English content to English while preserving original intent', minTextLength: 10, includeDetectionDetails: true, translationQuality: 'quality', }), ], }) ``` ## Voir aussi - [Guardrails](https://mastra.zisheng.pro/fr/docs/agents/guardrails)