# Vue: useMessages
URL: https://generaltranslation.com/es/docs/vue/reference/composables/use-messages.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Resuelve cadenas registradas con msg en la configuración regional activa. Referencia de la API de useMessages.

El composable `useMessages` devuelve un resolvedor síncrono para las cadenas registradas mediante [`msg()`](/docs/vue/reference/functions/msg). También acepta cadenas de origen normales y conserva los valores nulos o indefinidos.

## Descripción general [#overview]

Registra el texto de origen en el ámbito del módulo y luego resuelve cada cadena registrada dentro de un componente:

```ts title="src/messages.ts"
import { msg } from 'gt-vue';

export const savedMessage = msg('Your preferences are saved.', {
  $context: 'Settings confirmation',
});
```

```vue title="SettingsStatus.vue"
<script setup lang="ts">
import { useMessages } from 'gt-vue';
import { savedMessage } from './messages';

const m = useMessages();
</script>

<template>
  <p>{{ m(savedMessage) }}</p>
</template>
```

## Cómo funciona [#how-it-works]

* **Mensajes registrados.** [`msg()`](/docs/vue/reference/functions/msg) registra el texto fuente para su extracción. Cuando recibe opciones, codifica metadatos de fuente y contexto que prevalecen sobre las opciones del sitio de llamada; sin opciones, devuelve la cadena fuente sin cambios.
* **Cadenas sin procesar.** Una cadena ordinaria se busca como si fuera una llamada a [`useGT()`](/docs/vue/reference/composables/use-gt) y puede proporcionar `$context` en el sitio de llamada.
* **Propagación de valores nulos.** `null` devuelve `null` y `undefined` devuelve `undefined`.
* **Contenido alternativo de la fuente.** Si falta una entrada del catálogo o es incompatible, se devuelve la cadena fuente original.
* **Solo cadenas simples.** Las llaves se mantienen literales; no se realiza formateo de ICU ni interpolación.

Llame al resolvedor desde una plantilla, `computed` u otro efecto reactivo cuando deba actualizarse ante un cambio en el catálogo o la configuración regional de [`createGT()`](/docs/vue/reference/functions/create-gt). Un valor resuelto una vez durante la configuración es una instantánea de cadena simple. Una SPA en el navegador inicializada con [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) precarga su catálogo inicial y vuelve a crear las instantáneas tras recargarse por un cambio de configuración regional.

## Parámetros [#parameters]

`useMessages` no acepta parámetros.

## Devuelve [#returns]

**Tipo** `<T extends string | null | undefined>(message: T, options?: GTStringOptions) => T extends string ? string : T`

Un resolvedor síncrono con los siguientes parámetros:

| Parámetro             | Descripción                                                                   | Tipo                                                             | Opcional | Predeterminado |
| --------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------- | -------------- |
| [`message`](#message) | Mensaje registrado, cadena de origen sin codificar o valor nulo o indefinido. | `string \| null \| undefined`                                    | No       | —              |
| [`options`](#options) | Contexto de una cadena de origen sin codificar.                               | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Sí       | `{}`           |

### `message`

**Tipo** `string | null | undefined` · **Obligatorio**

Una cadena devuelta por [`msg()`](/docs/vue/reference/functions/msg), una cadena de origen estática sin procesar, `null` o `undefined`. Si [`msg()`](/docs/vue/reference/functions/msg) registró una lista, resuelve cada elemento por separado.

### `options`

**Tipo** [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) · **Opcional** · **Predeterminado** `{}`

El único campo admitido es `$context?: string`. Se aplica a una cadena de origen sin procesar. El contexto ya codificado mediante [`msg()`](/docs/vue/reference/functions/msg) tiene prioridad.

## Ejemplos [#examples]

Resuelve un mensaje registrado que puede ser nulo sin una comprobación independiente:

```vue title="StatusMessage.vue"
<script setup lang="ts">
import { useMessages } from 'gt-vue';

defineProps<{ encodedMessage: string | null }>();
const m = useMessages();
</script>

<template>
  <p>{{ m(encodedMessage) }}</p>
</template>
```

Resuelve una cadena sin procesar con contexto:

```vue
<p>{{ m('Open', { $context: 'Adjective: an open issue' }) }}</p>
```

## Sitemap

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