Internationalisation (i18n)
Démonstration du support multilingue d’OntoWave : détection de langue, bascule FR/EN, fallback.
Configuration
{
"i18n": {
"default": "fr",
"supported": ["fr", "en"]
},
"roots": [
{ "base": "fr", "root": "demos/02-config" },
{ "base": "en", "root": "demos/02-config" }
]
}
Langues supportées
Cette page est disponible en deux langues :
- 🇫🇷 Français (cette page) — URL :
#fr/i18n
- 🇬🇧 English — URL :
#en/i18n
Détection automatique
OntoWave détecte la langue préférée du navigateur (navigator.language) et redirige vers la version correspondante si elle est supportée.
Bascule manuelle
La bascule de langue s’effectue via des liens dans l’interface utilisateur générée. Chaque lien modifie le préfixe de langue dans le hash URL.
Fallback
Si un fichier dans une langue n’existe pas, OntoWave tente de charger la version dans la langue par défaut.
Limite connue
- La détection automatique se base uniquement sur
navigator.language (pas sur les cookies ni localStorage)
- Il n’y a pas de négociation de contenu côté serveur (le routage est entièrement côté client)
Internationalisation (i18n)
Demonstration of OntoWave’s multilingual support: language detection, FR/EN toggle, fallback.
Configuration
{
"i18n": {
"default": "fr",
"supported": ["fr", "en"]
},
"roots": [
{ "base": "fr", "root": "demos/02-config" },
{ "base": "en", "root": "demos/02-config" }
]
}
Supported Languages
This page is available in two languages:
- 🇫🇷 Français — URL:
#fr/i18n
- 🇬🇧 English (this page) — URL:
#en/i18n
Automatic Detection
OntoWave detects the browser’s preferred language (navigator.language) and redirects to the corresponding version if it is supported.
Manual Toggle
Language switching is done via links in the generated user interface. Each link changes the language prefix in the hash URL.
Fallback
If a file in one language does not exist, OntoWave tries to load the default language version.
Known Limitations
- Automatic detection is based only on
navigator.language (not on cookies or localStorage)
- There is no server-side content negotiation (routing is entirely client-side)