# gt: General Translation CLI tool: Upload URL: https://generaltranslation.com/it/docs/cli/upload.mdx --- title: Upload description: Come fare l'upload di file sorgente e traduzioni sulla piattaforma General Translation --- ## Utilizzo ```bash npx gt upload ``` **Nota:** Questo comando richiede una chiave API di produzione! Puoi ottenerne una sulla [piattaforma](https://generaltranslation.com/dashboard). ## Panoramica Il comando `gt upload` fa l'upload dei file sorgente del progetto e delle eventuali traduzioni esistenti sulla piattaforma General Translation. In questo modo, i file locali vengono sincronizzati con la piattaforma, così da poter essere gestiti, messi in coda per la traduzione e monitorati. Il flusso di lavoro tipico per pipeline CI/CD suddivise è: 1. **`gt upload`** — fa l'upload dei file sorgente sulla piattaforma General Translation 2. [`gt enqueue`](/docs/cli/enqueue) — mette in coda i file caricati per la traduzione 3. [`gt download`](/docs/cli/download) — scarica le traduzioni completate **Solo per l'uso in produzione!** Questo comando è pensato per le build di produzione e **non deve essere usato in ambiente di sviluppo**. Ricorda di specificare la chiave API di produzione (`GT_API_KEY`) e l'ID del progetto (`GT_PROJECT_ID`) nelle variabili d'ambiente. ## Come funziona 1. Legge il tuo `gt.config.json` per determinare quali file fare l'upload 2. Raccoglie tutti i file sorgente traducibili (JSON, YAML, Markdown, MDX, ecc.) 3. Calcola l'hash di ciascun file per generare un `fileId` (in base al percorso) e un `versionId` (in base al contenuto) 4. Interroga l'API di General Translation per determinare quali file sono nuovi o modificati 5. Rileva gli spostamenti dei file (stesso contenuto, percorso diverso) e mantiene le traduzioni esistenti 6. Fa l'upload sulla piattaforma dei file sorgente nuovi e modificati 7. Se trova localmente file di traduzione esistenti, fa l'upload anche di quelli ## Flag Il comando `upload` accetta gli stessi flag di [`translate`](/docs/cli/translate#flags). | Parametro | Descrizione | Tipo | Opzionale | Predefinito | | ---------------------------- | --------------------------------------------------------------------------------- | ---------- | --------- | ------------------ | | `--api-key` | Specifica una chiave API di produzione | `string` | `true` | | | `--project-id` | Specifica l'ID del progetto | `string` | `true` | | | `--version-id` | Specifica un ID di versione (per impostazione predefinita, un hash del contenuto) | `string` | `true` | | | `--config ` | Specifica il percorso del file di configurazione di GT | `string` | `true` | `"gt.config.json"` | | `--new, --locales ` | Le impostazioni regionali in cui tradurre il progetto | `[string]` | `true` | | | `--default-locale ` | L'impostazione regionale di origine del progetto | `string` | `true` | `en` | | `--dry-run` | Esegue il comando in modalità dry run | `flag` | `true` | `false` | | `--timeout` | Timeout della richiesta in secondi | `number` | `true` | `600` | ## Esempio: pipeline di CI suddivisa ```bash # Fase 1: Upload dei file sorgente npx gt upload # Fase 2: Accodamento delle traduzioni npx gt enqueue # Fase 3: Download quando pronto npx gt download ```