Guides
Internationalisation
FormKrafter sépare deux choses que la plupart des bibliothèques confondent : le contenu d’un formulaire (écrit par celui qui l’a construit) et le chrome du builder (l’UI que vos utilisateurs manipulent). Ils sont localisés indépendamment, et aucun des deux ne renifle jamais la langue du navigateur — l’hôte décide, la bibliothèque suit.
Couche 1 — le contenu du formulaire
Section intitulée « Couche 1 — le contenu du formulaire »Tout libellé, placeholder, message ou liste d’options d’un spec peut être une simple chaîne ou un objet indexé par locale :
{ "label": { "en": "Full name", "fr": "Nom complet" } }Passez locale au renderer pour le résoudre :
<FkFormRender spec={spec} locale="fr" /><FkFormRender :spec="spec" locale="fr" />document.querySelector('fk-form-render').locale = 'fr'Dans le builder, passez locales pour obtenir un sélecteur de langue d’édition
— les champs du panneau lisent et écrivent alors la langue sélectionnée :
<FkFormBuilder locales={['en', 'fr']} />Couche 2 — le chrome du builder
Section intitulée « Couche 2 — le chrome du builder »La palette, le panneau de propriétés, les boutons et les noms de bricks représentent environ 90 clés de traduction. L’anglais est intégré et le français est livré dans le package :
import { setFkTranslations, frFkTranslations } from '@streamline-pulse/formkrafter-wc'
setFkTranslations(frFkTranslations)Pour toute autre langue, passez votre propre dictionnaire — il est fusionné par-dessus l’anglais intégré, donc une traduction partielle est valide :
setFkTranslations({ 'palette.search': 'Bausteine suchen…', 'panel.validation': 'Validierung',})Choisir une locale
Section intitulée « Choisir une locale »Comme rien n’est automatique, le choix vous revient explicitement — un segment d’URL, une préférence utilisateur, un cookie. Un branchement typique :
import { setFkTranslations, frFkTranslations } from '@streamline-pulse/formkrafter-wc'
const locale = useRouteLocale() // votre routeur, votre règleif (locale === 'fr') setFkTranslations(frFkTranslations)
return <FkFormRender spec={spec} locale={locale} />Étapes suivantes
Section intitulée « Étapes suivantes »Un projet de Streamline Pulse