# General Translation Knowledge Base: Come mantengo le traduzioni aggiornate a ogni distribuzione?
URL: https://generaltranslation.com/it/kb/translations-in-ci.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Esegui la traduzione come passaggio della pipeline prima di ogni build di produzione, così i nuovi testi vengono rilasciati già tradotti insieme alla distribuzione che li introduce. La CLI gt di General Translation lo fa con npx gt translate, usando una chiave API e un ID progetto archiviati come segreti CI.
Category: Strumenti per il flusso di lavoro
Last updated: 2026-10-21
Authors: Kevin Liu, Kevin Wu
Published: 2026-10-21

Mantenere le traduzioni aggiornate a ogni distribuzione si chiama localizzazione continua: la traduzione viene eseguita come passaggio della pipeline prima della build di ogni rilascio, così ogni modifica arriva in tutte le lingue con la stessa distribuzione che la introduce. La difficoltà sta nel fatto che il passaggio viene eseguito in CI (integrazione continua): serve una credenziale che funzioni senza che nessuno debba effettuare l&#39;accesso, conviene tradurre solo ciò che è cambiato per contenere i tempi di build e il passaggio deve concludersi prima del comando di build, altrimenti i nuovi testi vengono rilasciati senza traduzione.

## Video

The video is narrated in English, with English captions.

