Opciones de configuración
Consulta estas opciones después de completar Inicio rápido. No son pasos adicionales de instalación.
Configuración básica completa
Este es el mismo ejemplo del inicio. Añade la integración a tu configuración existente.
import { defineConfig } from "astro/config";
import astroIntl from "astro-intl";
import en from "./src/i18n/messages/en.json" with { type: "json" };
import es from "./src/i18n/messages/es.json" with { type: "json" };
export default defineConfig({
integrations: [
astroIntl({
defaultLocale: "en",
locales: ["en", "es"],
messages: { en, es },
}),
],
});defaultLocale / locales
defaultLocale es 'en' si se omite. locales enumera los idiomas permitidos; usa la misma lista al generar las páginas. La integración no genera [lang] ni getStaticPaths por ti.
messages
Relaciona cada idioma con un objeto de mensajes o una función que lo carga. Para empezar, usa los objetos JSON importados del ejemplo. No necesitas request.ts.
messagesDir
Alternativa a messages que carga archivos por idioma desde un directorio. Requiere locales. No la combines con messages: messages tiene prioridad. Su resolución de rutas y disponibilidad de JSON en producción requieren una comprobación específica del proyecto; el inicio recomendado usa imports explícitos.
routes
Mapa opcional de URLs traducidas. Consulta Rutas traducidas y configura su middleware; no hace falta para tener /es/ y /en/.
enabled
Por defecto true. Controla los hooks de la integración. No lo uses como sustituto de quitar las llamadas de traducción de tus páginas.