Journal gettext_html_auto.js : traduction de WebExtension

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
14
25
mai
2020

La méthode officielle pour traduire une WebExtension comme Meta-Press.es est d'utiliser l'API i18n. Malheureusement cette dernière impose de définir soi-même une clé pour chaque portion de texte à traduire, or l'exercice se révèle chronophage, tout particulièrement quand il s'agit de grosse page web comportant plein de petits textes comme les formulaires.

C'est le cas de l'interface principale de Meta-Press.es, ainsi que de sa page de préférences. C'est d'ailleurs le cas de beaucoup de pages de préférences de WebExtensions.

Pour me rapprocher du fonctionnement plus simple du standard GNU gettext, j'ai décidé d'utiliser l'implémentation gettext.js de Guillaume Potier, et de coder les fonction requise pour :

  • collecter les textes à traduire (xgettext),
  • maintenir un fichier template.json ainsi que les traductions correspondantes,
  • et traduire les pages HTML lors de leur chargement.

Comme annoncé précédemment, Meta-Press.es est désormais disponible en anglais, en français, en espagnol et en espéranto !

Si vous souhaitez contribuer une nouvelle langue, il suffit de remplir les blancs du fichier template.json et de proposer votre nouvelle traduction via une pull-request (ou de m'envoyer le fichier par courriel).

Si vous cherchez une manière simple de traduire (internationaliser) votre Addon Firefox, ou au moins sa page de préférences, vous pouvez utiliser ce code, que j'ai publié dans le dépôt séparé gettext_html_auto.js avec sa documentation.

Avec month_nb, c'est le 2e outil réutilisable construit pour Meta-Press.es.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.