# node: msg URL: https://generaltranslation.com/it/docs/node/api/strings/msg.mdx --- title: msg description: Riferimento API per la funzione msg() per le stringhe --- ## Panoramica La funzione `msg` serve a contrassegnare e codificare le stringhe per la traduzione. ```js const encodedString = msg('Hello, world!'); ``` La stringa codificata va passata alla funzione [`getMessages`](/docs/node/api/get-messages) per recuperare le traduzioni. **Codifica:** `msg` codifica la stringa di input, quindi non puoi usarla direttamente nella tua applicazione. Se vuoi riottenere la stringa originale, devi decodificarla con [`decodeMsg`](#decodemsg). Nota: se chiami `msg` solo con una stringa e senza opzioni, restituisce comunque una stringa codificata, non quella originale. Usa `decodeMsg` per recuperare il contenuto originale. ## Decodifica [#decodemsg] Per ottenere nuovamente la stringa originale, devi decodificarla con [`decodeMsg`](#decodemsg) ```js import { msg, decodeMsg } from 'gt-node'; const encodedString = msg('Hello, world!'); const decodedString = decodeMsg(encodedString); console.log(decodedString); // "Hello, world!" ``` ## Riferimento ### Parametri | Name | Type | Description | | ---------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | | `content` | `string` | Il contenuto della stringa da codificare. | | `options?` | [`InlineTranslationOptions`](/docs/next/api/types/inline-translation-options) | Opzioni di traduzione per personalizzare il comportamento di `msg`. | ### Restituisce Una stringa codificata, con le variabili interpolate (se presenti) sostituite con i rispettivi valori. *** ## Comportamento ### Produzione Durante il processo di CD, qualsiasi contenuto incluso in una funzione `msg` verrà tradotto prima del deployment della tua applicazione. Questo garantisce tempi di caricamento rapidi per tutte le impostazioni regionali, ma può tradurre solo i contenuti noti nella fase di build. Una volta generate, le traduzioni vengono (1) memorizzate nella CDN oppure (2) memorizzate nell'output di build della tua app, in base alla configurazione. Da lì, il contenuto tradotto viene servito ai tuoi utenti. Se una traduzione non viene trovata, verrà usato il contenuto originale. Assicurati di seguire la [guida al deployment qui](/docs/next/tutorials/quickdeploy). ### Sviluppo Durante lo sviluppo, la funzione `msg` tradurrà i contenuti su richiesta. Questo è utile per fare prototipi e vedere come apparirà la tua app in lingue diverse. Ricorda di aggiungere una chiave API Dev al tuo ambiente per abilitare questo comportamento. Durante la traduzione su richiesta in fase di sviluppo noterai un ritardo. Questo non accadrà nelle build di produzione, a meno che i contenuti non vengano tradotti esplicitamente su richiesta. *** ## Esempio ### Utilizzo di base Puoi usare `msg` per contrassegnare le stringhe da tradurre. ```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!" (tradotto) ``` Nota: "Hello, world!" sarà tradotto nella lingua preferita dell'utente. ### Uso delle variabili [#variables] Puoi passare delle variabili alle traduzioni del dizionario. ```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!" (tradotto) ``` Nota: "Alice" non verrà tradotto nella lingua preferita dell'utente perché è una variabile. ### Utilizzo del formato messaggi ICU `gt-node` supporta il formato messaggi ICU, che consente anche di formattare le variabili. ```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); ``` Il formato dei messaggi ICU è un metodo efficace per formattare le variabili. Per maggiori dettagli, consulta la [documentazione sul formato dei messaggi ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/). *** ## Note * La funzione `msg` serve a contrassegnare le stringhe per la traduzione. * La traduzione delle stringhe con `msg` avviene prima del runtime, durante il processo di build (tranne che in sviluppo). ## Passaggi successivi * Consulta [`getMessages`](/docs/node/api/get-messages) per recuperare le stringhe tradotte a runtime.