Ich habe jetzt die Erweiterung mit dem SDK Version 1.15 gebaut. Das klappt in den Grundzügen ganz gut, und ein paar Dateien habe ich halt nachträglich bearbeitet. Aber mit der Sprachdateien klappt das alles nicht so ganz. Du sprichst in Beitrag 15 von einem Ordner namens "locales" es gibt aber nur den Ordner "locale" (evtl. ein Schreibfehler?) Ich habe einfach den Ordner "locale" genommen und die erste Sprachvariable wird auch geladen wenn ich sie in main.js definiere. Schön und gut, aber in einem en-us Firefox sollte ja die zweite Sprachvariable geladen werden... das ist doch der Sinn der ganzen Sache oder? Tut sie aber nicht
Sowohl in de.json als auch in en-US.json steht testweise drin:
{
"LABEL_1": "Quick Windows Foundation Codecs deutsch",
"LABEL_2": "Quick Windows Foundation Codecs englisch"
}
die main.js sieht so aus:
const {Cu} = require('chrome');
const widgets = require('sdk/widget');
const prefs = require('sdk/preferences/service');
const data = require('sdk/self').data;
const _ = require('sdk/l10n').get;
exports.main = function () {
let icon =
true === prefs.get('media.windows-media-foundation.enabled') ?
'enabled.png' : 'disabled.png'
widgets.Widget({
id: 'mwmf',
label: _('LABEL_1'),
contentURL: data.url(icon),
onClick: function() {
if (false === prefs.get('media.windows-media-foundation.enabled')) {
prefs.set('media.windows-media-foundation.enabled', true);
this.contentURL = data.url('enabled.png');
}
else {
prefs.set('media.windows-media-foundation.enabled', false);
this.contentURL = data.url('disabled.png');
}
}
});
};
Alles anzeigen
Aber jetzt kommt der Teil der mich absolut verzweifeln lässt.
Erstens weiß ich nicht an welche Stelle bei mir genau der Code
hin muss, geschweige denn wie ich den genau definiere. :traurig: also dass für Win halt der Schalter "media.windows-media-foundation.enabled" benutzt wird, für Linux der Schalter "media.gstreamer.enabled" und für mac möglicherweise wieder ein anderer Schalter (den ich nicht weiß). Dazu kommt dann auch noch, dass ich nicht weiß wie ich zwei Schalter gleichzeitig aktiviere/deaktiviere, da im Nightly die Erweiterung nur noch funktioniert wenn man gleichzeitig den Schalter "media.directshow.enabled" aktiviert/deaktiviert. Ich sitze nun schon ca 4h dran <:( wahrscheinlich liegt es daran dass mir halt doch die Grundkenntnisse bzgl. der wichtigesten Code Funktionen fehlen und die „Trial and Error“ -Methode halt auch irgendwann ihre Einschränkungen hat.