# Vue: MessagesFunction
URL: https://generaltranslation.com/es/docs/vue/reference/types/messages-function.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Resuelve mensajes registrados, cadenas sin procesar y valores nulos o indefinidos del catálogo activo. Referencia de la API de MessagesFunction.

[`useMessages()`](/docs/vue/reference/composables/use-messages) devuelve esta función de devolución de llamada. Decodifica valores creados con [`msg()`](/docs/vue/reference/functions/msg) y también acepta una cadena de origen normal.

## Resumen [#overview]

```ts
type MessagesFunction = <T extends string | null | undefined>(
  message: T,
  options?: GTStringOptions
) => T extends string ? string : T;
```

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

## Parámetros [#parameters]

### `message`

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

Pasa un valor devuelto por [`msg()`](/docs/vue/reference/functions/msg), una cadena de origen normal o un valor nulo o indefinido. Las cadenas codificadas incluyen su origen original, hash y `$context` opcional.

### `options`

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

Para una cadena sin codificar, `$context` participa en el hash del catálogo. Para un valor codificado, los metadatos almacenados por [`msg()`](/docs/vue/reference/functions/msg) tienen prioridad y se ignoran las opciones proporcionadas en el sitio de llamada.

## Valor devuelto [#returns]

| Entrada     | Tipo de retorno | Comportamiento                                                                         |
| ----------- | --------------- | -------------------------------------------------------------------------------------- |
| `string`    | `string`        | Devuelve la traducción del catálogo o el contenido alternativo de origen decodificado. |
| `null`      | `null`          | Devuelve `null` sin cambios.                                                           |
| `undefined` | `undefined`     | Devuelve `undefined` sin cambios.                                                      |

El genérico condicional preserva los tipos de entrada nulos o indefinidos, lo que permite pasar mensajes opcionales sin necesidad de una comprobación independiente.

## Resolución [#resolution]

Para un mensaje codificado, la función de devolución de llamada decodifica el texto de origen almacenado, `$context` y el hash precalculado antes de realizar la búsqueda. Para una cadena normal, calcula el hash a partir de la cadena y de `$context` en el sitio de llamada.

Ambas rutas requieren un valor de cadena en el catálogo activo. Las entradas inexistentes o que no sean cadenas devuelven el texto de origen. No se realiza formateo de ICU ni interpolación; las llaves se mantienen literales.

Llame a la función de devolución de llamada desde una plantilla de Vue, un valor calculado o un efecto reactivo cuando el resultado deba actualizarse después de que un plugin [`createGT()`](/docs/vue/reference/functions/create-gt) cargue un catálogo o cambie la configuración regional.

## Ejemplo [#example]

```vue title="src/PageTitle.vue"
<script setup lang="ts">
import { msg, useMessages } from 'gt-vue';

const title = msg('Settings', { $context: 'page title' });
const m = useMessages();
</script>

<template>
  <h1>{{ m(title) }}</h1>
</template>
```

## Sitemap

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