# vue: Gestione delle impostazioni regionali URL: https://generaltranslation.com/it/docs/vue/guides/managing-locales.mdx --- title: Gestione delle impostazioni regionali description: Come dichiarare le impostazioni regionali in Vue, creare un selettore della lingua e gestire modifiche reattive o basate sul ricaricamento. related: links: - /docs/vue/guides/configuring - /docs/vue/guides/storing-translations - /docs/vue/guides/developing-spa-translations - /docs/vue/guides/translating-content --- I codici locale come `en-US` e `fr` collegano la scelta della lingua dell'utente al catalogo e alle regole di formattazione appropriate. Configura le impostazioni regionali sorgente e di destinazione, quindi usa i composable per le impostazioni regionali nei tuoi componenti Vue. ## Dichiarare le impostazioni regionali disponibili [#declare] Imposta l'impostazione regionale di sorgente e quelle di destinazione in `gt.config.json`: ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["es", "fr", "de"] } ``` `defaultLocale` è la lingua dei contenuti sorgente. `locales` elenca le lingue che la CLI deve generare. Passa `defaultLocale` a [`createGT()`](/docs/vue/reference/functions/create-gt). Conserva l'elenco delle lingue di destinazione per il selettore della lingua: ```ts const gt = createGT({ defaultLocale: gtConfig.defaultLocale, loadTranslations, }); const availableLocales = [gtConfig.defaultLocale, ...gtConfig.locales]; ``` Un plugin creato con [`createGT()`](/docs/vue/reference/functions/create-gt) non limita i codici locale a questo elenco. Nell'interfaccia, offri solo valori supportati e fai in modo che il loader restituisca un catalogo vuoto o rifiuti intenzionalmente le richieste non supportate. ## Leggere l'impostazione regionale attiva [#read] [`useLocale()`](/docs/vue/reference/composables/use-locale) restituisce un ref Vue di sola lettura. Nei template viene dereferenziato automaticamente: ```vue ``` Leggi `locale.value` nelle normali espressioni di script. I componenti, i valori calcolati e gli effetti di rendering che leggono il ref si aggiornano al termine del cambio reattivo dell'impostazione regionale. ## Crea un selettore della lingua [#switcher] [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) restituisce un setter async. Attendi il suo completamento affinché l'interfaccia possa indicare un caricamento in corso o gestire un errore: ```vue title="src/components/LocaleSwitcher.vue" ``` Con un plugin [`createGT()`](/docs/vue/reference/functions/create-gt), il setter carica un catalogo non memorizzato nella cache prima di modificare l'impostazione regionale. I risultati ottenuti correttamente vengono memorizzati nella cache. Se le richieste si sovrappongono, solo l'ultima modifica l'impostazione regionale attiva. Un catalogo vuoto corrisponde a un caricamento riuscito: l'impostazione regionale cambia e il contenuto sorgente viene renderizzato come fallback. Se il loader restituisce un errore, l'impostazione regionale attiva e il relativo cookie rimangono invariati. ## Mantieni l'impostazione regionale [#persistence] Nel browser, l'impostazione regionale attiva viene memorizzata in un cookie di sessione valido per l'intero percorso denominato `generaltranslation.locale`. Quando `locale` viene omesso da [`createGT()`](/docs/vue/reference/functions/create-gt), questo cookie ha la precedenza su `defaultLocale`. Imposta `localeCookieName` quando l'app deve condividere un altro cookie con un router o un server: ```ts createGT({ defaultLocale: 'en', localeCookieName: 'my-app.locale', loadTranslations, }); ``` Usa [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) anziché scrivere direttamente il cookie. I browser non generano un evento reattivo quando i cookie cambiano, quindi una scrittura esterna non attiva automaticamente il rendering di Vue. ## Scegli il cambio reattivo o con ricaricamento [#runtime-mode] La modalità di inizializzazione determina cosa accade dopo la modifica del cookie: * [`createGT()`](/docs/vue/reference/functions/create-gt) carica il catalogo e aggiorna i consumer reattivi senza ricaricare la pagina. * [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) scrive il cookie e ricarica il documento, in modo che le chiamate a [`t()`](/docs/vue/reference/functions/t) a livello di modulo vengano eseguite nuovamente dopo il precaricamento della nuova impostazione regionale. L'inizializzatore SPA accetta `locales` e ricorre a `defaultLocale` quando un'impostazione regionale salvata o richiesta non è supportata. Segui [Sviluppare con le traduzioni per SPA](/docs/vue/guides/developing-spa-translations) quando la traduzione a livello di modulo richiede questo comportamento. Per il rendering lato server, determina l'impostazione regionale della richiesta sul server e passala esplicitamente a [`createGT()`](/docs/vue/reference/functions/create-gt). Il valore esplicito prevale su un cookie del browser obsoleto e mantiene allineate l'impostazione regionale del rendering lato server e quella dell'idratazione. ## Next steps - /docs/vue/guides/configuring - /docs/vue/guides/storing-translations - /docs/vue/guides/developing-spa-translations - /docs/vue/guides/translating-content