# gt: General Translation CLI tool: gt upload URL: https://generaltranslation.com/es/docs/cli/reference/commands/upload.mdx --- title: gt upload description: Sube archivos fuente y traducciones a la plataforma General Translation. Referencia de la API para el comando `gt upload`. --- Sube los archivos fuente de tu proyecto y cualquier traducción existente a la plataforma General Translation, sincronizando los archivos locales para que puedan gestionarse, ponerse en cola y seguirse. Combínalo con [`gt enqueue`](/docs/cli/reference/commands/enqueue) y [`gt download`](/docs/cli/reference/commands/download) para dividir la traducción en distintas etapas de CI. Consulta [Gestionar traducciones](/docs/cli/guides/managing-translations#split). *Nota: Solo para uso en producción. Requiere un `GT_API_KEY` y `GT_PROJECT_ID` de producción.* ```bash npx gt upload ``` ## Cómo funciona [#how-it-works] 1. Lee `gt.config.json` para determinar qué archivos subir. 2. Recopila todos los archivos fuente traducibles. 3. Aplica un hash a cada archivo para generar un `fileId` (a partir de su ruta) y un `versionId` (a partir de su contenido). 4. Consulta la API para determinar qué archivos son nuevos o se modificaron. 5. Detecta movimientos de archivos —mismo contenido, ruta diferente— y conserva las traducciones existentes. 6. Sube los archivos fuente nuevos y modificados, junto con cualquier archivo de traducción local. ## Opciones [#flags] `upload` acepta las mismas opciones que [`gt translate`](/docs/cli/reference/commands/translate#flags). A continuación se muestran las opciones que más se usan con este comando; la referencia enlazada arriba incluye el conjunto completo. | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------------- | ---------------------------------------------------------------------------------------------------- | ---------- | -------- | ---------------- | | `--api-key ` | Clave de API de producción. | `string` | Sí | `GT_API_KEY` | | `--project-id ` | ID del proyecto. | `string` | Sí | `GT_PROJECT_ID` | | `-c, --config ` | Ruta del archivo de configuración. | `string` | Sí | `gt.config.json` | | `--locales ` | Configuraciones regionales de destino adicionales, que se agregan a las locales de la configuración. | `string[]` | Sí | — | | `--default-locale ` | Configuración regional de origen del proyecto. | `string` | Sí | `en` | | `--timeout ` | Tiempo de espera de la solicitud en segundos. | `number` | Sí | `900` | | `--dry-run` | Recopila los archivos y los muestra sin subirlos. | `boolean` | Sí | `false` | ## Ejemplo [#example] ```bash # Etapa 1: subir archivos fuente (este comando) npx gt upload # Etapa 2: encolar traducciones npx gt enqueue # Etapa 3: descargar cuando esté listo npx gt download ``` ## Otras notas [#notes] * `upload` recopila los archivos fuente traducibles de todos los tipos configurados (JSON, YAML, Markdown, MDX, etc.) y cualquier archivo de traducción local. * Como genera un hash de cada archivo según su ruta y su contenido, los archivos movidos (mismo contenido, nueva ruta) conservan sus traducciones existentes en lugar de volver a traducirse.