# Vue: msg
URL: https://generaltranslation.com/fr/docs/vue/reference/functions/msg.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Enregistrez des chaînes statiques au niveau du module pour les résoudre ultérieurement. Référence de l’API msg.

`msg` marque les chaînes sources à extraire sans lire l’état du paramètre régional ni les traduire. Résolvez les valeurs enregistrées dans un composant avec [`useMessages()`](/docs/vue/reference/composables/use-messages).

## Vue d’ensemble [#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[];
```

Déclarez les chaînes enregistrées au niveau du module :

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

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

L’appel peut être utilisé sans risque dans les modules client et serveur, car il n’utilise ni plugin ni environnement d’exécution global du navigateur.

## Paramètres [#parameters]

| Paramètre | Description                                                                      | Type                                                             | Facultatif | Par défaut |
| --------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------- | ---------- |
| `message` | Chaîne source statique ou tableau en lecture seule de chaînes sources statiques. | `string \| readonly string[]`                                    | Non        | —          |
| `options` | Contexte encodé avec chaque chaîne source.                                       | [`GTStringOptions`](/docs/vue/reference/types/gt-string-options) | Oui        | Aucun      |

`$context` est la seule option prise en charge. Chaque appel et chaque entrée de tableau doivent être détectables statiquement par la CLI.

## Fonctionnement [#how-it-works]

Sans `options`, `msg` renvoie la chaîne ou le tableau d’origine tel quel. L’extracteur enregistre toujours un appel statique, et [`useMessages()`](/docs/vue/reference/composables/use-messages) peut résoudre la chaîne source renvoyée.

Lorsqu’un objet d’options est fourni, `msg` calcule un simple hachage de `STRING` et y ajoute des métadonnées opaques contenant la source et `$context`. [`useMessages()`](/docs/vue/reference/composables/use-messages) décode ces métadonnées et leur donne priorité sur les options transmises au point de résolution.

Pour un tableau avec des options, chaque entrée est encodée indépendamment et un nouveau `string[]` est renvoyé. `msg` n’effectue aucune recherche dans le catalogue, interpolation ou traitement ICU. Les accolades restent du texte littéral.

## Valeur de retour [#returns]

| Entrée               | Type de retour       | Comportement                                                              |
| -------------------- | -------------------- | ------------------------------------------------------------------------- |
| Chaîne sans options  | Type d’entrée inféré | Renvoie la même chaîne source.                                            |
| Tableau sans options | Type d’entrée inféré | Renvoie le même tableau en lecture seule.                                 |
| Chaîne avec options  | `string`             | Renvoie la chaîne source accompagnée de métadonnées opaques de recherche. |
| Tableau avec options | `string[]`           | Renvoie un nouveau tableau de chaînes encodées.                           |

N’affichez pas directement une valeur encodée. Transmettez-la à la [`MessagesFunction`](/docs/vue/reference/types/messages-function) renvoyée par [`useMessages()`](/docs/vue/reference/composables/use-messages).

## Exemples [#examples]

Résoudre un message enregistré dans un modèle 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>
```

Enregistrez plusieurs messages indépendants simultanément :

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

Aucune interpolation n’est appliquée dans les deux cas. Pour les valeurs d’exécution dans du contenu enrichi, utilisez [`<T>`](/docs/vue/reference/components/t) et [`<Var>`](/docs/vue/reference/components/var).

## Sitemap

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