# General Translation Platform: translateMany URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/translation/translate-many.mdx --- title: translateMany description: 1 回のリクエストで複数の文字列または構造化されたコンテンツ エントリを翻訳します。translateMany の API リファレンス。 --- 複数のコンテンツ エントリを、1 回の General Translation API リクエストで翻訳します。バッチ翻訳に使用します。多数の個別の [`translate`](/docs/platform/core/reference/gt-class-methods/translation/translate) 呼び出しを行うよりも効率的です。 ## 概要 [#overview] 設定済みの [`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスに対して `translateMany` を呼び出し、エントリのコレクションと、ターゲット ロケールを表す文字列 (短縮記法) または options object のいずれかを渡します。エントリは array またはハッシュをキーとする Record として受け取り、戻り値もそれに対応した同じ形式になります。 ```typescript const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id' }); const results = await gt.translateMany( ['Hello, world!', 'Welcome to our app', 'Click here to continue'], 'es' ); ``` シグネチャ: ```typescript // オーバーロード1: エントリの配列 translateMany( sources: TranslateManyEntry[], options: string | TranslateOptions, timeout?: number ): Promise // オーバーロード2: ハッシュをキーとするエントリのレコード translateMany( sources: Record, options: string | TranslateOptions, timeout?: number ): Promise> ``` *注: `translateMany` を使用するには、GT インスタンスに `apiKey` (または `devApiKey`) と `projectId` の指定が必要です。* ## 仕組み [#how-it-works] * **配列とレコード。** 配列では、エントリは内部でハッシュ化され、結果は入力順で返されます。レコードでは、keys はハッシュとして扱われ、レスポンスも同じ keys を持つレコードになります。 * **独立した結果。** 個々の翻訳が失敗してもバッチ全体は停止せず、各結果がそれぞれ成功または失敗を個別に返すため、一部のみ成功するケースにも完全に対応しています。 * **オプションの短縮記法。** `options` に文字列を渡すと、`{ targetLocale: string }` の短縮記法として扱われます。つまり、`gt.translateMany(['Hello'], 'es')` と `gt.translateMany(['Hello'], { targetLocale: 'es' })` は同じ意味です。 ## パラメータ [#parameters] | パラメータ | 説明 | 型 | 任意 | デフォルト | | --------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------ | --- | ----- | | [`sources`](#sources) | 翻訳するエントリの配列またはレコード。 | [`TranslateManyEntry[] \| Record`](/docs/platform/core/reference/types/translate-many-entry) | いいえ | — | | [`options`](#options) | ターゲットロケールを表す文字列、またはオプションオブジェクト。 | `string \| TranslateOptions` | いいえ | — | | [`timeout`](#timeout) | ミリ秒単位のリクエストタイムアウト。 | `number` | はい | — | ### `sources` [#sources] **型** [`TranslateManyEntry[] \| Record`](/docs/platform/core/reference/types/translate-many-entry) · **必須** 翻訳対象のエントリです。各 [`TranslateManyEntry`](/docs/platform/core/reference/types/translate-many-entry) は、プレーン文字列、または `source` ([`Content`](/docs/platform/core/reference/types/content)) と省略可能な `metadata` ([`EntryMetadata`](/docs/platform/core/reference/types/entry-metadata)) を持つオブジェクトです。 ```typescript type TranslateManyEntry = string | { source: Content; metadata?: EntryMetadata }; ``` 入力順で結果を受け取るには配列を渡し、同じキーで結果を受け取るには、ハッシュをキーとするレコードを渡します。 ### `options` [#options] **型** `string | TranslateOptions` · **必須** `'es'` のようなターゲットロケールを表す文字列、またはオプションオブジェクト: ```typescript type TranslateOptions = { targetLocale: string; // 翻訳先のロケール sourceLocale?: string; // インスタンスのsourceLocaleを上書きする modelProvider?: string; // モデルプロバイダーのヒント(省略可) }; ``` ### `timeout` [#timeout] **型** `number` · **任意** リクエストのタイムアウト時間 (ミリ秒) です。省略時は、インスタンスのデフォルト値が使用されます。 ## 戻り値 [#returns] **型** `Promise | Promise>` * **Array 入力** は、入力と同じ順序の [`TranslationResult`](/docs/platform/core/reference/types/translation-result) オブジェクトの配列である [`TranslateManyResult`](/docs/platform/core/reference/types/translate-many-result) に解決されます。 * **Record 入力** は、入力と同じハッシュをキーとする `Record` に解決されます。 各結果の翻訳を参照する前に、`success` で絞り込んでください。 ## 例 [#examples] ```typescript // 文字列の配列 const results = await gt.translateMany(['Home', 'About', 'Products', 'Contact'], 'fr'); results.forEach((result, index) => { if (result.success) { console.log(`Item ${index}: ${result.translation}`); } else { console.error(`Item ${index} failed: ${result.error}`); } }); ``` ```typescript // エントリごとのメタデータを持つ配列 const results = await gt.translateMany( [ { source: 'Hello, world!', metadata: { dataFormat: 'ICU' } }, { source: 'Goodbye, world!' }, ], { targetLocale: 'es' } ); ``` ```typescript // ハッシュをキーとするレコード — 結果は同じキーで返される const results = await gt.translateMany( { 'greeting-hash': 'Hello, world!', 'farewell-hash': 'Goodbye, world!', }, 'es' ); console.log(results['greeting-hash'].translation); ``` ## メモ [#notes] * 1回の API リクエストで複数のエントリを翻訳します。 * 1つのエントリの処理が失敗しても、他のエントリには影響しません。 * 結果は、入力配列と同じ順序、または入力レコードと同じキーで返されます。