# generaltranslation: General Translation Core SDK: enqueueFiles URL: https://generaltranslation.com/ja/docs/core/class/methods/translation/enqueue-files.mdx --- title: enqueueFiles description: ファイル翻訳ジョブをキューに追加する enqueueFiles メソッドのAPIリファレンス --- ## 概要 `enqueueFiles` メソッドは、事前にアップロードされたソースファイルの翻訳ジョブをキューに追加します。 このメソッドはファイル参照を受け取り、指定した対象ロケール向けの翻訳ジョブを作成します。 ```typescript 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` | `FileReferenceIds[]` | 事前にアップロードしたファイル参照 ID の配列 | | `options` | `EnqueueOptions` | 翻訳ジョブの設定オプション | #### FileReferenceIds 構造 ```typescript type FileReferenceIds = { fileId: string; versionId: string; branchId?: string; fileName?: string; fileFormat?: FileFormat; dataFormat?: DataFormat; } ``` | 名前 | 型 | 説明 | | ------------- | ------------ | ----------------------------- | | `fileId` | `string` | 一意のファイルID | | `versionId` | `string` | バージョンID | | `branchId?` | `string` | ブランチID (任意) | | `fileName?` | `string` | ファイル名 (任意) | | `fileFormat?` | `FileFormat` | ファイル形式 (JSON、MD など) | | `dataFormat?` | `DataFormat` | ファイル内のデータ形式 (ICU、I18NEXT、JSX) | #### EnqueueOptions | 名前 | 型 | 説明 | | ------------------ | ---------- | ------------------------------------- | | `sourceLocale?` | `string` | 翻訳元のロケール (デフォルトはインスタンスの sourceLocale) | | `targetLocales` | `string[]` | 対象ロケールの配列 | | `requireApproval?` | `boolean` | 公開前に翻訳の承認を必須とするかどうか | | `modelProvider?` | `string` | 翻訳に使用する特定の AI モデルプロバイダー | | `force?` | `boolean` | 既存の翻訳がある場合でも再翻訳を強制する | | `timeout?` | `number` | リクエストのタイムアウト時間 (ミリ秒) | ### 戻り値 `Promise` - ジョブ情報と処理の詳細を含みます。 ```typescript type EnqueueFilesResult = { jobData: { [jobId: string]: { sourceFileId: string; fileId: string; versionId: string; branchId: string; targetLocale: string; projectId: string; force: boolean; modelProvider?: string; }; }; locales: string[]; message: string; } ``` | プロパティ | 型 | 説明 | | --------- | ------------------------ | ------------------------------------- | | `jobData` | `Record` | ジョブ ID をキーとするレコードで、各値には翻訳ジョブの詳細が含まれます | | `locales` | `string[]` | 翻訳ジョブの対象ロケールの一覧 | | `message` | `string` | API から返されるステータスメッセージ | *** ## 例 ```typescript title="index.ts" copy // (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, } ); console.log(`翻訳ジョブが作成されました: ${enqueueResult.jobId}`); // (4) すべての翻訳が完了するまで待機する const { fileId, versionId, branchId } = uploadedFiles[0]; const translatedFileQueries = targetLocales.map((locale) => ({ fileId, versionId, branchId, locale })); while (true) { const result = await gt.queryFileData({ translatedFiles: translatedFileQueries }); const allCompleted = result.translatedFiles?.every( (file) => file.completedAt !== null ); if (allCompleted) { break; } await new Promise(resolve => setTimeout(resolve, 1000)); } // (5) ファイルをダウンロードする const downloadResult = await gt.downloadFileBatch( targetLocales.map((locale) => ({ fileId, branchId, locale })) ); ``` *** ## 注意事項 * ファイルの内容は、まず [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) を使ってアップロードする必要があります * 翻訳ジョブは非同期で実行されるため、進行状況の確認には [`queryFileData`](/docs/core/class/methods/translation/query-file-data) を使用してください * ブランチをサポートした適切なバージョン管理のため、ファイル参照には `branchId` が含まれます ## 次のステップ * キューに追加する前にファイルをアップロードするには、[`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files)をご覧ください * 翻訳の進行状況を確認するには、[`queryFileData`](/docs/core/class/methods/translation/query-file-data)をご覧ください * 完了した翻訳を取得するには、[`downloadFile`](/docs/core/class/methods/translation/download-file)をご覧ください * ジョブのステータスを確認するには、[`checkJobStatus`](/docs/core/class/methods/translation/check-job-status)をご覧ください