GT ClassMethodsTranslation

translateMany

GT の translateMany メソッドによるバッチ翻訳のAPIリファレンス

概要

translateMany メソッドは、複数のコンテンツアイテムを1回の API リクエストで効率的に翻訳します。 バッチ処理に最適化されており、translate を個別に複数回呼び出す場合よりも高いパフォーマンスを発揮します。

const gt = new GT({
  apiKey: 'your-api-key',
  projectId: 'your-project-id'
});

const result = await gt.translateMany([
  { source: 'Hello, world!' },
  { source: 'Welcome to our app' },
  { source: 'Click here to continue' }
], { targetLocale: 'es' });

リファレンス

パラメータ

Prop

Type

パラメーターの説明

ParameterDescription
sourcesソース内容と、項目ごとの任意のメタデータを含む Entry オブジェクトの配列
globalMetadataすべてのエントリに適用されるグローバルなメタデータ。必須の targetLocale を含みます

Entry オブジェクトの構造

sources 配列の各 Entry には、次の項目を含めることができます。

interface Entry {
  source: Content;           // 翻訳するコンテンツ
  targetLocale?: string;     // グローバルターゲットlocaleを上書き
  context?: string;          // このエントリの翻訳コンテキスト
  tags?: string[];          // カテゴリ化用のタグ
  // ... その他のEntryMetadataプロパティ
}

戻り値

Promise<TranslateManyResult>

結果には、翻訳済みのエントリとエラー情報が含まれます。

interface TranslateManyResult {
  translations: Array<TranslationResult | TranslationError>;
  metadata: {
    totalRequests: number;
    successCount: number;
    errorCount: number;
    processingTime: number;
  };
}

挙動

グローバルメタデータと項目別メタデータ

  • グローバルメタデータは、すべてのEntryにデフォルトとして適用されます
  • 項目別メタデータは、特定のEntryのためにグローバル設定を上書きします
  • ターゲットlocaleはEntryごとに上書きできます

エラー処理戦略

  • 個々の翻訳が失敗しても、バッチ全体は停止しません
  • 各結果は成功/失敗をそれぞれ独立して示します
  • 部分的な成功にも完全に対応しています

ロケール解決

  • グローバルのターゲットlocaleは、すべてのEntryの既定値として使用されます
  • エントリごとのターゲット対応ロケールは、グローバル設定を上書きします
  • 設定されている場合、すべてのlocaleはカスタムマッピングで解決されます

const menuItems = await gt.translateMany([
  { source: 'ホーム' },
  { source: '会社情報' },
  { source: '製品' },
  { source: 'お問い合わせ' }
], {
  targetLocale: 'fr',
  context: 'ナビゲーションメニュー項目'
});

menuItems.translations.forEach((result, index) => {
  if ('translation' in result) {
    console.log(`メニュー項目 ${index}: ${result.translation}`);
  } else {
    console.error(`メニュー項目 ${index} の翻訳に失敗しました: ${result.error}`);
  }
});

注意事項

  • 1 回の API リクエストで複数の項目を翻訳します
  • ある Entry で翻訳に失敗しても、他の Entry には影響しません
  • 結果は入力した Entry と同じ順序を保持します
  • グローバルなメタデータは各 Entry のメタデータとマージされます(各 Entry が優先)

次のステップ

このガイドはどうでしたか?

translateMany