Configurare l’internazionalizzazione (i18n) in Next.js App Router
Crea un sito Next.js multilingue con rotte per lingua, rilevamento della lingua, dizionari lato server, selettore di lingua, hreflang e formattazione regionale di date e prezzi. Pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Include 5 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.
Avanzato · Codice · In attesa di revisione editoriale
Prompt
Agisci come sviluppatore Next.js senior con esperienza in siti multilingue e SEO internazionale.
Contesto:
- Lingue: {{lingue}}
- Lingua predefinita: {{lingua_predefinita}}
- Strategia URL: {{strategia_url}}
- Approccio: {{approccio}}
- Origine dei testi: {{origine_testi}}
Prima di scrivere codice, conferma con me la versione di Next.js e se ci sono rotte esistenti da mantenere; se non lo so, indica cosa presupponi.
Consegna:
1. La struttura delle cartelle con il segmento `[locale]` e come si incastrano layout, pagine e metadati.
2. Il file di middleware (o il suo equivalente nella tua versione) che rileva la lingua dal cookie scelto dall'utente e dall'header Accept-Language, e reindirizza secondo {{strategia_url}} senza loop.
3. Il caricamento dei dizionari lato server, con chiavi tipizzate perché TypeScript segnali quelle mancanti, e un fallback sulla lingua predefinita.
4. Un selettore di lingua accessibile che mantenga il percorso attuale e salvi la preferenza.
5. Metadati SEO: `lang` sull'elemento html, URL canonico e alternative hreflang (incluso x-default) su ogni pagina, e generateStaticParams per prerenderizzare ogni lingua.
6. Formattazione di date, numeri, valute e plurali con Intl o con le utility di {{approccio}}.
7. Una checklist prima della pubblicazione.
Vincoli:
- Non tradurre i contenuti reali: lascia i testi di esempio come [DA COMPLETARE] per ogni lingua.
- Non reindirizzare i crawler solo in base all'IP e non nascondere contenuti per paese.
- Tieni i testi dell'interfaccia fuori dai componenti, nei dizionari.
Formato: un blocco di codice per file con il suo percorso e una breve nota su ogni scelta.Come usarlo
- Indica le lingue, quella predefinita e se ogni URL deve avere un prefisso. 2. Scegli una libreria o dizionari tuoi. 3. Crea i file su un branch, prova i reindirizzamenti e verifica gli hreflang con uno strumento SEO prima di pubblicare.
Esempio d'uso
Lingue: it, en, de · Predefinita: it · URL: prefisso tranne per la lingua predefinita · Approccio: next-intl · Testi: file JSON nel repository.
Esempio di risultato
Ipotesi: Next.js 15 e next-intl 4. Le rotte stanno in app/[locale]/layout.tsx e app/[locale]/page.tsx.
Routing, middleware e caricamento dei testi
// src/i18n/routing.ts
import { defineRouting } from 'next-intl/routing';
export const routing = defineRouting({
locales: ['it', 'en', 'de'],
defaultLocale: 'it',
localePrefix: 'as-needed', // /chi-siamo (it), /en/..., /de/...
});
// src/middleware.ts
import createMiddleware from 'next-intl/middleware';
import { routing } from './i18n/routing';
export default createMiddleware(routing);
export const config = { matcher: ['/((?!api|_next|_vercel|.*\\..*).*)'] };
// src/i18n/request.ts
import { getRequestConfig } from 'next-intl/server';
import { hasLocale } from 'next-intl';
import { routing } from './routing';
export default getRequestConfig(async ({ requestLocale }) => {
const requested = await requestLocale;
const locale = hasLocale(routing.locales, requested) ? requested : routing.defaultLocale;
return { locale, messages: (await import(`../../messages/${locale}.json`)).default };
});
Il middleware controlla prima il cookie NEXT_LOCALE e poi Accept-Language; con as-needed l'italiano non ha prefisso e non si creano loop di redirect. I testi si trovano in messages/it.json, en.json e de.json con valori [DA COMPLETARE]…
Dati chiave
- Categoria
- Programmazione e sviluppo · Next.js
- Tipo di output
- Codice
- Livello
- Avanzato
- Pensato per
- ChatGPT, Claude, Gemini e Microsoft Copilot
- Verificato in
- In attesa di verifica editoriale
- Variabili
- Lingue, Lingua predefinita, Strategia URL, Approccio e Origine dei testi
- Lingua
- Italiano
- Prezzo
- Gratuito, senza registrazione
- Aggiornato
- 07/11/2026
Domande frequenti
Meglio next-intl o dizionari propri?
Con pochi testi e senza plurali complessi bastano dizionari propri. Se servono plurali, formato ICU, traduzioni nei componenti client e chiavi tipizzate, una libreria come next-intl fa risparmiare lavoro.
Devo reindirizzare automaticamente in base alla lingua del browser?
È ragionevole alla prima visita, ma rispetta sempre la scelta salvata dall’utente e lascia ogni URL di lingua raggiungibile direttamente, così i motori di ricerca possono scansionare tutte le versioni.
A cosa serve x-default negli hreflang?
Indica ai motori di ricerca quale pagina mostrare quando nessuna lingua corrisponde a quella dell’utente, di solito la pagina nella lingua predefinita o un selettore di lingua.
A cosa serve questo prompt?
Crea un sito Next.js multilingue con rotte per lingua, rilevamento della lingua, dizionari lato server, selettore di lingua, hreflang e formattazione regionale di date e prezzi.
Con quali strumenti di IA funziona?
È pensato per ChatGPT, Claude, Gemini e Microsoft Copilot. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.
Come personalizzo il prompt?
Clicca su «Personalizza» e compila le variabili (Lingue, Lingua predefinita, Strategia URL, Approccio e Origine dei testi). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.
Serve esperienza per usarlo?
È di livello avanzato: è pensato per persone con esperienza nell'argomento, in grado di valutare e regolare il risultato.
Questo prompt è gratuito?
Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.
Posso fidarmi dell'output dell'IA?
Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.