# generaltranslation: General Translation Core SDK: setupProject URL: https://generaltranslation.com/ru/docs/core/class/methods/translation/setup-project.mdx --- title: setupProject description: Справочник по API метода setupProject для инициализации настройки проекта перевода --- ## Обзор Метод `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' }); // Ссылки на файлы из предыдущего upload 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}`); ``` *** ## Примечания * Файлы необходимо загрузить с помощью [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) перед вызовом `setupProject` * Настройка проекта анализирует содержимое и структуру файлов, чтобы оптимизировать процессы перевода * Задача настройки выполняется асинхронно — отслеживайте прогресс с помощью [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) * Настройка обычно требуется перед постановкой заданий на перевод в очередь для новых проектов * Ссылки на файлы включают `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), чтобы запустить переводы после настройки