[How do I keep translations up to date on every deploy?](https://caxecubb9c64cezv.public.blob.vercel-storage.com/films/kb-translations-in-ci.mp4) (48 s)

General Translation keeps translations current when your CI runs `npx gt translate` before the build. Create an API key for CI with the file read, file write, context write and translation queue permissions, store it and your project ID as `GT_API_KEY` and `GT_PROJECT_ID` in your CI provider's secrets, put `npx gt translate` before the build command in your build script, and run that build on every push to main. Each build then translates new and changed text and ships current translations.

## Come mantenere aggiornate le traduzioni

| Approccio                                                                                                                                                                                          | Punti di forza                                                                                                                                                                                                                                     | Quando avviene la traduzione                                                           | Cosa resta a tuo carico                                                                                                                                                                                                                                                                                   |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Una libreria di internazionalizzazione (i18n) da sola (`i18next`, `react-intl`, `next-intl`)                                                                                                       | Runtime maturi per renderizzare le traduzioni e formattare i valori                                                                                                                                                                                | Ogni volta che qualcuno aggiorna i file, spesso in batch tra un rilascio e l&#39;altro | Estrarre le nuove stringhe nei file di chiavi, aggiungere ogni traduzione in un file per lingua e far tradurre tutti i file prima del rilascio                                                                                                                                                            |
| La sincronizzazione con un [sistema di gestione delle traduzioni](/kb/general-translation-vs-tms) ([Crowdin](/kb/general-translation-vs-crowdin), [Lokalise](/kb/general-translation-vs-lokalise)) | Una CLI o un&#39;integrazione GitHub carica le nuove stringhe sorgente e scarica le traduzioni completate                                                                                                                                          | Quando i traduttori finiscono, spesso dopo la distribuzione che ha introdotto i testi         | File di chiavi per ogni stringa, la configurazione della sincronizzazione e la scelta tra bloccare il rilascio o pubblicare testi non tradotti finché non arrivano le traduzioni                                                                                                                          |
| Uno script personalizzato basato su un&#39;API di traduzione automatica o di IA (DeepL, OpenAI API, Claude API)                                                                                    | Traduce all&#39;interno della pipeline, qualunque sia il volume inviato                                                                                                                                                                            | In un passaggio di CI che scrivi e mantieni tu                                         | Individuare le stringhe nuove e modificate, fornire contesto e terminologia coerente per ogni richiesta, salvare i risultati nei file e revisionarli                                                                                                                                                      |
| General Translation (la CLI `gt`)                                                                                                                                                                  | [`npx gt translate`](/docs/cli/reference/commands/translate) analizza i componenti [`<T>`](/docs/react/reference/components/t), le chiamate a `useGT` e i file indicati in `gt.config.json`, e traduce solo i contenuti la cui sorgente è cambiata | In CI, prima del comando di build                                                      | Racchiudere i nuovi testi della UI in [`<T>`](/docs/react/reference/components/t) o passarli alla funzione `gt` restituita da `useGT`, salvare una chiave API del progetto e l&#39;ID progetto come segreti della CI e revisionare le traduzioni nella Dashboard quando vuoi che le controlli una persona |

Usa una libreria i18n da sola quando i file di lingua sono gestiti dai traduttori e ogni rilascio può aspettarli; scegli invece la sincronizzazione con un sistema di gestione delle traduzioni quando i traduttori devono approvare ogni stringa prima della pubblicazione. Usa uno script personalizzato per una traduzione una tantum di testi che non cambieranno. Aggiungi un passaggio di traduzione in CI quando la maggior parte dei rilasci modifica i testi. Se i testi cambiano solo di tanto in tanto, basta una configurazione più semplice: esegui [`npx gt translate`](/docs/cli/reference/commands/translate) in locale dopo [`gt login`](/docs/cli/reference/commands/login), con `projectId` impostato in `gt.config.json`, ed esegui il commit dei file generati.

## Aggiungere un passaggio di traduzione alla CI

La CLI `gt` di General Translation esegue questo passaggio con [`npx gt translate`](/docs/cli/reference/commands/translate). Poiché [`gt login`](/docs/cli/reference/commands/login) richiede l&#39;approvazione manuale di una persona, in CI si usa invece una chiave di progetto:

1. Crea una chiave in **Project &gt; API Keys** con autorizzazioni **Custom**: imposta **Files** su **Write**, **Translation queue** su **Enabled** e, se la pipeline genera contesto, **Context** su **Write**.
2. Salva la chiave come `GT_API_KEY` e l&#39;ID progetto come `GT_PROJECT_ID` nelle impostazioni dei segreti del tuo provider CI.
3. Esegui la traduzione prima della build:

   ```json title="package.json"
   {
     "scripts": {
       "translate": "npx gt translate",
       "build": "npm run translate && <your build command>"
     }
   }
   ```

## Cosa fa ogni esecuzione

Con General Translation, ogni esecuzione traduce solo i contenuti la cui sorgente è cambiata e applica i gruppi di contesto (Glossario e prompt personalizzati) assegnati al progetto, così che i termini restino coerenti da un rilascio all&#39;altro. I risultati vengono poi salvati nella tua base di codice per essere inclusi nella build (oppure pubblicati sulla CDN di General Translation con `--publish`, affinché l&#39;app li carichi a runtime). Tutti i passaggi sono descritti nella guida [Generazione delle traduzioni](/docs/cli/guides/generating-translations).

## Related questions

- [Come si internazionalizza un'app con Cursor o Claude Code?](https://generaltranslation.com/it/kb/ai-agent-i18n-setup.mdx): Inizia con il prompt Setup for Agents di General Translation in Cursor o Claude Code, scegli una funzionalità e le lingue di destinazione, poi lascia che sia l'agente a implementare e verificare il risultato. L'accesso tramite browser, la documentazione leggibile dalle macchine e gli strumenti MCP collegano la configurazione alla traduzione e alla revisione. Usa Locadex per automatizzare la localizzazione continua tramite pull request.
- [Come si revisionano e modificano le traduzioni?](https://generaltranslation.com/it/kb/review-translations.mdx): Confronta ogni traduzione con il testo sorgente e con le altre impostazioni regionali, e correggi ciò che non suona bene. Con General Translation modifichi le traduzioni nella pagina Traduzioni della dashboard e tieni traccia della revisione con etichette e commenti; alla successiva esecuzione della traduzione, Locadex, il suo Agente IA, riporta le modifiche in una pull request.
- [Cosa fa l'agente Locadex?](https://generaltranslation.com/it/kb/what-is-locadex.mdx): Locadex è l'agente IA di General Translation che internazionalizza il codice e traduce i contenuti nel tuo repository GitHub. Le sue automazioni vengono eseguite all'apertura di una pull request, al push di un commit o quando le avvii tu, e ogni modifica arriva sotto forma di pull request.
- [Posso fare i18n senza file di traduzione?](https://generaltranslation.com/it/kb/i18n-without-translation-files.mdx): Sì. Le librerie gt-react e gt-next di General Translation gestiscono l'i18n in React e Next.js senza chiavi di traduzione e senza dover mantenere un file JSON per ogni lingua. I testi restano inline nel JSX all'interno del componente `<T>` e il comando gt translate genera le traduzioni per ogni lingua durante la build, sfruttando il contesto del tuo codice. Locadex può mantenerle aggiornate tramite pull request.

## Previous and next questions

- Previous question: [Qual è la migliore libreria i18n per un'app React?](https://generaltranslation.com/it/kb/best-react-i18n-library.mdx)
- Next question: [Come si aggiunge l'i18n a un'app Next.js con App Router?](https://generaltranslation.com/it/kb/add-i18n-to-nextjs.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/it/kb/sitemap.md) for every article.
