Routage d'URL Traduites
Chemins avec préfixe de langue automatiques pour toutes vos pages. /about/ devient /es/sobre/ — sans slugs dynamiques ni routes catch-all.
createI18n().Routage d'URL Traduites
Chemins avec préfixe de langue automatiques pour toutes vos pages. /about/ devient /es/sobre/ — sans slugs dynamiques ni routes catch-all.
Module Virtuel
Importez t, localePath, switchLocalePath et plus depuis virtual:i18n. Un seul import, tous les helpers i18n dont vous avez besoin.
Markdown Multilingue
Écrivez toutes les langues dans un seul fichier markdown avec un frontmatter YAML et des marqueurs <!-- locale:es --> dans le corps. Propulsé par l’API Content Loader d’Astro 5.
Intégration i18next
Support complet d’i18next avec clés en notation pointée, chaînes de fallback et extensibilité via plugins (ICU, interpolation et plus).
Traduction de Slugs de Page
Exportez slugs depuis les pages .astro pour définir des segments d’URL par langue. Découverts automatiquement lors de la compilation — aucune configuration nécessaire.
Entièrement Statique
Conçu pour la sortie statique d’Astro. Toutes les routes sont pré-rendues sans surcharge à l’exécution.
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', })],});---// N'importe quel composant .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>