# General Translation Platform: setupProject URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/translation/setup-project.mdx --- title: setupProject description: Prepara los archivos cargados para los flujos de trabajo de traducción del proyecto. Referencia de la API para setupProject. --- Inicia el proceso de configuración inicial de un proyecto de traducción con archivos cargados previamente en General Translation. Crea un trabajo de configuración inicial asíncrono que analiza los archivos y los deja listos para los flujos de trabajo de traducción. ## Resumen general [#overview] Llama a `setupProject` con las referencias de archivos de [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) y, opcionalmente, con opciones de configuración inicial. Esto pone en cola un trabajo de configuración inicial (devolviendo un `setupJobId`) o indica que el proyecto ya tiene la configuración inicial. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const setupResult = await gt.setupProject(fileRefs, { timeoutMs: 30000 }); if (setupResult.status === 'queued') { console.log(`Setup job created: ${setupResult.setupJobId}`); } else { console.log('Project is already set up'); } ``` Firma: ```typescript setupProject( files: FileReference[], options?: SetupProjectOptions ): Promise ``` *Nota: `setupProject` requiere un `apiKey` (o `devApiKey`) y `projectId` en la instancia de GT. Primero debes cargar los archivos con [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files).* ## Cómo funciona [#how-it-works] * **Análisis de archivos.** La configuración inicial analiza el contenido y la estructura de los archivos para optimizar los flujos de trabajo de traducción. * **Trabajo asíncrono.** El trabajo de configuración inicial se ejecuta de forma asíncrona — supervisa el progreso con [`checkJobStatus`](/docs/platform/core/reference/gt-class-methods/translation/check-job-status). * **Cuándo se requiere.** La configuración inicial suele ser necesaria antes de encolar trabajos de traducción para proyectos nuevos. * **Control de versiones.** Las referencias de archivos incluyen `branchId` para el control de versiones con compatibilidad con ramas. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | -------------------------------------------------- | --------------------- | -------- | -------------- | | [`files`](#files) | Referencias a archivos fuente subidos previamente. | `FileReference[]` | No | — | | [`options`](#options) | Opciones del trabajo de configuración inicial. | `SetupProjectOptions` | Sí | — | ### `files` [#files] **Tipo** `FileReference[]` · **Obligatorio** Las referencias de archivos devueltas por [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files): ```typescript type FileReference = { fileId: string; versionId: string; branchId: string; fileName: string; fileFormat: FileFormat; transformFormat?: FileFormat; // formato de salida solicitado para las traducciones generadas dataFormat?: DataFormat; }; ``` Tanto `fileName` como `fileFormat` son obligatorios en `FileReference`; `transformFormat` y `dataFormat` son opcionales. ### `options` [#options] **Type** `SetupProjectOptions` · **Opcional** | Campo | Descripción | Type | Opcional | | ----------- | ----------------------------------------------------------------------------------------- | ---------- | -------- | | `force` | Fuerza una nueva configuración inicial al invalidar las traducciones en caché existentes. | `boolean` | Sí | | `locales` | locales de destino del proyecto. | `string[]` | Sí | | `timeoutMs` | Tiempo de espera en milisegundos para la solicitud a la API. | `number` | Sí | ## Devuelve [#returns] **Tipo** `Promise` Se resuelve con un `SetupProjectResult`, una unión de dos variantes: ```typescript type SetupProjectResult = | { setupJobId: string; status: 'queued' } | { status: 'completed' }; ``` * Cuando se crea un trabajo de configuración inicial, devuelve la variante `queued` con un `setupJobId`. * Cuando el proyecto ya está configurado, devuelve la variante `completed` sin identificador de trabajo. | Propiedad | Descripción | Tipo | | ------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------- | | `setupJobId` | Identificador único del trabajo de configuración inicial en cola. Solo está presente en la variante `queued`. | `string` | | `status` | `'queued'` cuando se creó un trabajo de configuración inicial, o `'completed'` cuando el proyecto ya estaba configurado. | `'queued' \| 'completed'` | ## Ejemplos [#examples] ```typescript title="index.ts" import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // Referencias de archivo de una carga anterior 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); if (setupResult.status === 'queued') { console.log(`Setup initiated with job ID: ${setupResult.setupJobId}`); // Monitorear el estado del trabajo (checkJobStatus devuelve una lista plana) const jobStatus = await gt.checkJobStatus([setupResult.setupJobId]); console.log(`Job status: ${jobStatus[0].status}`); } else { console.log('Project is already set up — no setup job needed'); } ``` ## Notas [#notes] * Los archivos deben subirse con [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) antes de llamar a `setupProject`. * La configuración inicial del proyecto analiza el contenido y la estructura de los archivos para optimizar los flujos de trabajo de traducción. * El trabajo de configuración inicial se ejecuta de forma asíncrona; supervisa su progreso con [`checkJobStatus`](/docs/platform/core/reference/gt-class-methods/translation/check-job-status). * La configuración inicial suele ser necesaria antes de poner en cola trabajos de traducción para proyectos nuevos. * Las referencias de archivos incluyen `branchId` para el control de versiones con compatibilidad con rama.