Estructura de archivos
Esta es toda la estructura necesaria para el ejemplo inicial. Los nombres en messages deben coincidir con los imports de tu configuración.
Archivos mínimos
astro.config.mjs conecta idiomas y mensajes. Los JSON guardan los textos. La página genera las dos URLs y elige el idioma antes de traducir.
Estructura mínima
astro.config.mjs
src/
i18n/messages/
en.json
es.json
pages/[lang]/
index.astroArchivos opcionales al crecer
layouts/Layout.astro comparte HTML; components/ contiene piezas reutilizables. i18n/request.ts solo hace falta si eliges un cargador personalizado. middleware.ts centraliza la inicialización antes del render. i18n/routing.ts organiza rutas traducidas. Ninguno es un requisito para el inicio rápido.