# gt-react: General Translation React SDK: Produzione e sviluppo URL: https://generaltranslation.com/it/docs/react/concepts/environments.mdx --- title: Produzione e sviluppo description: Differenze tra gli ambienti di produzione e di sviluppo --- {/* GENERATO AUTOMATICAMENTE: non modificare direttamente. Modifica invece il modello in content/docs-templates/. */} ## Panoramica `gt-react` si comporta in modo diverso a seconda dell'ambiente in cui viene eseguita l'applicazione React. Rileva l'ambiente verificando la variabile d'ambiente `NODE_ENV`. ## Comportamento in produzione ### Variabili d'ambiente In produzione, l'unica variabile d'ambiente accettata è `GT_PROJECT_ID` (o una sua versione con prefisso, ad esempio `NEXT_PUBLIC_GT_PROJECT_ID`). Se viene fornita un'API key come variabile d'ambiente, `gt-react` genererà un errore. Questo serve a evitare che le API key vengano esposte al client. ### Comportamento di caricamento delle traduzioni In produzione, per impostazione predefinita il provider `gt-react` tenterà di caricare le traduzioni dalla CDN di General Translation. Se hai configurato un comportamento personalizzato per il caricamento delle traduzioni, ad esempio traduzioni locali, tramite la funzione `loadTranslations`, `gt-react` userà quello. Il ricaricamento a caldo delle traduzioni è disabilitato perché l'applicazione è in produzione. ## Comportamento in ambiente di sviluppo ### Variabili d'ambiente Poiché lo sviluppo avviene in locale e non è esposto a utenti esterni, `gt-react` accetta qualsiasi variabile d'ambiente di General Translation, anche se è prefissata con `NEXT_PUBLIC_`, `VITE_` (o simili). ### Comportamento di caricamento delle traduzioni In fase di sviluppo, il provider `gt-react` proverà innanzitutto a caricare le traduzioni nello stesso modo della produzione. Queste traduzioni vengono caricate in memoria. Quando viene eseguito il rendering di un componente (che usa `useGT`, `` o `useTranslations`) in una lingua diversa da quella predefinita, il provider `gt-react` farà quanto segue: 1. Se rileva una traduzione valida già memorizzata per il contenuto specificato, ne eseguirà il rendering. 2. Se non trova alcuna traduzione, proverà a tradurre dinamicamente il contenuto tramite l'API di General Translation. 3. Dopo la traduzione, ne eseguirà il rendering e la memorizzerà in memoria per utilizzi futuri. 4. Se la traduzione va in timeout, userà il fallback ed eseguirà il rendering del contenuto originale. La nostra API memorizza inoltre internamente nella cache le traduzioni di sviluppo per un breve periodo di tempo, quindi, se la stessa traduzione viene richiesta di nuovo, verrà restituita dalla cache. Queste traduzioni sono isolate a livello di progetto, quindi non verranno mescolate con le traduzioni di altri progetti. Inoltre, la cache è specifica delle sessioni di sviluppo, quindi le traduzioni memorizzate nella cache non verranno usate in produzione. `gt-react` rileverà le modifiche ai componenti che usano `useGT`, `` o `useTranslations` e tradurrà dinamicamente il contenuto modificato tramite la nostra API. ## API key di produzione e di sviluppo [#api-keys] Per distinguere meglio il comportamento di `gt-react` in produzione e in sviluppo, utilizziamo i concetti di "API key di produzione" e "API key di sviluppo". ### API key di produzione Gli API key di produzione sono API key che iniziano con `gtx-api-`. Quando viene fornito un API key di produzione, `gt-react` si comporta come descritto nella sezione [Comportamento in produzione](#production-behavior). Questo significa che, se stai eseguendo la tua applicazione React in modalità di sviluppo e fornisci un API key di produzione, `gt-react` si comporterà come se fossi in produzione. Il ricaricamento a caldo delle traduzioni sarà disabilitato e i componenti senza traduzioni mostreranno il contenuto originale. A parte questo comportamento, `gt-react` non utilizzerà in alcun modo l’API key di produzione. Il motivo per cui ti chiediamo di creare un API key di produzione separato quando distribuisci in produzione è che lo strumento CLI accede solo agli API key di produzione. Lo strumento CLI applicherà fatturazione e limitazione della frequenza usando la categoria "production". ### API key di sviluppo Le API key di sviluppo sono API key che iniziano con `gtx-dev-`. Quando viene fornita un'API key di sviluppo, `gt-react` si comporterà come descritto nella sezione [comportamento in ambiente di sviluppo](#development-behavior). Quando utilizzi un'API key di sviluppo, la fatturazione e il rate limiting verranno applicati usando la categoria "development". Le traduzioni create con un'API key di sviluppo non verranno archiviate e non saranno disponibili per l'uso in produzione. Lo scopo delle traduzioni di sviluppo è consentirti di testare la tua applicazione prima della distribuzione in produzione.