GT ClassMethodsTranslation

enqueueFiles

ファイル翻訳ジョブをエンキューする enqueueFiles メソッドのAPIリファレンス

概要

enqueueFiles メソッドは、General Translation API に既にアップロード済みのファイルに対する翻訳ジョブをキューに登録します。 このメソッドはファイル参照を受け取り、指定された対象ロケール向けに翻訳ジョブを作成します。

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

const result = await gt.enqueueFiles(fileRefs, {
  sourceLocale: 'en',
  targetLocales: ['es', 'fr', 'de']
});

ファイルはアップロードが完了してからでないと翻訳キューに追加できません。

リファレンス

パラメータ

名称説明
filesFileUploadRef[]以前にアップロードしたファイルの参照配列
optionsEnqueueOptions翻訳ジョブの構成 options

EnqueueOptions

名称説明
sourceLocale?string翻訳のソースロケール(デフォルトはインスタンスの sourceLocale)
targetLocales?string[]翻訳のターゲットロケールの配列(デフォルトはインスタンスの targetLocale)
publish?boolean完了後に翻訳を自動的に公開するか
requireApproval?boolean公開前に翻訳の承認を必須にするか
modelProvider?string翻訳に使用するAIモデルプロバイダー
force?boolean既存の翻訳があっても再翻訳を強制する
timeout?numberリクエストのタイムアウト(ミリ秒)

戻り値

Promise<EnqueueFilesResult> - ジョブ情報および処理の詳細を含む。

type EnqueueFilesResult = {
  translations: CompletedFileTranslationData[];
  data: Record<string, { fileName: string; versionId: string }>;
  locales: string[];
  message: string;
}
プロパティ説明
translationsCompletedFileTranslationData[]翻訳ジョブデータの配列
dataRecord<string, { fileName: string; versionId: string }>ファイル識別子からファイルメタデータへのマップ
localesstring[]翻訳ジョブの対象ロケール一覧
messagestringAPIのステータスメッセージ

index.ts
// (1) GTインスタンスを作成
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
  projectId: 'your-project-id',
  apiKey: 'your-api-key',
});

// (2) ファイルをアップロード
const fileUpload = {
  content: fileContents,
  fileName: filePath,
  fileFormat: 'JSON',
  locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  { sourceLocale: 'en' }
);

// (3) ファイル翻訳ジョブをキューに追加
const enqueueResult = await gt.enqueueFiles(
  uploadedFiles,
  {
  sourceLocale: 'en',
  targetLocales: targetLocales,
});

// (4) すべての翻訳が完了するまで待機
let translationIds = [];
const statusQuery = Object.values(enqueueResult.data).flatMap(({fileName, versionId}) => {
  return targetLocales.map((locale) => ({locale, fileName, versionId}));
});
while (true) {
  const status = await gt.checkFileTranslations(statusQuery);
  if (status.translations.length === statusQuery.length) {
    translationIds = status.translations.map(translation => translation.id);
    break;
  }
  await new Promise(resolve => setTimeout(resolve, 1000));
}

// (5) ファイルをダウンロード
const result = await gt.downloadFileBatch(translationIds);

注意事項

  • まず uploadSourceFiles を使用してファイル内容をアップロードしてください
  • 翻訳ジョブは非同期で実行されます。進捗の確認には checkFileTranslations を使用してください

次のステップ

  • キュー投入前にファイルをアップロードするには、uploadSourceFiles を参照してください
  • 翻訳の進行状況を監視するには、checkFileTranslations を参照してください
  • 完了した翻訳を取得するには、downloadTranslatedFile を参照してください

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

enqueueFiles