# General Translation React SDKs (gt-react, gt-next): msg URL: https://generaltranslation.com/fr/docs/react/reference/functions/msg.mdx --- title: msg description: Enregistre et encode une chaîne pour la traduction au niveau du module avec General Translation gt-react. Référence de l'API pour msg. --- La fonction `msg` marque et encode une chaîne pour la traduction. Utilisez-la pour enregistrer des chaînes au niveau du module — en dehors d'un composant — puis la résoudre à l'exécution avec [`useMessages`](/docs/react/reference/hooks/use-messages). *Disponible dans `gt-react`, `gt-next`, `gt-tanstack-start` et `gt-react-native`. Les exemples importent depuis `gt-react` ; importez plutôt depuis le package de votre framework.* ## Vue d’ensemble [#overview] Appelez `msg` avec une chaîne pour obtenir une chaîne encodée. Passez cette valeur encodée à [`useMessages`](/docs/react/reference/hooks/use-messages) pour récupérer la traduction. ```tsx const encodedString = msg('Hello, world!'); ``` *Remarque : `msg` encode son entrée, vous ne pouvez donc pas l’afficher directement. Pour retrouver la chaîne d’origine, décodez-la avec [`decodeMsg`](/docs/node/reference/functions/decode-msg).* ## Fonctionnement [#how-it-works] * **Enregistrement pour l’extraction.** `msg` marque la chaîne afin que le CLI puisse l’extraire pour la traduction et que [`useMessages`](/docs/react/reference/hooks/use-messages) puisse la résoudre à l’exécution. Sans options, elle renvoie la chaîne inchangée ; avec des options, elle renvoie une chaîne encodée qui porte ces options. * **Traduction au build-time.** En production, les chaînes enregistrées sont traduites pendant le build. Les traductions manquantes utilisent le texte d’origine. En développement, la traduction se fait à la demande avec un léger délai. * **Décodage.** `decodeMsg` extrait la chaîne interpolée d’origine d’un message encodé. [`decodeOptions`](/docs/node/reference/functions/decode-options) extrait les options. * **Tableaux.** `msg` accepte aussi un tableau de chaînes ; lorsqu’un `$id` est fourni, chaque entrée reçoit un id unique de `${id}.${index}`. ```tsx import { msg, decodeMsg } from 'gt-react'; const encoded = msg('Hello, world!'); const decoded = decodeMsg(encoded); console.log(decoded); // "Hello, world!" ``` ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ---------- | ---------- | | [`message`](#message) | La chaîne de caractères (ou le tableau de chaînes) à enregistrer. | `string \| string[]` | Non | — | | [`options`](#options) | Variables d’interpolation et options telles que `$context` et `$id`. | [`InlineTranslationOptions`](/docs/react/reference/types/inline-translation-options) | Oui | — | ### `message` [#message] **Type** `string | string[]` · **Obligatoire** Le texte à enregistrer et à encoder. Un tableau permet d’enregistrer plusieurs chaînes à la fois. ### `options` [#options] **Type** [`InlineTranslationOptions`](/docs/react/reference/types/inline-translation-options) · **Facultatif** Variables d’interpolation ainsi que des options telles que `$context`, `$id` et `$maxChars`. Les variables sont insérées dans la chaîne lors de sa résolution. ## Renvoie [#returns] **Type** `string` Une chaîne encodée dans laquelle les variables interpolées ont été appliquées. Si l’entrée est un tableau, un tableau de chaînes encodées est renvoyé. Utilisez [`useMessages`](/docs/react/reference/hooks/use-messages) pour résoudre le résultat. ## Exemples [#examples] ```tsx import { msg, useMessages } from 'gt-react'; const encodedString = msg('Hello, world!'); export default function TranslateGreeting() { const m = useMessages(); return
{m(encodedString)}
; } ``` ```tsx import { msg, useMessages } from 'gt-react'; const encodedString = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return{m(encodedString)}
; } // "Alice" est une variable et n'est pas traduit. ``` ```tsx import { msg } from 'gt-react'; // Lever l'ambiguïté avec $context const LABEL = msg('Bank', { $context: 'a bank of a river' }); ``` `gt-react` prend en charge [ICU message format](https://unicode-org.github.io/icu/userguide/format_parse/messages/) pour mettre en forme des variables dans des chaînes enregistrées. ## Notes [#notes] * `msg` marque les chaînes à traduire ; la traduction s’effectue au build (ou à la demande en développement). * Résolvez les chaînes encodées avec [`useMessages`](/docs/react/reference/hooks/use-messages).