Ich konnte aber in XUL-Dateien meine eigenen Entities erfinden, falls die Strings hardcodiert waren und konnte dann sogar mehrere Locales hinzufügen, mit den entsprechenden .dtd- und .properties-Dateien. Je mehr JavaScript dazu kam, um so weniger Einfluss hatte der Übersetzer und bei Web Paint hast du eine ellenlange JavaScript-Datei (inject.js) mit Text in einer einzigen Zeile.
Du siehst selbst, dass du sogar noch etwas dazu erfinden musst, eine eigene JavaScript-Datei, um die Übersetzung von HTML-Dateien zu ermöglichen. Ich habe mir die angesehen, und wenn ich ja doch noch herumexperimentiere, wollte ich die einbauen - sofern du das gestattest. Da sieht man den Bezug zwischen i18n.js und den String-Namen in der messages.json (Präfix _MSG_). Aber das ist ein besonderer Service von dir, mit dem man sonst wohl nicht rechnen kann. Ich verstehe auch halbwegs, was auf dieser MDN-Seite zu lesen ist:
https://developer.mozilla.org/en-US/Add-ons/…nationalization
Wenn ich das richtig verstehe, brauchst du bestimmte Funktionen, um die Strings herauszuziehen, auf den JavaScript-Code habe ich aber keinen Einfluss. AMO sollte dafür sorgen, dass keine Erweiterung die Prüfung besteht, die kein Minimalgerüst für die Lokalisierung hat, sprich einen Ordner _locales mit dem Unterordner en-US und der entsprechenden messages.json darin sowie natürlich den erforderlichen JavaScript-Code. Der Entwickler von Web Paint scheint Chinese zu sein. Um so unverständlicher ist es für mich, dass ein Entwickler, dessen Muttersprache nicht Englisch ist, keine Lokalisierungsmöglichkeit anbietet. Es gibt Tausende von Sprachen auf dieser Welt und es gibt immer noch Leute, die glauben, andere Sprachen als Englisch ignorieren zu können.