# generaltranslation: General Translation Core SDK: setupProject
URL: https://generaltranslation.com/es/docs/core/class/methods/translation/setup-project.mdx
---
title: setupProject
description: Referencia de la API del método setupProject para inicializar la configuración del proyecto de traducción
---
## Descripción general
El método `setupProject` inicia el proceso de configuración de un proyecto de traducción a partir de archivos cargados previamente.
Esto crea un trabajo de configuración asíncrona que analiza los archivos y los prepara para los flujos de trabajo de traducción.
```typescript
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const setupResult = await gt.setupProject(fileRefs, { timeout: 30000 });
console.log(`Setup job created: ${setupResult.jobId}`);
```
Debes haber cargado previamente los archivos con [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) antes de llamar a `setupProject`.
## Referencia
### Parámetros
| Nombre | Tipo | Descripción |
| ---------- | --------------------- | ----------------------------------------------------------- |
| `files` | `FileReference[]` | Array de referencias a archivos fuente cargados previamente |
| `options?` | `SetupProjectOptions` | Opciones opcionales para la tarea de configuración |
#### Estructura de FileReference
```typescript
type FileReference = {
fileId: string;
versionId: string;
branchId: string;
fileName: string;
fileFormat?: FileFormat;
dataFormat?: DataFormat;
}
```
#### SetupProjectOptions
| Nombre | Tipo | Descripción |
| ---------- | ---------- | -------------------------------------------------------------------- |
| `locales?` | `string[]` | Array opcional de configuraciones regionales de destino |
| `timeout?` | `number` | Tiempo de espera opcional en milisegundos para la solicitud a la API |
### Devuelve
`Promise`: contiene el identificador del trabajo de configuración y su estado inicial.
```typescript
type SetupProjectResult = {
jobId: string;
status: 'queued';
}
```
| Propiedad | Tipo | Descripción |
| --------- | ---------- | ------------------------------------------------ |
| `jobId` | `string` | Identificador único del trabajo de configuración |
| `status` | `'queued'` | Estado inicial del trabajo de configuración |
***
## Ejemplos
### Uso básico
Inicializa la configuración del proyecto con los archivos ya cargados:
```typescript title="index.ts" copy
import { GT } from 'generaltranslation';
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key'
});
// Referencias de archivos de la 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);
console.log(`Configuración iniciada con ID de trabajo: ${setupResult.jobId}`);
// Monitorear el estado del trabajo
const jobStatus = await gt.checkJobStatus([setupResult.jobId]);
console.log(`Estado del trabajo: ${jobStatus.jobs[0].status}`);
```
***
## Notas
* Debes cargar los archivos con [`uploadSourceFiles`](/docs/core/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 el flujo de trabajo de traducción
* El trabajo de configuración inicial se ejecuta de forma asíncrona; supervisa el progreso con [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status)
* La configuración inicial suele ser necesaria antes de poner en cola trabajos de traducción en proyectos nuevos
* Las referencias de archivo incluyen `branchId` para un versionado correcto con compatibilidad con ramas
## Siguientes pasos
* Consulta [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files) para cargar archivos antes de la configuración
* Consulta [`checkJobStatus`](/docs/core/class/methods/translation/check-job-status) para supervisar el progreso de la configuración
* Consulta [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files) para iniciar las traducciones después de la configuración