# Vue: GTPlugin
URL: https://generaltranslation.com/it/docs/vue/reference/types/gt-plugin.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Installa lo stato di traduzione di Vue e controlla imperativamente l'impostazione regionale e la cache del catalogo. Riferimento API per GTPlugin.

[`createGT()`](/docs/vue/reference/functions/create-gt) e [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) restituiscono questo plugin Vue. Il suo stato e comportamento appartengono alla funzione che lo ha creato.

## Panoramica [#overview]

```ts
type GTPlugin = {
  getLocale(): string;
  install(app: App): void;
  loadTranslations(locale: string): Promise<TranslationCatalog>;
  setLocale(locale: string): Promise<void>;
};
```

| Metodo                                           | Descrizione                                                                                                | Tipo restituito               |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [`getLocale()`](#get-locale)                     | Restituisce l&#39;impostazione regionale attualmente gestita dal plugin.                                   | `string`                      |
| [`install(app)`](#install)                       | Fornisce lo stato del plugin a un&#39;applicazione Vue.                                                    | `void`                        |
| [`loadTranslations(locale)`](#load-translations) | Precarica e memorizza nella cache un&#39;impostazione regionale senza modificare quella attiva.            | `Promise<TranslationCatalog>` |
| [`setLocale(locale)`](#set-locale)               | Modifica o rende persistente l&#39;impostazione regionale attiva in base alla modalità Runtime del plugin. | `Promise<void>`               |

## `getLocale()` [#get-locale]

**Tipo** `() => string` · **Obbligatorio**

Per un plugin [`createGT()`](/docs/vue/reference/functions/create-gt) eseguito nel browser, questo metodo legge il cookie dell&#39;impostazione regionale corrente e usa come fallback l&#39;impostazione regionale esplicita o predefinita del plugin. Sul server restituisce il valore locale dell&#39;istanza.

Per un plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), restituisce l&#39;impostazione regionale bloccata durante l&#39;inizializzazione della pagina. Le modifiche dirette al cookie non modificano la SPA montata fino al successivo ricaricamento e bootstrap.

## `install(app)` [#install]

**Tipo** `(app: App) => void` · **Obbligatorio**

Fornisce lo stato di traduzione a componenti, formattatori e composabili tramite l&#39;iniezione delle dipendenze di Vue. La chiamata a `app.use(plugin)` richiama questo metodo.

L&#39;installazione avvia il caricamento dell&#39;impostazione regionale attiva. Un plugin [`createGT()`](/docs/vue/reference/functions/create-gt) può essere montato immediatamente con il contenuto sorgente e rieseguire il rendering quando il caricamento ha esito positivo. Un plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) viene restituito già precaricato.

Installa esattamente il plugin SPA restituito dall&#39;inizializzazione. La creazione e l&#39;installazione di un secondo plugin separano le ricerche dei componenti dalle ricerche di [`t()`](/docs/vue/reference/functions/t) a livello di modulo. Un composabile utilizzato senza alcun plugin installato genera un errore diagnostico.

## `loadTranslations()` [#load-translations]

**Tipo** `(locale: string) => Promise<`[`TranslationCatalog`](/docs/vue/reference/types/translation-catalog)`>` · **Obbligatorio**

Carica e memorizza nella cache un catalogo di destinazione senza modificare l&#39;impostazione regionale attiva. L&#39;impostazione regionale predefinita restituisce il catalogo vuoto già esistente senza chiamare il loader configurato.

I risultati ottenuti correttamente rimangono nella cache di questo plugin e le chiamate simultanee per la stessa impostazione regionale risolta condividono una promise. In un plugin SPA, gli alias delle impostazioni regionali e il fallback delle impostazioni regionali supportate vengono applicati prima del caricamento.

Il rifiuto da parte del loader viene registrato e rilanciato. L&#39;errore non viene memorizzato nella cache, quindi una chiamata successiva può riprovare.

## `setLocale()` [#set-locale]

**Tipo** `(locale: string) => Promise<void>` · **Obbligatorio**

La transizione dipende da come è stato creato il plugin:

* **Plugin [`createGT()`](/docs/vue/reference/functions/create-gt):** carica un catalogo non presente nella cache, quindi aggiorna il cookie e i consumer reattivi. Se il caricamento viene rifiutato, l&#39;impostazione regionale e il cookie esistenti restano invariati. Se le chiamate si sovrappongono, viene applicata solo la richiesta più recente.
* **Plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa):** determina l&#39;impostazione regionale richiesta, scrive il cookie e ricarica il documento. Non carica il catalogo di destinazione né modifica l&#39;impostazione regionale bloccata nella pagina corrente prima del ricaricamento.

[`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) espone questo comportamento tramite il plugin installato.

## Esempio [#example]

```ts
import { createApp } from 'vue';
import { createGT } from 'gt-vue';
import App from './App.vue';

const gt = createGT({ defaultLocale: 'en', loadTranslations });

await gt.loadTranslations('fr');
createApp(App).use(gt).mount('#app');

await gt.setLocale('fr');
console.log(gt.getLocale()); // "fr"
```

## Sitemap

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