# gt-next: General Translation Next.js SDK: Produzione vs sviluppo URL: https://generaltranslation.com/it/docs/next/concepts/environments.mdx --- title: Produzione vs sviluppo description: Differenze tra gli ambienti di produzione e di sviluppo --- ## Panoramica `gt-next` si comporta in modo diverso a seconda dell'ambiente in cui viene eseguita la tua applicazione Next.js. Rileva l'ambiente verificando la variabile d'ambiente `NODE_ENV`. ## Comportamento in produzione ### Variabili d'ambiente In produzione, `gt-next` legge solo le variabili d'ambiente `GT_PROJECT_ID` e `GT_API_KEY`. La chiave API deve essere una chiave API di produzione, con prefisso `gtx-api-`. Se usi una chiave API di sviluppo, `gt-next` genera un errore. ### Comportamento di caricamento delle traduzioni In produzione, per impostazione predefinita `gt-next` 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-next` userà quello. Il ricaricamento a caldo delle traduzioni è disabilitato perché l'ambiente è di produzione. La traduzione on demand dei contenuti dinamici tramite il componente `` o la funzione `tx` è abilitata, ma solo nei componenti server. ## Comportamento in fase di sviluppo ### Variabili d'ambiente `gt-next` accetta le variabili d'ambiente `GT_PROJECT_ID` e `GT_API_KEY`. La chiave API può essere una chiave API di produzione, che inizia con `gtx-api-`, oppure una chiave API di sviluppo, che inizia con `gtx-dev-`. Se in fase di sviluppo viene fornita una chiave API di produzione, `gt-next` si comporterà come se fosse in produzione. Ciò significa che il ricaricamento a caldo delle traduzioni sarà disabilitato e i componenti senza traduzioni visualizzeranno il contenuto originale. ### Comportamento di caricamento delle traduzioni In fase di sviluppo, `gt-next` proverà innanzitutto a caricare le traduzioni nello stesso modo in cui avviene in produzione. Queste traduzioni vengono caricate in memoria. Quando esegue il rendering di un componente (che usa `useGT`, `` o `useTranslations`) in una lingua diversa da quella predefinita, `gt-next` farà quanto segue: 1. Se rileva una traduzione valida già memorizzata per il contenuto specificato, eseguirà il rendering della traduzione. 2. Se non trova alcuna traduzione, proverà a tradurre dinamicamente il contenuto tramite l'API di General Translation. 3. Una volta tradotto, eseguirà il rendering della traduzione e la memorizzerà in memoria per utilizzi futuri. 4. Se la traduzione supera il tempo limite, 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 confuse con le traduzioni di altri progetti. Inoltre, la cache è specifica per le sessioni di sviluppo, quindi le traduzioni memorizzate nella cache non verranno usate in produzione. `gt-next` rileverà le modifiche ai componenti che usano `useGT`, `` o `useTranslations` e tradurrà dinamicamente il contenuto modificato tramite la nostra API. ## Chiavi API di produzione e di sviluppo [#api-keys] Per distinguere meglio il comportamento di `gt-next` in produzione e in sviluppo, utilizziamo il concetto di "chiavi API di produzione" e "chiavi API di sviluppo". ### Chiavi API di produzione Le chiavi API di produzione sono chiavi API che iniziano con `gtx-api-`. Quando viene fornita una chiave API di produzione, `gt-next` si comporta come descritto nella sezione [Comportamento in produzione](#production-behavior). Ciò significa che, se esegui la tua applicazione Next.js in modalità sviluppo e fornisci una chiave API di produzione, `gt-next` si comporterà come se fosse in produzione. Il ricaricamento a caldo delle traduzioni verrà disabilitato e i componenti senza traduzioni visualizzeranno il contenuto originale. A parte questo comportamento, `gt-next` non utilizzerà la chiave API di produzione in nessun altro modo. Lo strumento CLI legge la variabile d'ambiente `GT_API_KEY` e accetta solo chiavi API di produzione. Lo strumento CLI applicherà la fatturazione e il rate limiting usando la categoria "production". ### Chiavi API di sviluppo Le chiavi API di sviluppo sono chiavi API che iniziano con `gtx-dev-`. Quando viene fornita una chiave API di sviluppo, `gt-next` si comporta come descritto nella sezione [Comportamento in fase di sviluppo](#development-behavior). Quando utilizzi una chiave API di sviluppo, la fatturazione e il rate limiting verranno applicati usando la categoria "development". Le traduzioni create con una chiave API di sviluppo non verranno memorizzate e non saranno disponibili per l'uso in produzione. Lo scopo delle traduzioni di sviluppo è consentirti di testare la tua applicazione prima del rilascio in produzione.