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.