# General Translation Platform: プロジェクトとファイルの管理 URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class-methods/project/project-management.mdx --- title: プロジェクトとファイルの管理 description: GT インスタンスから General Translation プロジェクトの情報、ブランチ、ファイルの移動、CDN への公開、編集差分を管理します。プロジェクトおよびファイル管理メソッドの API リファレンスです。 --- プロジェクトのメタデータ、ブランチ、ファイルのライフサイクル、編集履歴を管理するための、[GT](/docs/platform/core/reference/gt-class/constructor) インスタンスの低レベルメソッドです。これらは主に [CLI](/docs/cli/quickstart) などのツールで使用され、ほとんどのアプリケーションでは代わりに、より高レベルな[翻訳メソッド](/docs/platform/core/reference/gt-class-methods/translation/translate)を使用します。 *注: このページのすべてのメソッドは General Translation API を呼び出すため、[`GT`](/docs/platform/core/reference/gt-class/constructor) インスタンスに API キーが必要です。引数内のロケールコードは、リクエスト前に正規形式へ正規化されます。* | メソッド | 説明 | 戻り値 | | --------------------------------------- | ------------------------------------------- | --------------------------------- | | [`getProjectInfo`](#get-project-info) | 認証済みプロジェクトの名前、ロケール、レビュー設定を取得します。 | `Promise` | | [`queryBranchData`](#query-branch-data) | 名前から ブランチ ID を検索します。 | `Promise` | | [`createBranch`](#create-branch) | ブランチを作成します (既存のブランチがあればそれを返します) 。 | `Promise` | | [`getOrphanedFiles`](#orphaned-files) | ブランチ上で、ローカルのファイルセットに存在しなくなったファイルを見つけます。 | `Promise` | | [`processFileMoves`](#process-moves) | 移動または名前変更の後、新しいファイル ID の下にソースファイルと翻訳を複製します。 | `Promise` | | [`publishFiles`](#publish-files) | CDN 上のファイルを公開または非公開にします。 | `Promise` | | [`submitUserEditDiffs`](#edit-diffs) | 将来の生成で意図が保持されるよう、ユーザー編集の差分を送信します。 | `Promise` | ## `getProjectInfo` [#get-project-info] 認証済みプロジェクトのメタデータ (名前、組織、デフォルトおよび現在のロケール、レビュー設定) を取得します。 ```typescript getProjectInfo(options?: { timeout?: number }): Promise ``` * **`options.timeout`** — ミリ秒単位で指定する省略可能なリクエストタイムアウト。 戻り値は `ProjectInfoResult` です: | Field | Description | Type | | ---------------- | ------------------------- | -------------------- | | `id` | プロジェクトID。 | `string` | | `name` | プロジェクト名。 | `string` | | `orgId` | 組織ID。 | `string` | | `defaultLocale` | プロジェクトのデフォルトの (ソース) ロケール。 | `string` | | `currentLocales` | プロジェクトに設定されている対象ロケール。 | `string[]` | | `autoApprove` | 翻訳がレビューなしで自動承認されるかどうか。 | `boolean` (optional) | ```typescript const info = await gt.getProjectInfo(); console.log(info.defaultLocale, info.currentLocales); ``` ## `queryBranchData` [#query-branch-data] ブランチ名に対応するブランチレコードを取得し、プロジェクトのデフォルトブランチを返します。 ```typescript queryBranchData(query: { branchNames: string[] }): Promise ``` * **`query.branchNames`** — 参照するブランチ名。 戻り値は、`branches` (`{ id, name }[]`) と `defaultBranch` (`{ id, name }` または `null`) を含む `BranchDataResult` です。 ```typescript const { branches, defaultBranch } = await gt.queryBranchData({ branchNames: ['main'], }); ``` ## `createBranch` [#create-branch] ブランチを作成します。すでに同名のブランチが存在する場合は、その既存のブランチを返します。 ```typescript createBranch(query: { branchName: string; defaultBranch: boolean; }): Promise ``` * **`query.branchName`** — 作成するブランチの名前。 * **`query.defaultBranch`** — このブランチがプロジェクトのデフォルトブランチかどうか。 戻り値は、作成された `branch` (`{ id, name }`) を含む `CreateBranchResult` です。 ```typescript const { branch } = await gt.createBranch({ branchName: 'feature/new-copy', defaultBranch: false, }); ``` ## `getOrphanedFiles` [#orphaned-files] ブランチ上には存在するものの、指定されたリストにファイル ID が含まれていないファイルを返します。これらは、ローカルで移動、名前変更、または削除された可能性が高いファイルです。移動の検出に使用されます。 ```typescript getOrphanedFiles( branchId: string, fileIds: string[], options?: { timeout?: number } ): Promise ``` * **`branchId`** — 確認対象のブランチ。 * **`fileIds`** — 現在の (孤立していない) ファイル ID。 * **`options.timeout`** — オプションのリクエストタイムアウト (ミリ秒) 。 `orphanedFiles` (`{ fileId, versionId, fileName }[]`) を含む `GetOrphanedFilesResult` を返します。`fileIds` のリストが大きい場合は自動的に分割してバッチ処理され、ファイルが孤立として報告されるのは、すべてのバッチに存在しない場合のみです。 ## `processFileMoves` [#process-moves] ファイルの移動や名前変更が行われた際に、新しいファイル ID の下へソースファイルとその翻訳を複製することで、翻訳を保持します。 ```typescript processFileMoves( moves: MoveMapping[], options?: { branchId?: string; timeout?: number } ): Promise ``` * **`moves`** — `{ oldFileId, newFileId, newFileName }` のマッピングの配列。 * **`options.branchId`** — 移動を適用するブランチ。 * **`options.timeout`** — 省略可能な、ミリ秒単位のリクエストタイムアウト。 各 move ごとの `results` と `summary` (`{ total, succeeded, failed }`) を含む `ProcessMovesResponse` を返します。move は自動的にバッチ処理されます。 ```typescript const result = await gt.processFileMoves( [{ oldFileId: 'abc123', newFileId: 'def456', newFileName: 'locales/en.json' }], { branchId: 'main' } ); ``` ## `publishFiles` [#publish-files] CDN 上でソースファイルと翻訳を公開または非公開にします。 ```typescript publishFiles(files: PublishFileEntry[]): Promise ``` 各エントリは `PublishFileEntry` 型です: | Field | 説明 | 型 | 任意 | | ----------- | --------------------------------- | --------- | --- | | `fileId` | 公開または公開解除するファイル。 | `string` | いいえ | | `versionId` | ファイルのバージョン。 | `string` | いいえ | | `publish` | 公開する場合は `true`、公開解除する場合は `false`。 | `boolean` | いいえ | | `branchId` | ファイルが属するブランチ。 | `string` | はい | | `fileName` | ファイル名。 | `string` | はい | ファイルごとの `results` (`{ fileId, versionId, branchId, success, locale?, error? }`) を含む `PublishFilesResult` を返します。各結果に `locale` が含まれている場合は翻訳を、含まれていない場合はソースファイルを示します。 ## `submitUserEditDiffs` [#edit-diffs] 既存の翻訳に対するユーザーによる編集内容を送信し、以後の生成でもユーザーの意図が保たれるようにします。 ```typescript submitUserEditDiffs(payload: { diffs: SubmitUserEditDiff[]; }): Promise ``` 各 `SubmitUserEditDiff` には、`fileName`、`locale`、`diff`、`branchId`、`versionId`、`fileId`、`localContent` が含まれます。ロケールは送信前に正規形式へ正規化され、差分は自動的にバッチ処理されます。送信が成功すると完了します。