> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # LanguageDetector `LanguageDetector` は、入力テキストの言語を特定し、必要に応じて対象言語へ翻訳して一貫した処理を実現する **入力 Processor** です。受信メッセージの言語を検出し、対象言語への自動翻訳を含む柔軟な方法で多言語コンテンツを処理することで、すべてのコンテンツを対象言語で処理し、言語の一貫性を保てます。 ## 使用例 ```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, }) ``` ## コンストラクターパラメーター **options** (`Options`): 言語の検出と翻訳の設定オプション **options.model** (`MastraModelConfig`): 検出/翻訳 Agent のモデル設定 **options.targetLanguages** (`string[]`): プロジェクトの対象言語。別の言語のコンテンツを検出した場合、翻訳できます。言語名('English')または ISO コード('en')を指定できます **options.threshold** (`number`): 言語検出の信頼度しきい値(0〜1)。検出の信頼度がこのしきい値を超えた場合にのみ処理します **options.strategy** (`'detect' | 'translate' | 'block' | 'warn'`): 対象外の言語を検出した場合の処理方法。'detect' は言語の検出のみ、'translate' は対象言語へ自動翻訳、'block' は対象言語以外のコンテンツを拒否、'warn' は警告をログに記録して通過を許可します **options.preserveOriginal** (`boolean`): 元のコンテンツをメッセージのメタデータに保持するかどうか。監査証跡やデバッグに役立ちます **options.instructions** (`string`): Agent に与えるカスタム検出指示。指定しない場合はデフォルトの指示を使用します **options.lastMessageOnly** (`boolean`): すべてのメッセージを確認せず、バッチ内の最新メッセージだけ言語を検出するかどうか。会話履歴が増えても LLM 呼び出し回数を一定に保つために使用します。 **options.minTextLength** (`number`): 検出を実行するテキストの最小文字数。短いテキストでは、言語検出の信頼性が低いことがあります **options.includeDetectionDetails** (`boolean`): 詳細な検出情報をログに含めるかどうか **options.translationQuality** (`'speed' | 'quality' | 'balanced'`): 翻訳品質の優先設定。'speed' は翻訳速度、'quality' は精度、'balanced' は速度と品質のバランスを優先します **options.providerOptions** (`ProviderOptions`): 内部の検出 Agent に渡す Provider 固有のオプション。思考モデルの推論量など、モデルの動作を制御するために使用します(例:{ openai: { reasoningEffort: 'low' } }) ## 戻り値 **id** (`string`): 'language-detector' に設定された Processor の識別子 **name** (`string`): 任意の Processor 表示名 **processInput** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise`): LLM に送信する前に入力メッセージを処理し、言語を検出して必要に応じてコンテンツを翻訳します ## 詳細な使用例 ```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', }), ], }) ``` ## 関連項目 - [Guardrails](https://mastra.zisheng.pro/ja/docs/agents/guardrails)