# vue: Traducción de cadenas URL: https://generaltranslation.com/es/docs/vue/guides/translating-strings.mdx --- title: Traducción de cadenas description: Cómo traducir etiquetas, atributos y cadenas compartidas de Vue con useGT y useMessages. related: links: - /docs/vue/guides/translating-content - /docs/vue/guides/developing-spa-translations - /docs/vue/guides/formatting-variables - /docs/vue/guides/configuring --- Usa [`useGT()`](/docs/vue/reference/composables/use-gt) para cadenas que no pueden expresarse como contenido de plantilla, como marcadores de posición, etiquetas accesibles y valores que se pasan a otro componente. Usa [`msg()`](/docs/vue/reference/functions/msg) con [`useMessages()`](/docs/vue/reference/composables/use-messages) cuando un mensaje estático se declara en un módulo y se renderiza en otro. ## Traduce con `useGT` [#use-gt] Llama a [`useGT()`](/docs/vue/reference/composables/use-gt) durante la configuración del componente y, a continuación, llama a la función que devuelve desde la plantilla: ```vue ``` Usa un literal de cadena para que la CLI pueda extraerlo. Las entradas de catálogo inexistentes devuelven la cadena de origen. La única opción admitida es un `$context` estático: ```vue ``` Las llaves se tratan como texto literal. [`useGT()`](/docs/vue/reference/composables/use-gt) no procesa la sintaxis ICU, no interpola variables ni acepta opciones de string de React como `$id`, `$maxChars` y `$format`. ## Mantén actualizados los resultados traducidos [#reactivity] La función que devuelve [`useGT()`](/docs/vue/reference/composables/use-gt) lee el catálogo activo cuando se invoca. Llámala desde una plantilla, un valor calculado o un efecto reactivo si el resultado debe actualizarse tras un cambio de configuración regional o de catálogo: ```vue ``` `const pageTitle = gt('Account settings')` se traduce una vez durante la configuración y almacena una instantánea. No vuelve a ejecutarse cuando un plugin de [`createGT()`](/docs/vue/reference/functions/create-gt) cambia la configuración regional. ## Registrar mensajes compartidos [#messages] Usa [`msg()`](/docs/vue/reference/functions/msg) para registrar cadenas estáticas en un módulo compartido. Marca el contenido para su extracción; no busca traducciones. ```ts title="src/messages.ts" import { msg } from 'gt-vue'; export const statusMessages = { active: msg('Active', { $context: 'account status' }), paused: msg('Paused', { $context: 'account status' }), }; ``` Resuelve el mensaje seleccionado con [`useMessages()`](/docs/vue/reference/composables/use-messages) en el lugar donde se renderiza: ```vue title="src/components/StatusBadge.vue" ``` Sin opciones, [`msg()`](/docs/vue/reference/functions/msg) devuelve la cadena original sin modificar. Con `$context`, añade metadatos opacos de búsqueda que [`useMessages()`](/docs/vue/reference/composables/use-messages) lee. No analices ni almacenes supuestos sobre esa representación codificada. ## Traduce contenido con valores en Runtime [#variables] Las búsquedas de cadenas simples no interpolan datos en Runtime. Coloca la frase completa en [``](/docs/vue/reference/components/t) y marca el valor variable con [``](/docs/vue/reference/components/var): ```vue ¡Bienvenido de nuevo, {{ accountName }}! ``` Usa [``](/docs/vue/reference/components/num), [``](/docs/vue/reference/components/currency) y [``](/docs/vue/reference/components/datetime) cuando el valor también requiera un formato adaptado a la configuración regional. Las SPA que se ejecutan solo en el navegador y necesitan una búsqueda estática durante la evaluación de los módulos pueden usar [`t()`](/docs/vue/reference/functions/t) después de esperar a que se complete [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa). Sigue la guía [Desarrollo con traducciones para SPA](/docs/vue/guides/developing-spa-translations) para mantener el orden de importación obligatorio. ## Next steps - /docs/vue/guides/translating-content - /docs/vue/guides/developing-spa-translations - /docs/vue/guides/formatting-variables - /docs/vue/guides/configuring