Nexanexa
Paso 6

Internacionalización

Un segmento [locale] especial en la ruta, más t("clave") en el cuerpo, seo y schema — resuelto contra src/locales/<locale>.json. Este mismo tutorial que estás leyendo usa exactamente este mecanismo.

El segmento [locale]

src/pages/[locale]/index.tsx   ->  /es, /en, ...

pages/[locale]/index.tsx se sirve en /es, /en, o cualquier locale que tengas en src/locales/.

Traducir con t()

// src/locales/es.json
{ "home": { "title": "Bienvenido a Nexa" } }

// src/pages/[locale]/index.tsx
export default function Home() {
    return <h1>{t("home.title")}</h1>;
}

t("clave") reconoce un patrón sintáctico exacto: un identificador t con un único string literal — sin interpolación, sin clave dinámica.

hreflang automático

<link rel="alternate" hreflang="es" href="/es">
<link rel="alternate" hreflang="en" href="/en">

Si hay más de un locale disponible, Nexa genera los <link rel="alternate" hreflang="..."> de cada traducción automáticamente.