# vue: GTPlugin URL: https://generaltranslation.com/es/docs/vue/reference/types/gt-plugin.mdx --- title: GTPlugin description: Instala el estado de traducción de Vue y permite controlar de forma imperativa su configuración regional y la caché del catálogo. Referencia de la API de GTPlugin. --- [`createGT()`](/docs/vue/reference/functions/create-gt) e [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) devuelven este plugin de Vue. Su estado y comportamiento pertenecen a la función que lo creó. ## Resumen [#overview] ```ts type GTPlugin = { getLocale(): string; install(app: App): void; loadTranslations(locale: string): Promise; setLocale(locale: string): Promise; }; ``` | Método | Descripción | Tipo de retorno | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------- | ----------------------------- | | [`getLocale()`](#get-locale) | Devuelve la configuración regional que gestiona actualmente el plugin. | `string` | | [`install(app)`](#install) | Proporciona el estado del plugin a una aplicación Vue. | `void` | | [`loadTranslations(locale)`](#load-translations) | Precarga y almacena en caché una configuración regional sin cambiar la configuración regional activa. | `Promise` | | [`setLocale(locale)`](#set-locale) | Cambia o conserva la configuración regional activa según el modo de ejecución del plugin. | `Promise` | ## `getLocale()` [#get-locale] **Tipo** `() => string` · **Obligatorio** Para un plugin [`createGT()`](/docs/vue/reference/functions/create-gt) en el navegador, este método lee la cookie de configuración regional actual y usa como alternativa la configuración regional explícita o predeterminada del plugin. En el servidor, devuelve el valor local de la instancia. Para un plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), devuelve la configuración regional fijada durante la inicialización de la página. Los cambios directos en las cookies no modifican la SPA montada hasta la siguiente recarga e inicialización. ## `install(app)` [#install] **Tipo** `(app: App) => void` · **Obligatorio** Proporciona el estado de traducción a componentes, formateadores y composables mediante la inyección de dependencias de Vue. Al llamar a `app.use(plugin)`, se invoca este método. La instalación comienza a cargar la configuración regional activa. Un plugin de [`createGT()`](/docs/vue/reference/functions/create-gt) puede montarse inmediatamente con el contenido fuente y volver a renderizarse cuando la carga se complete correctamente. Un plugin de [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) ya viene precargado al devolverse. Instala el plugin de SPA exacto que devuelve la inicialización. Crear e instalar un segundo plugin separa las búsquedas de componentes de las búsquedas de [`t()`](/docs/vue/reference/functions/t) a nivel de módulo. Un composable usado sin ningún plugin instalado genera un diagnóstico. ## `loadTranslations()` [#load-translations] **Tipo** `(locale: string) => Promise<`[`TranslationCatalog`](/docs/vue/reference/types/translation-catalog)`>` · **Obligatorio** Carga y almacena en caché un catálogo de destino sin cambiar la configuración regional activa. La configuración regional predeterminada devuelve su catálogo vacío existente sin invocar al loader configurado. Los resultados correctos permanecen en caché para este plugin, y las llamadas simultáneas para la misma configuración regional resuelta comparten una promesa. En un plugin de SPA, los alias de configuración regional y el contenido alternativo para configuraciones regionales compatibles se aplican antes de la carga. Si el loader rechaza la operación, se registra el error y se vuelve a lanzar. El error no se almacena en caché, por lo que una llamada posterior puede volver a intentarlo. ## `setLocale()` [#set-locale] **Tipo** `(locale: string) => Promise` · **Obligatorio** El comportamiento depende de cómo se creó el plugin: * **Plugin [`createGT()`](/docs/vue/reference/functions/create-gt):** carga un catálogo no almacenado en caché y, a continuación, actualiza la cookie y los consumidores reactivos. Si la carga se rechaza, la configuración regional y la cookie actuales no cambian. Si las llamadas se superponen, solo se aplica la solicitud más reciente. * **Plugin [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa):** resuelve la configuración regional solicitada, escribe la cookie y recarga el documento. No carga el catálogo de destino ni cambia la configuración regional fijada en la página actual antes de recargarla. [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) expone este comportamiento a través del plugin instalado. ## Ejemplo [#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" ```