# node: msg
URL: https://generaltranslation.com/fr/docs/node/api/strings/msg.mdx
---
title: msg
description: Référence de l’API pour la fonction msg() de chaîne de caractères
---
## Vue d’ensemble
La fonction `msg` sert à marquer et à encoder des chaînes de caractères pour la traduction.
```js
const encodedString = msg('Hello, world!');
```
La chaîne de caractères encodée doit être transmise à la fonction [`getMessages`](/docs/node/api/get-messages) pour récupérer les traductions.
**Encodage :**
`msg` encode la chaîne de caractères d’entrée. Vous ne pouvez donc pas l’utiliser directement dans votre application.
Si vous souhaitez retrouver la chaîne de caractères d’origine, vous devez la décoder avec [`decodeMsg`](#decodemsg).
Remarque : si vous appelez `msg` avec uniquement une chaîne de caractères et aucune option, il renvoie toujours une chaîne encodée — et non la chaîne d’origine.
Utilisez `decodeMsg` pour récupérer le contenu d’origine.
## Décodage [#decodemsg]
Pour retrouver la chaîne de caractères d’origine, vous devez la décoder avec [`decodeMsg`](#decodemsg)
```js
import { msg, decodeMsg } from 'gt-node';
const encodedString = msg('Hello, world!');
const decodedString = decodeMsg(encodedString);
console.log(decodedString); // "Hello, world!"
```
## Référence
### Paramètres
| Name | Type | Description |
| ---------- | ----------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `content` | `string` | La chaîne de caractères à encoder. |
| `options?` | [`InlineTranslationOptions`](/docs/next/api/types/inline-translation-options) | Options de traduction permettant de personnaliser le comportement de `msg`. |
### Renvoie
Une chaîne de caractères encodée, dans laquelle les variables interpolées, le cas échéant, sont remplacées par leurs valeurs.
***
## Comportement
### Production
Pendant le processus de CD, tout contenu placé dans une fonction `msg` est traduit avant le déploiement de votre application.
Cela garantit des temps de chargement rapides pour tous les paramètres régionaux, mais ne permet de traduire que le contenu connu au moment du build.
Une fois générées, les traductions sont soit (1) stockées dans le CDN, soit (2) stockées dans la sortie de build de votre application, selon votre configuration.
À partir de là, le contenu traduit est servi à vos utilisateurs.
Si aucune traduction n'est trouvée, le contenu d'origine est utilisé.
Veillez à suivre le [guide de déploiement ici](/docs/next/tutorials/quickdeploy).
### Développement
Pendant le développement, la fonction `msg` traduit le contenu on-demand.
C’est utile pour prototyper l’apparence de votre application dans différentes langues.
N’oubliez pas d’ajouter une API key de développement à votre environnement pour activer ce comportement.
Vous remarquerez un délai lors de la traduction on-demand en développement.
Cela ne se produira pas dans les builds de production, sauf si le contenu est explicitement traduit on-demand.
***
## Exemple
### Utilisation de base
Vous pouvez utiliser `msg` pour marquer des chaînes de caractères comme traduisibles.
```js copy
import { msg, getMessages } from 'gt-node';
const greeting = msg('Hello, world!');
const m = await getMessages();
const translated = m(greeting);
console.log(translated); // "Hello, world!" (traduit)
```
Remarque : "Hello, world!" sera traduit dans la langue préférée de l'utilisateur.
### Utiliser des variables [#variables]
Vous pouvez passer des variables aux traductions du dictionnaire.
```js copy
import { msg, getMessages } from 'gt-node';
const greeting = msg('Hello, {name}!', { name: 'Alice' });
const m = await getMessages();
const translated = m(greeting);
console.log(translated); // "Hello, Alice!" (traduit)
```
Remarque : "Alice" ne sera pas traduit dans la langue préférée de l'utilisateur, car il s'agit d'une variable.
### Utilisation du format de messages ICU
`gt-node` prend en charge le format de messages ICU, ce qui vous permet également de formater vos variables.
```js copy
import { msg, getMessages } from 'gt-node';
const encodedString = msg('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 });
const m = await getMessages();
const translated = m(encodedString);
console.log(translated);
```
Le format de messages ICU est un moyen puissant de mettre en forme vos variables.
Pour en savoir plus, consultez la [documentation sur le format de messages ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/).
***
## Remarques
* La fonction `msg` sert à marquer les chaînes de caractères à traduire.
* La traduction des chaînes de caractères avec `msg` a lieu avant l’exécution, lors du processus de build (sauf en développement).
## Étapes suivantes
* Voir [`getMessages`](/docs/node/api/get-messages) pour récupérer les chaînes traduites à l’exécution.