# General Translation Platform: downloadFile URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class-methods/translation/download-file.mdx --- title: downloadFile description: Скачивает один переведённый файл после завершения перевода. Справочник API для downloadFile. --- Скачивает содержимое одного файла в виде строки UTF-8 с помощью General Translation. В зависимости от того, передаёте ли вы локаль, возвращает либо исходный файл, либо соответствующий перевод. ## Обзор [#overview] Вызовите `downloadFile`, передав дескриптор файла. Укажите параметр `locale`, чтобы скачать перевод, или опустите его, чтобы скачать исходный файл. ```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', }); ``` Сигнатура: ```typescript downloadFile( file: { fileId: string; branchId?: string; locale?: string; versionId?: string; useLatestAvailableVersion?: boolean; }, options?: DownloadFileOptions ): Promise ``` *Примечание: `downloadFile` требует `apiKey` (или `devApiKey`) и `projectId` в экземпляре GT. При скачивании переводов этот метод работает только с завершёнными переводами — сначала проверьте status с помощью [`queryFileData`](/docs/platform/core/reference/gt-class-methods/translation/query-file-data).* ## Как это работает [#how-it-works] * **Исходный файл и перевод.** Если указана `locale`, для файла должен существовать завершённый перевод на эту локаль. Если `locale` не указана, возвращается исходный файл. * **Формат сохраняется.** Возвращаемая строка имеет тот же формат, что и исходный файл; в случае перевода весь переводимый текст преобразуется в целевую локаль. * **Ошибка.** Вызов завершается ошибкой, если файл не найден. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательный | По умолчанию | | --------------------- | ----------------------------------------------------------- | --------------------- | -------------- | ------------ | | [`file`](#file) | Информация о файле, определяющая, какой файл нужно скачать. | `object` | Нет | — | | [`options`](#options) | Параметры запроса на скачивание. | `DownloadFileOptions` | Да | — | ### `file` [#file] **Тип** `object` · **Обязательный** Определяет файл для скачивания: | Поле | Описание | Тип | Необязательный | По умолчанию | | --------------------------- | ----------------------------------------------------------------------------------------------------------- | --------- | -------------- | ------------------- | | `fileId` | Уникальный идентификатор скачиваемого файла. | `string` | Нет | — | | `branchId` | branch, из которой нужно скачать файл. | `string` | Да | branch по умолчанию | | `locale` | Целевая локаль перевода для скачивания. Не указывайте, чтобы скачать исходный файл. | `string` | Да | — | | `versionId` | ID версии файла. | `string` | Да | последняя версия | | `useLatestAvailableVersion` | Если `true` и указанный `versionId` не найден, вместо ошибки будет использована последняя доступная версия. | `boolean` | Да | `false` | ### `options` [#options] **Тип** `DownloadFileOptions` · **Необязательный** | Поле | Описание | Тип | Необязательное | | --------- | --------------------------------------- | -------- | -------------- | | `timeout` | Время ожидания запроса в миллисекундах. | `number` | Да | ## Возвращает [#returns] **Тип** `Promise` Возвращает содержимое файла в виде строки UTF-8 в том же формате, что и исходный файл. Для переводов весь переводимый текст преобразуется в целевую локаль. ## Примеры [#examples] ```typescript title="index.ts" // (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('Some jobs did not finish in time'); } // (5) Скачать отдельный файл const spanishContent = await gt.downloadFile({ fileId, branchId, locale: 'es', }); console.log('Spanish translation:', spanishContent); ``` ## Заметки [#notes] * Возвращает загруженный файл в виде строки UTF-8. * Если указана локаль, для файла должен быть доступен завершённый перевод на эту локаль. * Если локаль не указана, возвращается исходный файл. * Если файл не найден, вызов завершается ошибкой.