# generaltranslation: General Translation Core SDK: setupProject
URL: https://generaltranslation.com/ja/docs/core/class/methods/translation/setup-project.mdx
---
title: setupProject
description: 翻訳プロジェクトのセットアップを初期化するための `setupProject` メソッドの API リファレンス
---
## 概要
`setupProject` メソッドは、事前にアップロードされたファイルを使って、翻訳プロジェクトのセットアップを開始します。
これにより、ファイルを解析し、翻訳ワークフローで使えるよう準備する非同期のセットアップジョブが作成されます。
```typescript
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const setupResult = await gt.setupProject(fileRefs, { timeout: 30000 });
console.log(`セットアップジョブが作成されました: ${setupResult.jobId}`);
```
`setupProject` を呼び出す前に、[`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) を使ってあらかじめファイルをアップロードしておく必要があります。
## リファレンス
### パラメータ
| 名前 | 型 | 説明 |
| ---------- | --------------------- | ------------------------- |
| `files` | `FileReference[]` | 以前にアップロードしたソースファイルへの参照の配列 |
| `options?` | `SetupProjectOptions` | セットアップジョブの省略可能な設定 |
#### FileReferenceの構造
```typescript
type FileReference = {
fileId: string;
versionId: string;
branchId: string;
fileName: string;
fileFormat?: FileFormat;
dataFormat?: DataFormat;
}
```
#### SetupProjectOptions
| 名前 | 型 | 説明 |
| ---------- | ---------- | ------------------------------ |
| `locales?` | `string[]` | 対象ロケールの省略可能な配列 |
| `timeout?` | `number` | API リクエストの省略可能なタイムアウト時間 (ミリ秒) |
### 戻り値
`Promise` - セットアップジョブの識別子と初期ステータスを含みます。
```typescript
type SetupProjectResult = {
jobId: string;
status: 'queued';
}
```
| プロパティ | 型 | 説明 |
| -------- | ---------- | ---------------- |
| `jobId` | `string` | セットアップジョブの一意の識別子 |
| `status` | `'queued'` | セットアップジョブの初期ステータス |
***
## 使用例
### 基本的な使い方
アップロードしたファイルを使ってプロジェクトのセットアップを初期化します:
```typescript title="index.ts" copy
import { GT } from 'generaltranslation';
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key'
});
// 前回のアップロードからのファイル参照
const fileRefs = [
{
fileId: 'file-123',
versionId: 'version-456',
branchId: 'branch-789',
fileName: 'app.json',
fileFormat: 'JSON'
},
{
fileId: 'file-789',
versionId: 'version-012',
branchId: 'branch-789',
fileName: 'content.md',
fileFormat: 'MD'
}
];
const setupResult = await gt.setupProject(fileRefs);
console.log(`Setup initiated with job ID: ${setupResult.jobId}`);
// ジョブのステータスを監視する
const jobStatus = await gt.checkJobStatus([setupResult.jobId]);
console.log(`Job status: ${jobStatus.jobs[0].status}`);
```
***
## 注意事項
* `setupProject` を呼び出す前に、[`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) を使用してファイルをアップロードする必要があります
* プロジェクトのセットアップでは、翻訳ワークフローを最適化するためにファイルの内容と構造を解析します
* セットアップジョブは非同期で実行されるため、[`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) で進行状況を確認してください
* 通常、新規プロジェクトでは翻訳ジョブをキューに追加する前にセットアップが必要です
* ファイル参照には、branching のサポート下で適切にバージョン管理するための `branchId` が含まれます
## 次のステップ
* セットアップ前にファイルをアップロードするには、[`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files)を参照してください
* セットアップの進行状況を確認するには、[`checkJobStatus`](/docs/core/class/methods/translation/check-job-status)を参照してください
* セットアップ後に翻訳を開始するには、[`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files)を参照してください