Come configurare il routing basato sul dominio con Intlayer invece dei percorsi /[locale]/?
Risposta breve
Il routing basato sul dominio è più semplice rispetto al routing basato sul percorso (example.com/[locale]/) perché puoi evitare tutta la configurazione di middleware e routing. Basta distribuire la tua app su ogni dominio linguistico e impostare una variabile d'ambiente per ogni dominio.
Passo dopo passo
- Distribuisci una volta per dominio (
example.com,exemple.fr,ejemplo.es, …). - Per ogni distribuzione, imposta
LOCALE(e le solite variabili d'ambiente di Intlayer) sulla lingua che quel dominio deve servire. - Riferisciti a quella variabile come
defaultLocalenel tuo fileintlayer.config.[ts|js].
Copiare il codice nella clipboard
Questo è tutto-funziona allo stesso modo per Next.js, Vite + React, Vite + Vue, ecc.
Cosa succede se tutti i domini puntano alla stessa distribuzione?
Se tutti i domini puntano allo stesso bundle dell'applicazione, sarà necessario rilevare l'host a runtime e passare manualmente la lingua tramite il provider.
Per Next.js
Copiare il codice nella clipboard
Per Vue
Copiare il codice nella clipboard
Sostituisci getLocaleFromHostname() con la tua logica di ricerca personalizzata.
Aggiorna il tuo selettore di lingua
Quando si utilizza il routing basato sul dominio, cambiare lingua significa navigare verso un altro dominio:
Copiare il codice nella clipboard
Vantaggi del routing basato sul dominio
- Configurazione più semplice: Non è necessario configurare
intlayerProxy,generateStaticParams,react-routerovue-router - Migliore SEO: Ogni lingua ha il proprio dominio
- URL più puliti: Nessun prefisso di localizzazione nel percorso
- Manutenzione più semplice: Ogni distribuzione linguistica è indipendente