# react-native: useMessages URL: https://generaltranslation.com/it/docs/react-native/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 da `msg` nella fase di build. ```jsx const m = useMessages();

{m(encodedString)}

; ``` **Traduzione in fase di build:** le traduzioni di `useMessages` avvengono in fase di build, prima che la tua app venga distribuita. 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 ``` | Nome | Tipo | Descrizione | | ---------------- | --------------------- | -------------------------------------------------------------------- | | `encodedContent` | `string` | Il contenuto della stringa codificata 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) memorizzate 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 come fallback. Assicurati di seguire la [guida al deployment qui](/docs/react-native/tutorials/quickdeploy). ### Sviluppo Durante lo sviluppo, la funzione `m` tradurrà il contenuto on demand. 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. Noterai un ritardo durante la traduzione on demand in fase di sviluppo. Questo non accadrà nelle build di produzione, a meno che il contenuto non venga tradotto esplicitamente on demand. *** ## Esempio ### Utilizzo di base Puoi usare `useMessages` per tradurre le stringhe codificate con `msg`. ```jsx copy import { msg, useMessages } from 'gt-react-native'; const encodedGreeting = msg('Hello, Alice!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting)}

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

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

); } ``` ### Le variabili di `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-react-native'; const encodedGreeting = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return

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

; } ``` Nota: verrà visualizzato "Ciao, Alice!" - la variabile non viene sovrascritta in fase di rendering. ### Uso del formato messaggi ICU `gt-react-native` supporta il formato messaggi ICU, che ti consente anche di formattare le variabili. ```jsx copy import { msg, useMessages } from 'gt-react-native'; 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 metodo efficace per formattare le variabili. Per maggiori informazioni, consulta la [documentazione del formato dei messaggi ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/). ### Importare da `gt-react-native` Se usi la direttiva `"use client"`, devi importare da `gt-react-native` invece di `gt-react-native`. ```jsx copy 'use client'; import { msg, useMessages } from 'gt-react-native'; 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 fase di sviluppo). ## Passaggi successivi * Consulta [`msg`](/docs/react-native/api/strings/msg) per codificare le stringhe da tradurre.