# Vue: msg
URL: https://generaltranslation.com/es/docs/vue/reference/functions/msg.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Registra cadenas estáticas en el ámbito del módulo para resolverlas posteriormente. Referencia de la API de msg.

`msg` marca las cadenas de origen para su extracción sin leer el estado de la configuración regional ni traducirlas. Resuelve los valores registrados dentro de un componente con [`useMessages()`](/docs/vue/reference/composables/use-messages).

## Resumen [#overview]

```ts
function msg<T extends string | readonly string[]>(message: T): T;
function msg<T extends string | readonly string[]>(
  message: T,
  options?: GTStringOptions
): T extends string ? string : string[];
```

Declara las cadenas registradas en el ámbito del módulo:

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

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

La llamada es segura en los módulos de cliente y servidor porque no utiliza un plugin ni un entorno de ejecución global del navegador.

## Parámetros [#parameters]

| Parámetro | Descripción                                                                       | Tipo                                                             | Opcional | Predeterminado |
| --------- | --------------------------------------------------------------------------------- | ---------------------------------------------------------------- | -------- | -------------- |
| `message` | Cadena de origen estática o lista de solo lectura de cadenas de origen estáticas. | `string \| readonly string[]`                                    | No       | —              |
| `options` | Contexto codificado con cada cadena de origen.                                    | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Sí       | Ninguno        |

`$context` es la única opción admitida. Todas las llamadas y entradas de la lista deben poder detectarse estáticamente mediante la CLI.

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

Sin `options`, `msg` devuelve la cadena o lista original sin modificar. El extractor sigue registrando una llamada estática y [`useMessages()`](/docs/vue/reference/composables/use-messages) puede resolver la cadena de origen devuelta.

Cuando se proporciona un objeto de opciones, `msg` calcula un hash `STRING` simple y añade metadatos opacos que contienen la fuente y `$context`. [`useMessages()`](/docs/vue/reference/composables/use-messages) decodifica estos metadatos y les da prioridad sobre las opciones proporcionadas en el punto de resolución.

En una lista con opciones, cada entrada se codifica de forma independiente y se devuelve un nuevo `string[]`. `msg` no realiza búsquedas en el catálogo, interpolación ni procesamiento de ICU. Las llaves permanecen como texto literal.

## Valor devuelto [#returns]

| Entrada             | Tipo de retorno          | Comportamiento                                                       |
| ------------------- | ------------------------ | -------------------------------------------------------------------- |
| Cadena sin opciones | Tipo de entrada inferido | Devuelve la misma cadena de origen.                                  |
| Lista sin opciones  | Tipo de entrada inferido | Devuelve la misma lista de solo lectura.                             |
| Cadena con opciones | `string`                 | Devuelve la cadena de origen junto con metadatos de búsqueda opacos. |
| Lista con opciones  | `string[]`               | Devuelve una nueva lista de cadenas codificadas.                      |

No renderice directamente un valor codificado. Páselo a la [`MessagesFunction`](/docs/vue/reference/types/messages-function) devuelta por [`useMessages()`](/docs/vue/reference/composables/use-messages).

## Ejemplos [#examples]

Resuelve un mensaje registrado en una plantilla de Vue:

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

const saved = msg('Your preferences are saved.', {
  $context: 'status message',
});
const m = useMessages();
</script>

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

Registra varios mensajes independientes a la vez:

```ts
const labels = msg(['Save', 'Cancel', 'Delete'] as const);
```

No se aplica interpolación en ninguno de los dos casos. Para valores en tiempo de ejecución dentro de contenido enriquecido, usa [`<T>`](/docs/vue/reference/components/t) y [`<Var>`](/docs/vue/reference/components/var).

## Sitemap

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