# generaltranslation: General Translation Core SDK: downloadFile URL: https://generaltranslation.com/ja/docs/core/class/methods/translation/download-file.mdx --- title: downloadFile description: ソースファイルまたは翻訳済みファイルをダウンロードする downloadFile メソッドの API リファレンス --- ## 概要 `downloadFile` メソッドは、単一ファイルの内容を UTF-8 文字列としてダウンロードします。 ロケールが指定されている場合は対応する翻訳を、指定されていない場合はソースファイルをダウンロードします。 ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); // 翻訳をダウンロード const translatedContent = await gt.downloadFile({ fileId: 'file-123', branchId: 'branch-456', locale: 'es', versionId: 'version-789' }); // ソースファイルをダウンロード(ロケール未指定) const sourceContent = await gt.downloadFile({ fileId: 'file-123', branchId: 'branch-456' }); ``` **翻訳ステータス:** 翻訳をダウンロードする際、このメソッドは完了した翻訳に対してのみ機能します。 ダウンロードを試す前に、まず [`queryFileData`](/docs/core/class/methods/translation/query-file-data) を使用して、翻訳が完了していることを確認してください。 ## リファレンス ### パラメーター | 名前 | 型 | 説明 | | ---------- | --------------------- | ----------------------------- | | `file` | `FileInfo` | ダウンロードするファイルを指定するファイル情報オブジェクト | | `options?` | `DownloadFileOptions` | ダウンロードリクエストのオプション設定 | #### FileInfo 構造体 | 名前 | 型 | 説明 | | ---------------------------- | --------- | --------------------------------------------------------------------------------------- | | `fileId` | `string` | ダウンロードするファイルの一意の識別子 | | `branchId?` | `string` | ダウンロード元のブランチ ID。指定しない場合は、デフォルトブランチが使用されます | | `locale?` | `string` | ダウンロードする翻訳の対象ロケール。指定しない場合は、ソースファイルがダウンロードされます | | `versionId?` | `string` | ファイルのオプションのバージョン ID。指定しない場合は、最新バージョンが使用されます | | `useLatestAvailableVersion?` | `boolean` | `true` の場合、指定した `versionId` が見つからなければ、失敗する代わりに利用可能な最新バージョンにフォールバックします。デフォルトは `false` です | #### DownloadFileOptions | 名前 | 型 | 説明 | | ---------- | -------- | --------------------- | | `timeout?` | `number` | リクエストのタイムアウト時間 (ミリ秒) | ### 戻り値 `Promise` - UTF-8文字列としてのファイルの内容。 返される文字列には、元のソースファイルと同じ形式のファイル内容が含まれます。翻訳の場合、翻訳可能なすべてのテキストは対象のロケールに変換されます。 *** ## 例 ```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, } ); // (4) すべての翻訳が完了するまで待機する const { fileId, versionId, branchId } = uploadedFiles[0]; const result = await gt.awaitJobs(enqueueResult); if (!result.complete) { console.error('一部のジョブが時間内に完了しませんでした'); } // (5) 単一ファイルをダウンロードする const spanishContent = await gt.downloadFile({ fileId, branchId, locale: 'es' }); console.log('スペイン語翻訳:', spanishContent); ``` *** ## 注意事項 * ダウンロードしたファイルを UTF-8 文字列として取得します * ロケールを指定する場合、そのロケールの翻訳が完了している必要があります * ロケールを指定しない場合は、ソースファイルが返されます * ファイルが見つからない場合は失敗します ## 次のステップ * ダウンロード前に翻訳の状態を確認するには、[`queryFileData`](/docs/core/class/methods/translation/query-file-data)を参照してください * 複数のファイルを効率よくダウンロードするには、[`downloadFileBatch`](/docs/core/class/methods/translation/download-file-batch)を参照してください * ファイルのアップロード手順については、[`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files)を参照してください * 翻訳ジョブを開始するには、[`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files)を参照してください * ダウンロード前にジョブの完了を待機するには、[`awaitJobs`](/docs/core/class/methods/translation/await-jobs)を参照してください