# vue: GTPlugin URL: https://generaltranslation.com/fr/docs/vue/reference/types/gt-plugin.mdx --- title: GTPlugin description: Installez l’état de traduction Vue et contrôlez de manière impérative son paramètre régional et le cache de son catalogue. Référence API de GTPlugin. --- [`createGT()`](/docs/vue/reference/functions/create-gt) et [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) renvoient ce plugin Vue. Son état et son comportement sont associés à la fonction qui l’a créé. ## Vue d’ensemble [#overview] ```ts type GTPlugin = { getLocale(): string; install(app: App): void; loadTranslations(locale: string): Promise; setLocale(locale: string): Promise; }; ``` | Méthode | Description | Type de retour | | ------------------------------------------------ | ------------------------------------------------------------------------------------------ | ----------------------------- | | [`getLocale()`](#get-locale) | Renvoie le paramètre régional actuellement géré par le plugin. | `string` | | [`install(app)`](#install) | Fournit l'état du plugin à une application Vue. | `void` | | [`loadTranslations(locale)`](#load-translations) | Précharge et met en cache un paramètre régional sans modifier le paramètre régional actif. | `Promise` | | [`setLocale(locale)`](#set-locale) | Modifie ou conserve le paramètre régional actif selon le mode d'exécution du plugin. | `Promise` | ## `getLocale()` [#get-locale] **Type** `() => string` · **Obligatoire** Pour un plugin [`createGT()`](/docs/vue/reference/functions/create-gt) exécuté dans le navigateur, cette méthode lit le cookie du paramètre régional actuellement configuré et se replie sur le paramètre régional explicite ou par défaut du plugin. Côté serveur, elle renvoie la valeur propre à l’instance. Pour un plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), elle renvoie le paramètre régional épinglé lors de l’initialisation de la page. Les modifications directes du cookie ne modifient pas la SPA montée avant le prochain rechargement et amorçage. ## `install(app)` [#install] **Type** `(app: App) => void` · **Obligatoire** Fournit l’état de la traduction aux composants, aux formateurs et aux composables via l’injection de dépendances de Vue. L’appel à `app.use(plugin)` appelle cette méthode. L’installation lance le chargement du paramètre régional actif. Un plugin [`createGT()`](/docs/vue/reference/functions/create-gt) peut être monté immédiatement avec le contenu source, puis s’afficher de nouveau une fois le chargement terminé avec succès. Un plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) est déjà préchargé lorsqu’il est renvoyé. Installez exactement le plugin SPA renvoyé par l’initialisation. Créer et installer un second plugin dissocie les recherches des composants des recherches [`t()`](/docs/vue/reference/functions/t) au niveau du module. Un composable utilisé sans qu’aucun plugin soit installé génère un diagnostic. ## `loadTranslations()` [#load-translations] **Type** `(locale: string) => Promise<`[`TranslationCatalog`](/docs/vue/reference/types/translation-catalog)`>` · **Obligatoire** Charge et met en cache un catalogue cible sans modifier le paramètre régional actif. Le paramètre régional par défaut renvoie son catalogue vide existant sans appeler le loader configuré. Les résultats sont mis en cache pour ce plugin, et les appels simultanés pour le même paramètre régional résolu partagent une promesse. Dans un plugin SPA, les alias de paramètres régionaux et le repli vers les paramètres régionaux pris en charge sont appliqués avant le chargement. Un rejet du loader est consigné et relancé. L’échec n’est pas mis en cache, donc un appel ultérieur peut réessayer. ## `setLocale()` [#set-locale] **Type** `(locale: string) => Promise` · **Obligatoire** La transition dépend de la manière dont le plugin a été créé : * **Plugin [`createGT()`](/docs/vue/reference/functions/create-gt) :** charge un catalogue non mis en cache, puis met à jour le cookie et les consommateurs réactifs. En cas d’échec du chargement, le paramètre régional et le cookie existants restent inchangés. Si des appels se chevauchent, seule la requête la plus récente est appliquée. * **Plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) :** résout le paramètre régional demandé, écrit le cookie et recharge le document. Il ne charge pas le catalogue cible et ne modifie pas le paramètre régional épinglé sur la page actuelle avant le rechargement. [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) expose ce comportement via le plugin installé. ## Exemple [#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" ```