# gt-next: General Translation Next.js SDK: msg
URL: https://generaltranslation.com/it/docs/next/api/strings/msg.mdx
---
title: msg
description: Riferimento API per la funzione msg() per le stringhe
---
{/* GENERATO AUTOMATICAMENTE: Non modificare direttamente. Modifica invece il template in content/docs-templates/. */}
## Panoramica
La funzione `msg` serve a contrassegnare e codificare le stringhe per la traduzione.
```jsx
const encodedString = msg('Hello, world!');
```
La stringa codificata deve essere passata all'hook [`useMessages`](/docs/next/api/strings/use-messages) per ottenere le traduzioni.
**Codifica:**
`msg` codifica la stringa di input, quindi non puoi usarla direttamente in JSX o altrove.
Se vuoi recuperare la stringa originale, devi decodificarla con [`decodeMsg`](#decodemsg)
## Decodifica [#decodemsg]
Per ottenere di nuovo la stringa originale, devi decodificarla con [`decodeMsg`](#decodemsg)
```jsx
import { msg, decodeMsg } from 'gt-next';
const encodedString = msg('Hello, world!');
const decodedString = decodeMsg(encodedString);
console.log(decodedString); // "Hello, world!"
```
## Riferimento
### Parametri
| Nome | Tipo | Descrizione |
| ---------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `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, in cui le variabili interpolate (se presenti) sono sostituite con i rispettivi valori.
***
## Comportamento
### Produzione
Durante il processo di CD, qualsiasi contenuto all'interno di una funzione `msg` viene tradotto prima del deployment dell'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) archiviate nella CDN oppure (2) incluse nell'output di build della tua app, in base alla configurazione.
Da lì, il contenuto tradotto viene distribuito agli utenti.
Se una traduzione non viene trovata, viene usato il contenuto originale.
Assicurati di seguire [la guida al deployment qui](/docs/next/tutorials/quickdeploy).
### Sviluppo
Durante lo sviluppo, la funzione `msg` traduce il contenuto su richiesta.
Questo è utile per fare prototipi di 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 si verificherà nelle build di produzione, a meno che il contenuto non venga tradotto esplicitamente su richiesta.
***
## Esempio
### Utilizzo di base
Puoi usare `msg` per contrassegnare le stringhe da tradurre.
```jsx copy
import { msg, useMessages } from 'gt-next';
const encodedString = msg('Hello, world!');
export default function TranslateGreeting() {
const m = useMessages();
return (
{m(encodedString)}
);
}
```
Nota: "Hello, world!" verrà tradotto nella lingua preferita dell'utente.
### Utilizzo delle variabili [#variables]
Puoi passare variabili alle traduzioni del dizionario.
```jsx copy
import { msg, useMessages } from 'gt-next';
const encodedString = msg('Hello, {name}!', { name: 'Alice' });
export default function TranslateGreeting() {
const m = useMessages();
return (
{m(encodedString)}
);
}
```
Nota: "Alice" non verrà tradotto nella lingua preferita dell'utente perché è una variabile.
### Utilizzo del formato dei messaggi ICU
`gt-next` supporta il formato dei messaggi ICU, che consente anche di formattare le variabili.
```jsx copy
import { msg, useMessages } from 'gt-next';
const encodedString = msg('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 });
export default function TranslateGreeting() {
const m = useMessages();
return (
{m(encodedString)}
);
}
```
Il formato dei messaggi ICU è un modo efficace per formattare le variabili.
Per maggiori informazioni, 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 ambiente di sviluppo).
## Passaggi successivi
* Consulta [`useMessages`](/docs/next/api/strings/use-messages) per tradurre le stringhe.