useTranslations
Riferimento API per l’hook useTranslations
Panoramica
useTranslations viene usato per accedere alle traduzioni delle stringhe dal dizionario delle traduzioni.
Deve essere utilizzato all'interno di un componente racchiuso da un <GTProvider>.
const d = useTranslations(); // Ottieni la funzione di traduzione
d('greeting.hello'); // passa l'ID per ottenere una traduzionePer i componenti asincroni, consulta getTranslations.
getTranslations e useTranslations utilizzano un dizionario per memorizzare tutti i contenuti da tradurre.
Questo è diverso dall’uso del componente <T> per la traduzione.
Se ti interessa usare soltanto i componenti <T> per la traduzione, questo documento non è rilevante.
Riferimenti
Parametri
Prop
Type
Descrizione
| Prop | Descrizione |
|---|---|
id | Un prefisso opzionale da anteporre a tutte le chiavi di traduzione. Utile per lavorare con valori di dizionari annidati. |
Restituisce
Una funzione di traduzione d che, dato un ID, restituisce la versione tradotta della voce corrispondente
(id: string, options?: DictionaryTranslationOptions) => React.ReactNode| Nome | Tipo | Descrizione |
|---|---|---|
id | string | L’ID della voce da tradurre |
options? | DictionaryTranslationOptions | Opzioni di traduzione per personalizzare il comportamento di d. |
Esempi
Utilizzo di base del dizionario
Ogni voce del tuo dizionario viene tradotta.
const dictionary = {
greeting: "Ciao, Bob",
};
export default dictionary;Quando vogliamo accedere a queste voci (sul client), chiamiamo useTranslations.
Questa restituisce una funzione che accetta la chiave di una traduzione dal dizionario.
import { useTranslations } from 'gt-next';
export default async function TranslateGreeting() {
const d = useTranslations();
return (
<p>
{d('greeting')} // Ciao Alice // [!code highlight]
</p>
);
}Utilizzo delle variabili
Per passare dei valori, è necessario (1) assegnare un identificatore e (2) fare riferimento a tale identificatore quando si chiama la funzione d.
In questo esempio, usiamo {} per passare variabili alle traduzioni.
Nel dizionario, assegniamo l’identificatore {userName}.
const dictionary = {
greeting: "Ciao, {userName}!",
};
export default dictionary;import { useTranslations } from 'gt-next';
export default async function TranslateGreeting() {
const d = useTranslations();
// Ciao, Alice!
const greetingAlice = d('greeting', { userName: "Alice" });
return (
<p>
{greetingAlice}
</p>
);
}Uso dei prefissi
Possiamo usare i prefissi per tradurre solo un sottoinsieme del dizionario.
const dictionary = {
prefix1: {
prefix2: {
greeting: "Ciao, Bob",
}
}
};
export default dictionary;Poiché abbiamo aggiunto il valore 'prefix1.prefix2' all’hook useTranslations, tutte le chiavi sono precedute da prefix1.prefix2:
import { useTranslations } from 'gt-next';
export default function UserDetails() {
const d = useTranslations('prefix1.prefix2');
return (
<div>
<p>{d('greeting')}</p> // greeting => prefix1.prefix2.greeting // [!code highlight]
</div>
);
}Note
- La funzione
useTranslationsconsente di accedere alle traduzioni del dizionario sul lato client. - L'hook
useTranslationspuò essere usato solo all'interno di un componente racchiuso da un componente<GTProvider>.
Prossimi passaggi
- Per le traduzioni lato server, consulta
getTranslations. - Scopri di più sull’uso dei dizionari nella guida di riferimento ai dizionari.
Come valuti questa guida?