Speedrun Next.js
Facciamo uno speedrun: creiamo una nuova app e la rendiamo multilingue con GT.
Panoramica
In questa guida vedremo due cose:
- Creare una nuova app Next.js
- Internazionalizzarla con General Translation
In totale, il tutto richiederà meno di 10 minuti.
Prerequisiti
Supponiamo che tu abbia esperienza con React, in qualche modo, e dimestichezza con TypeScript.
Passaggio 1: Crea una nuova app Next.js
Per prima cosa, apri il terminale, vai nella directory che preferisci ed esegui il seguente comando:
npx create-next-app next-quickstart --ts --tailwind --eslint --app --use-npm --src-dirVerrà visualizzata una procedura guidata di configurazione: puoi semplicemente selezionare il valore predefinito per ciascuna opzione.
Passaggio 2: installa le librerie
Vai alla directory radice del tuo progetto Next.js ed esegui:
cd next-quickstart
npm i gt-next
npm i gtx-cliPassaggio 3: Aggiungi le variabili d'ambiente.
Vai alla Dashboard.
Apri la pagina Dev API Keys nella barra di navigazione e crea una nuova API key e un Project ID.
Quindi aggiungili al file .env.
GT_API_KEY="YOUR_GT_API_KEY"
GT_PROJECT_ID="YOUR_GT_PROJECT_ID"Passaggio 4: Esegui lo strumento CLI
Esegui lo strumento CLI per preparare il tuo codebase alla traduzione.
npx gtx-cli setupPassaggio 5: Modifica il layout radice
Modifica la prop lang nel tag <html> nel file src/app/layout.tsx.
Deve usare await getLocale() per ottenere la lingua/locale corrente.
import { GTProvider, getLocale } from "gt-next";
...
export default async function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
const locale = await getLocale();
return (
<html lang={locale}> // [!code highlight]
<GTProvider>
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
>
{children}
</body>
</GTProvider>
</html>
);
}Passaggio 6: Avvia la tua app
La tua app è pronta per l’internazionalizzazione! 🎉 Mettiamola alla prova!
Modifica le impostazioni della lingua del browser.
Avvia la tua app Next.js.
npm run devApri l’app nel browser che preferisci (di solito su http://localhost:3000). Se hai configurato tutto correttamente, dovresti vedere l’app nella lingua impostata nel browser.
Risoluzione dei problemi
Note
- Traduci JSX arbitrario con il componente
<T>. - Se la traduzione non funziona quando cambi lingua, controlla i cookie del browser.
Prossimi passaggi
- Metti una stella al nostro repo GitHub gt-next.
- Configura il supporto per le lingue da destra verso sinistra.
Come valuti questa guida?