# gt: General Translation CLI tool: gt upload URL: https://generaltranslation.com/it/docs/cli/reference/commands/upload.mdx --- title: gt upload description: Carica i file sorgente e le traduzioni nella piattaforma General Translation. Riferimento API per il comando gt upload. --- Carica i file sorgente del tuo progetto e tutte le traduzioni esistenti nella piattaforma General Translation, sincronizzando i file locali in modo che possano essere gestiti, messi in coda e tracciati. Abbinalo a [`gt enqueue`](/docs/cli/reference/commands/enqueue) e [`gt download`](/docs/cli/reference/commands/download) per suddividere la traduzione tra le fasi della CI. Vedi [Gestire le traduzioni](/docs/cli/guides/managing-translations#split). *Nota: da usare solo in produzione. Richiede `GT_API_KEY` e `GT_PROJECT_ID` di produzione.* ```bash npx gt upload ``` ## Come funziona [#how-it-works] 1. Legge `gt.config.json` per stabilire quali file caricare. 2. Raccoglie tutti i file sorgente traducibili. 3. Calcola l'hash di ciascun file per generare un `fileId` (dal relativo percorso) e un `versionId` (dal relativo contenuto). 4. Interroga l'API per determinare quali file sono nuovi o modificati. 5. Rileva gli spostamenti dei file — stesso contenuto, percorso diverso — e preserva le traduzioni esistenti. 6. Carica i file sorgente nuovi e modificati, insieme a eventuali file di traduzione locali. ## Flag [#flags] `upload` accetta gli stessi flag di [`gt translate`](/docs/cli/reference/commands/translate#flags). Di seguito sono riportati quelli usati più comunemente; il riferimento linkato sopra elenca l'insieme completo. | Parametro | Descrizione | Tipo | Facoltativo | Predefinito | | --------------------------- | ---------------------------------------------------------------------------------------------------- | ---------- | ----------- | ---------------- | | `--api-key ` | Chiave API di produzione. | `string` | Sì | `GT_API_KEY` | | `--project-id ` | ID progetto. | `string` | Sì | `GT_PROJECT_ID` | | `-c, --config ` | Percorso del file di configurazione. | `string` | Sì | `gt.config.json` | | `--locales ` | Impostazioni regionali di destinazione aggiuntive, aggiunte alle locales del file di configurazione. | `string[]` | Sì | — | | `--default-locale ` | Impostazione regionale sorgente del progetto. | `string` | Sì | `en` | | `--timeout ` | Timeout della richiesta, in secondi. | `number` | Sì | `900` | | `--dry-run` | Raccoglie i file e li elenca senza caricarli. | `boolean` | Sì | `false` | ## Esempio [#example] ```bash # Fase 1: carica i file sorgente (questo comando) npx gt upload # Fase 2: accoda le traduzioni npx gt enqueue # Fase 3: scarica quando pronto npx gt download ``` ## Altre note [#notes] * `upload` raccoglie i file sorgente traducibili di ogni tipo configurato (JSON, YAML, Markdown, MDX e altri) e tutti gli eventuali file di traduzione locale. * Poiché calcola l'hash di ogni file in base al percorso e al contenuto, i file spostati (stesso contenuto, nuovo percorso) mantengono le traduzioni esistenti invece di essere tradotti nuovamente.