Estructura de Archivos
astro-intl espera una estructura de carpetas específica dentro de tu proyecto. Aquí está el layout recomendado:
Project structure
src/
├── i18n/
│ ├── messages/
│ │ ├── en.json ← English translations
│ │ └── es.json ← Spanish translations
│ └── request.ts ← Locale resolver
├── layouts/
│ └── Layout.astro ← Shared layout
├── pages/
│ └── [lang]/ ← Dynamic locale segment
│ ├── index.astro
│ └── docs.astro
└── components/
└── MyComponent.astro pages/[lang]/ Las páginas deben estar anidadas bajo un segmento dinámico
[lang] para que Astro genere una ruta por locale. messages/ Cada locale tiene su propio archivo JSON dentro de
src/i18n/messages/. El nombre del archivo debe coincidir exactamente con el código del locale (ej. en.json, es.json). request.ts El archivo
request.ts exporta una función que recibe el string del locale y retorna los mensajes para ese locale.