Multi-langue
Dictionnaires FR/EN/ES, interpolation, pluriels, formats par locale et repli sur la langue de référence. Basculez la langue d'une mini-application et complétez les traductions manquantes dans le Simulateur.
À propos
Le module Multi-langue fournit un système i18n complet : dictionnaires de traduction par langue (FR, EN, ES), interpolation de variables ({prenom}), pluriels via Intl.PluralRules, formats de dates et de montants par locale (Intl.DateTimeFormat, Intl.NumberFormat) et repli automatique sur la langue de référence quand une clé manque. Le Simulateur applique tout cela à une mini-application de suivi des commandes : on bascule la langue et chaque texte, montant et date se retraduit instantanément.
Composants utilisés
bpm.metricRow (langues, clés, couverture ES), bpm.progress (couverture par langue), bpm.table (commandes traduites avec bpm.badge, dictionnaire des clés), bpm.message (clés manquantes), bpm.modal + bpm.input (éditeur de traduction) et bpm.toast.
import bpm
bpm.metricRow([
bpm.metric("Langues", 3),
bpm.metric("Clés de traduction", 16),
bpm.metric("Couverture ES", "81 %"),
])
# t() résout une clé dans la langue active, avec repli FR
bpm.title(t("app.titre")) # "Order tracking" en EN
bpm.text(t("message.bienvenue", prenom="Camille")) # interpolation
bpm.badge(t("commandes.nombre", count=3)) # pluriel one/other
bpm.progress(label="Español", value=81, max=100)
bpm.button("Traduire", on_click=ouvrir_editeur)Paramétrage
Le simulateur fonctionne entièrement en local : dictionnaires seedés, traductions ajoutées en état React, choix de langue persisté en localStorage. En production, charger les dictionnaires depuis votre backend ou des fichiers JSON par locale. Voir la documentation pour la structure des dictionnaires, l'interpolation, les pluriels et le repli.