Enrutamiento con URLs Traducidas
Rutas con prefijo de idioma automáticas para todas tus páginas. /about/ se convierte en /es/sobre/ — sin necesidad de slugs dinámicos ni rutas catch-all.
createI18n().Enrutamiento con URLs Traducidas
Rutas con prefijo de idioma automáticas para todas tus páginas. /about/ se convierte en /es/sobre/ — sin necesidad de slugs dinámicos ni rutas catch-all.
Módulo Virtual
Importa t, localePath, switchLocalePath y más desde virtual:i18n. Una importación, todos los helpers de i18n que necesitas.
Markdown Multilingüe
Escribe todos los idiomas en un solo archivo markdown con frontmatter YAML y marcadores <!-- locale:es --> en el cuerpo. Impulsado por la API Content Loader de Astro 5.
Integración con i18next
Soporte completo de i18next con claves en notación de punto, cadenas de fallback y extensibilidad mediante plugins (ICU, interpolación y más).
Traducción de Slugs de Página
Exporta slugs desde páginas .astro para definir segmentos de URL por idioma. Descubiertos automáticamente en tiempo de compilación — sin configuración adicional.
Completamente Estático
Diseñado para la salida estática de Astro. Todas las rutas se pre-renderizan sin overhead en tiempo de ejecución.
import { createI18n } from '@otrodigital/astro-i18n-next';
export default defineConfig({ integrations: [createI18n({ defaultLocale: 'en', locales: ['en', 'es'], localeLabels: { en: 'English', es: 'Español' }, localeHtmlLang: { en: 'en', es: 'es' }, translations: { en, es }, pagesDir: 'src/pages', })],});---// Cualquier componente .astroimport { t, localePath } from 'virtual:i18n';const locale = Astro.locals.locale;---
<h1>{t(locale, 'home.title')}</h1><a href={localePath(locale, '/about/')}>{t(locale, 'nav.about')}</a>