# Vue: Configurazione di gt-vue
URL: https://generaltranslation.com/it/docs/vue/guides/configuring.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Come creare un plugin di traduzione Vue, caricare i cataloghi e configurare il rendering nel browser o sul server.

Crea un plugin per ogni applicazione Vue isolata. Il plugin gestisce la propria impostazione regionale attiva, i cataloghi caricati e lo stato di traduzione reattivo.

Usa [`createGT()`](/docs/vue/reference/functions/create-gt) per le normali applicazioni Vue, incluse quelle che cambiano impostazione regionale senza ricaricare la pagina e quelle che eseguono il rendering sul server. Le SPA eseguite solo nel browser che richiedono [`t()`](/docs/vue/reference/functions/t) a livello di modulo seguono un percorso di avvio diverso, descritto in [Sviluppo con la traduzione per SPA](/docs/vue/guides/developing-spa-translations).

## Crea il plugin [#create]

Passa l&#39;impostazione regionale sorgente e una funzione di callback [`loadTranslations`](/docs/vue/reference/types/load-translations) a [`createGT()`](/docs/vue/reference/functions/create-gt), quindi installa il plugin restituito con `app.use()`:

```ts title="src/main.ts"
import { createApp } from 'vue';
import { createGT } from 'gt-vue';
import App from './App.vue';
import gtConfig from '../gt.config.json';
import loadTranslations from './loadTranslations';

const gt = createGT({
  defaultLocale: gtConfig.defaultLocale,
  loadTranslations,
});

createApp(App).use(gt).mount('#app');
```

Installa quel plugin una sola volta. La creazione di un&#39;altra istanza le assegna una cache separata per impostazione regionale e catalogo.

## Determinare l&#39;impostazione regionale iniziale [#initial-locale]

[`createGT()`](/docs/vue/reference/functions/create-gt) determina l&#39;impostazione regionale iniziale nel seguente ordine:

1. Un&#39;opzione `locale` esplicita.
2. Il valore del cookie dell&#39;impostazione regionale configurata nel browser.
3. `defaultLocale`.

Un&#39;impostazione regionale esplicita ha la precedenza durante il rendering lato server e l&#39;idratazione. Nel browser, sostituisce un cookie obsoleto affinché il client utilizzi la stessa impostazione regionale del server.

```ts
const gt = createGT({
  defaultLocale: 'en',
  locale: serverLocale,
  localeCookieName: 'my-app.locale',
  loadTranslations,
});
```

Il nome predefinito del cookie è `generaltranslation.locale`. Modifica `localeCookieName` solo se il router o il server devono condividere un cookie diverso.

## Caricare i cataloghi di traduzione [#load]

L&#39;impostazione regionale predefinita esegue il rendering direttamente dal contenuto sorgente, quindi il relativo loader non viene mai chiamato. Le altre impostazioni regionali vengono caricate tramite [`loadTranslations`](/docs/vue/reference/types/load-translations):

```ts title="src/loadTranslations.ts"
import type { LoadTranslations } from 'gt-vue';

const loadTranslations: LoadTranslations = async (locale) => {
  try {
    return (await import(`./_gt/${locale}.json`)).default;
  } catch {
    return {};
  }
};

export default loadTranslations;
```

I cataloghi caricati correttamente vengono memorizzati nella cache per l&#39;intera durata del plugin e le richieste simultanee per la stessa impostazione regionale condividono un unico caricamento. Sul client, l&#39;app può essere montata con il contenuto sorgente mentre viene caricato il primo catalogo; i componenti tradotti vengono nuovamente renderizzati quando il catalogo diventa disponibile.

Restituire un oggetto vuoto usa il contenuto sorgente come fallback. Se il callback genera un errore, le modifiche dell&#39;impostazione regionale non vengono applicate e quella attuale rimane attiva.

## Mantieni allineate le configurazioni della CLI e di runtime [#shared-config]

Usa `gt.config.json` come riferimento condiviso per l&#39;impostazione regionale sorgente, le impostazioni regionali di destinazione e il percorso dei file generati:

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "fr"],
  "files": {
    "gt": {
      "output": "src/_gt/[locale].json"
    }
  }
}
```

La CLI legge direttamente questo file. [`createGT()`](/docs/vue/reference/functions/create-gt) accetta le proprie opzioni di runtime, quindi passa esplicitamente `defaultLocale` e il tuo loader. L&#39;elenco `locales` resta utile per il selettore della lingua e per la CLI, ma un plugin reattivo non rifiuta altri codici locale; la UI e il loader determinano quali impostazioni regionali sono disponibili.

Le credenziali API di produzione sono associate al processo CLI che genera le traduzioni. Non esporre `GT_API_KEY` nel codice eseguito nel browser.

## Configura il rendering lato server [#ssr]

Crea una nuova istanza del plugin per ogni richiesta, in modo che lo stato dell&#39;impostazione regionale e del catalogo non venga condiviso tra utenti. Determina l&#39;impostazione regionale della richiesta, passala esplicitamente e precarica il relativo catalogo prima del rendering:

```ts title="src/gt-server.ts"
import { createGT } from 'gt-vue';
import loadTranslations from './loadTranslations';

export async function createRequestGT(locale: string) {
  const gt = createGT({
    defaultLocale: 'en',
    locale,
    loadTranslations,
  });

  await gt.loadTranslations(locale);
  return gt;
}
```

Installa il plugin restituito nell&#39;app Vue della richiesta. Prima dell&#39;idratazione nel browser, crea e precarica un plugin client con la stessa impostazione regionale esplicita. Se esegui l&#39;idratazione prima che il catalogo di destinazione sia pronto, il contenuto sorgente potrebbe essere visualizzato brevemente e causare una mancata corrispondenza.

## Next steps

- /docs/vue/guides/translating-content
- /docs/vue/guides/translating-strings
- /docs/vue/guides/managing-locales
- /docs/vue/guides/storing-translations

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
