# vue: Inicio rápido URL: https://generaltranslation.com/es/docs/vue/quickstart.mdx --- title: Inicio rápido description: Añade varios idiomas a una aplicación Vue con General Translation en menos de 10 minutos. related: links: - /docs/vue/guides/translating-content - /docs/vue/guides/translating-strings - /docs/vue/guides/managing-locales - /docs/vue/guides/storing-translations --- Al final de esta guía, tu aplicación de Vue mostrará contenido en varios idiomas y permitirá a los usuarios cambiar la configuración regional activa sin recargar la página. `gt-vue` funciona como un plugin de Vue. El plugin carga cada catálogo de traducciones una vez, lo almacena en caché y vuelve a renderizar de forma reactiva el contenido traducido cuando cambia la configuración regional. **Requisitos previos:** * Una aplicación de Vue 3, versión 3.3 o posterior * Node.js 18+ ## Inicio rápido [#quickstart] ### 1. Instala los paquetes `gt-vue` habilita las traducciones en tu aplicación. [`gt`](/docs/cli/quickstart) extrae el contenido de origen y genera catálogos de traducción. ```bash npm install gt-vue npm install --save-dev gt ``` ```bash yarn add gt-vue yarn add --dev gt ``` ```bash bun add gt-vue bun add --dev gt ``` ```bash pnpm add gt-vue pnpm add --save-dev gt ``` ### 2. Crea un archivo de configuración de traducción Crea `gt.config.json` en la raíz de tu proyecto. Configura el idioma en el que está escrito el contenido fuente, las configuraciones regionales a las que se traducirá y la ruta de salida de los catálogos generados. ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["es", "fr", "ja"], "files": { "gt": { "output": "src/_gt/[locale].json" } } } ``` * `defaultLocale` es el idioma de tu contenido de origen. * `locales` enumera los idiomas de destino. Elige cualquier configuración regional de la [lista de configuraciones regionales compatibles](/docs/platform/dashboard/reference/supported-locales). * `files.gt.output` indica a la CLI dónde guardar cada catálogo. Mantén el marcador de posición `[locale]` en la ruta. ### 3. Crea un cargador de traducciones Crea un cargador que devuelva el catálogo generado para la configuración regional solicitada: ```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; ``` El loader no se invoca para la configuración regional predeterminada porque el contenido de origen ya es su catálogo. Devolver un objeto vacío permite que la aplicación renderice el contenido de origen cuando no hay disponible un catálogo de destino. ### 4. Registra el plugin Crea un plugin con [`createGT()`](/docs/vue/reference/functions/create-gt) e instálalo antes de montar tu aplicación: ```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'); ``` El plugin usa la cookie de configuración regional guardada si existe; de lo contrario, comienza con `defaultLocale`. Se monta de inmediato con el contenido de origen y luego se actualiza de forma reactiva cuando termina de cargarse el catálogo solicitado. ### 5. Marcar contenido para traducir Usa [``](/docs/vue/reference/components/t) para contenido enriquecido en plantillas y [`useGT()`](/docs/vue/reference/composables/use-gt) para cadenas independientes, como los atributos de entrada: ```vue title="src/App.vue" ``` Mantén estático el contenido dentro de [``](/docs/vue/reference/components/t). Usa [componentes de variables y ramificación](/docs/vue/guides/formatting-variables) para valores en tiempo de ejecución y alternativas condicionales. ### 6. Agrega un selector de idioma Obtén la configuración regional actual con [`useLocale()`](/docs/vue/reference/composables/use-locale) y cámbiala con [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale): ```vue title="src/App.vue" ``` [`useSetLocale()`](/docs/vue/reference/composables/use-set-locale) carga un catálogo que falta antes de guardar la cookie de configuración regional y volver a renderizar los consumidores reactivos. Con el loader anterior, si falta un archivo, se devuelve un catálogo vacío, se cambia la configuración regional y se renderiza el contenido de origen. Si, en cambio, un loader genera un rechazo, la configuración regional actual permanece activa. ### 7. Autentícate y traduce Autentícate en General Translation: ```bash npx gt auth ``` El comando te guiará para iniciar sesión y crear credenciales. Guarda la clave de API de producción generada en tu archivo de entorno local, fuera del código del navegador y del control de versiones. A continuación, genera los catálogos de traducción: ```bash npx gt translate ``` La CLI analiza tu código fuente de Vue, traduce el contenido extraído y genera un archivo JSON por cada configuración regional de destino en `src/_gt/`. Vuelve a ejecutar el comando cada vez que cambie el contenido de origen. ## Solución de problemas [#troubleshooting] La configuración regional activa se almacena en la cookie `generaltranslation.locale`. Elimina cualquier cookie obsoleta y vuelve a seleccionar la configuración regional de destino. Confirma también que el archivo JSON correspondiente exista en `src/_gt/` y que el loader devuelva su exportación predeterminada. Llama a la función que devuelve [`useGT()`](/docs/vue/reference/composables/use-gt) desde el template o desde un valor calculado de Vue. Una cadena traducida una vez durante la configuración es una instantánea y no se vuelve a ejecutar cuando cambia el estado reactivo de la configuración regional. ## Next steps - /docs/vue/guides/translating-content - /docs/vue/guides/translating-strings - /docs/vue/guides/managing-locales - /docs/vue/guides/storing-translations