Widget

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 en fr, "pt-BR" en pt.
  • Une locale inconnue affiche un console.warn et 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 »).

Modifier sur GitHub

Sur cette page