Langues
Huit locales intégrées, chargées à la demande, avec des replis sensés.
Le widget est livré avec 8 locales intégrées : anglais (en), coréen (ko, la locale par défaut), français (fr), allemand (de), espagnol (es), italien (it), portugais brésilien (pt) et russe (ru).
initInstaFix({
endpoint: "/api/instafix",
projectName: "mon-projet",
locale: "fr",
});Comment la résolution fonctionne
- L'anglais et le coréen (locale par défaut) sont embarqués ; chaque autre locale se charge dans son propre petit chunk, donc vous ne téléchargez que la langue que vous utilisez.
- Les étiquettes BCP-47 complètes sont les bienvenues —
"fr-CA"se résout enfr,"pt-BR"enpt. - Une locale inconnue affiche un
console.warnet retombe sur l'anglais. Rien ne casse. - Pendant le chargement d'un chunk de locale, les libellés s'affichent en anglais et se re-localisent dès qu'il arrive ; les marqueurs, eux, attendent les traductions pour que les libellés destinés aux lecteurs d'écran ne soient jamais à moitié traduits.
Locales personnalisées
registerLocale(code, translations) ajoute une langue que le widget ne fournit pas, et loadLocale(code) charge un dictionnaire intégré à l'avance. Les deux sont des exports runtime de @instafix/widget :
import { initInstaFix, registerLocale, type Translations } from "@instafix/widget";
registerLocale("nl", { "panel.title": "Feedbacks", "fab.annotate": "Nieuwe annotatie maken" });
initInstaFix({ endpoint: "/api/instafix", projectName: "mon-projet", locale: "nl" });Les dictionnaires partiels sont acceptés. Les clés manquantes retombent sur l'anglais clé par clé : redéfinir une seule chaîne n'oblige jamais à recopier tout le catalogue — passez le type Translations uniquement si vous voulez que l'ensemble complet soit vérifié. Deux règles que l'implémentation impose : enregistrez sous le code de langue de base ("nl", pas "nl-BE" — les recherches se normalisent vers la base), et appelez registerLocale avant initInstaFix.
Faites await loadLocale("fr") avant l'init si vous voulez une locale intégrée à l'écran dès le premier rendu, sans bref passage par l'anglais.
Le dashboard suit le même jeu
@instafix/dashboard embarque les mêmes huit locales avec les mêmes règles de résolution, et expose son propre registerLocale avec le même comportement de dictionnaire partiel — voir la documentation du dashboard.
Vous voulez votre langue en natif ? Les contributions de locales sont la porte d'entrée la plus accessible de ce projet — voir CONTRIBUTING (« Adding a Locale »).