# 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)をご覧ください