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']
});ファイルはアップロードが完了してからでないと翻訳キューに追加できません。
リファレンス
パラメータ
| 名称 | 型 | 説明 | 
|---|---|---|
| files | FileUploadRef[] | 以前にアップロードしたファイルの参照配列 | 
| options | EnqueueOptions | 翻訳ジョブの構成 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;
}| プロパティ | 型 | 説明 | 
|---|---|---|
| translations | CompletedFileTranslationData[] | 翻訳ジョブデータの配列 | 
| data | Record<string, { fileName: string; versionId: string }> | ファイル識別子からファイルメタデータへのマップ | 
| locales | string[] | 翻訳ジョブの対象ロケール一覧 | 
| message | string | APIのステータスメッセージ | 
例
// (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を参照してください
このガイドはどうでしたか?

