# gt-next: General Translation Next.js SDK: useMessages URL: https://generaltranslation.com/it/docs/next/api/strings/use-messages.mdx --- title: useMessages description: Riferimento API per la funzione useMessages() per la traduzione delle stringhe --- {/* GENERATO AUTOMATICAMENTE: Non modificare direttamente. Modifica il modello in content/docs-templates/. */} ## Panoramica La funzione `useMessages` è un hook per tradurre le stringhe codificate con `msg` in fase di build. ```jsx const m = useMessages();

{m(encodedString)}

; ``` **Traduzione in fase di build:** le traduzioni di `useMessages` avvengono in fase di build, prima della distribuzione della tua app. Puoi passare stringhe codificate con `msg` e verranno tradotte nella lingua preferita dell'utente. ## Riferimento ### Parametri Nessuno ### Restituisce Una funzione di callback, `m`, che traduce il contenuto codificato fornito da `msg`. ```jsx (encodedContent: string, options?: Record) => string ``` | Name | Type | Description | | ---------------- | --------------------- | ------------------------------------------------------------------- | | `encodedContent` | `string` | Il contenuto della stringa codificata generata da `msg` da tradurre. | | `options?` | `Record` | Parametri facoltativi per passare variabili alla stringa codificata. | *** ## 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 come fallback il contenuto originale. Assicurati di seguire la [guida al deployment qui](/docs/next/tutorials/quickdeploy). ### Sviluppo Durante lo sviluppo, la funzione `m` tradurrà i contenuti su richiesta. È utile per farsi un'idea 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 accadrà nelle build di produzione, a meno che i contenuti non vengano tradotti esplicitamente su richiesta. *** ## Esempio ### Utilizzo di base Puoi usare `useMessages` per tradurre le stringhe codificate da `msg`. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, Alice!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting)}

; } ``` Nota: la stringa "Alice" verrà tradotta nella lingua preferita dell'utente. ### Uso delle variabili [#variables] Puoi passare variabili alle stringhe codificate. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, {name}!'); export default function TranslateGreeting() { const m = useMessages(); return (

{m(encodedGreeting, { name: 'Bob' })}{' '} {/* Questo visualizzerà "Hello, Bob!" */}

); } ``` ### Le variabili `msg` sovrascrivono quelle di `m` Quando passi variabili sia a `msg` sia a `m`, quelle passate a `msg` sovrascrivono quelle passate a `m`. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting, { name: 'Bob' })}

; } ``` Nota: verrà visualizzato "Hello, Alice!" - la variabile non viene sovrascritta in fase di rendering. ### Uso del formato dei messaggi ICU `gt-next` supporta il formato dei messaggi ICU, che ti consente anche di formattare le variabili. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedMessage = 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(encodedMessage)}

; } ``` Il formato dei messaggi ICU è un potente strumento per formattare le variabili. Per ulteriori informazioni, consulta la [documentazione sul formato dei messaggi ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/). ### Importazione da `gt-next` Se stai usando la direttiva `"use client"`, dovresti importare da `gt-next` anziché da `gt-next`. ```jsx copy 'use client'; import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, Alice!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting)}

; } ``` *** ## Note * La funzione `useMessages` è un hook che traduce le stringhe codificate da `msg`. * La traduzione delle stringhe con `useMessages` avviene prima del runtime, durante il processo di build (tranne che in sviluppo). ## Passaggi successivi * Consulta [`msg`](/docs/next/api/strings/msg) per codificare le stringhe da tradurre.