WebExtension.Fragen()


  • Genau die habe ich genommen und [...]


    Achso, okay. Ja, mein Fehler... :roll:
    Ich habe bei Github auch die gepackte Extension eingestellt. Und wenn man da nun "Clone or download" klickt, wird der gesamte Inhalt als ZIP zum Download angeboten. Daran habe ich blöderweise nicht gedacht. Ich werde also die gepackte Extension da entfernen. Die ist ja in der Tat überflüssig. Sorry... :)





    History ist der Begriff, der im Englischen Firefox für das steht, was bei [...]


    Also ich habe mich da jetzt tatsächlich für "History" entschieden. Den Begriff kennen die Leute und im Informationstext steht beschrieben, das es sich hierbei um die kürzlich geschlossenen Tabs handelt. Das passt schon. Wenn das Probleme gibt, kann man es immer noch abändern. ;)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Also ich habe mich da jetzt tatsächlich für "History" entschieden. Den Begriff kennen die Leute und im Informationstext steht beschrieben, das es sich hierbei um die kürzlich geschlossenen Tabs handelt. Das passt schon.


    Nö, passt nicht. Firefox hat ein "Chonik"-/"History"-Menü. Rufe example.org in einem Tab auf und schließe diesen Tab nicht. Die Seite erscheint im Chronik-Menü, aber der Tab wurde überhaupt nicht geschlossen. Der Begriff "Chronik"/"History" ist in Firefox ganz klar festgelegt. Nur weil ich mein Fahrrad Motorrad nenne, bleibt es trotzdem ein Fahrrad und ich sollte es nicht als Motorrad verkaufen, denn die Leute wissen, was ein Motorrad ist und erwarten auch ein Motorrad, wenn Motorrad gesagt wird. ;)


  • Weder "Chronik" noch "Tabliste" treffen den Sinn von [...]


    "Chronik" bzw. "History" finde ich als Oberbegriff eigentlich schon okay. Denn wenn man auf den "Chronik"-Reiter wechselt, steht ja dann als Überschrift "Kürzlich geschlossene Tabs". Ich denke, das sollte Erklärung genug und ausreichend sein. :)
    Um bei deinem Beispiel zu bleiben: Auf dem Reiter würde dann meinetwegen "Zweirad" stehen und die Überschrift "Fahrrad" lauten.
    In dem Sinne denke ich mir das so... :wink:



    Was meinst du damit, dass du geänderte Dateien in ein Verzeichnis kopierst? Ich weiß ja nicht, wie genau dein Workflow ist, aber ich hoffe, du hast es nur schlecht beschrieben, denn es klingt falsch. :D


    Ich sag' doch, ich habe keinen Plan davon. :lol:
    Naja, ich nutze xampp und habe dort ganz normal mein Extension-Verzeichnis in htdocs drin.
    Und nach irgendwelchen Änderungen habe ich bisher die entsprechenden Files in den Repo-Ordner kopiert. Das wird von Sourcetree auch so erkannt. Ich könnte sicher auch direkt in dem Repo-Ordner arbeiten, aber ich habe da Bedenken, dass ich versehentlich irgendetwas lösche, weil ich ja weder von Sourcetree noch von Github gross den Plan habe. :P

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Was anderes nochmal.


    Ich hatte dir empfohlen, in der deutschen Version "Funktionen" statt "'Features" zu verwenden. Du hast daraufhin in der englischen Version "Features" in "Functions" geändert. Hier muss "Features" bleiben, "Functions" ist ein mehr technischer Begriff.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice und WordPress

  • Und was genau spricht gegen "kürzlich geschlossen"? Das ist nicht so extrem lang und wäre korrekt. Denn "Chronik" für kürzlich geschlossene Tabs ist halt schlicht und ergreifend falsch. Dann müssten offene Tabs dort auch angezeigt werden. ;)


    Zum Thema Git schreibe ich gerne bald mal ein paar Zeilen zusammen, falls du daran interessiert bist. Das geht sich zeitlich halt unter der Woche nur schwer aus, aber ist ja bald Wochenende.


    Zum Code noch ein Vorschlag:
    https://github.com/EffPeh/Tabs…er/content/content.js#L43


    Das HTML-Gerüst solltest du in eine HTML-Datei packen und das CSS darin in eine CSS-Datei, dann musst du dein generiertes HTML nur an die richtige Stelle einfügen. Oder gibt es einen Grund, wieso du das komplette HTML über JavaScript einfügst?


    In dem Zusammenhang wäre dann noch interessant, wieso du das HTML in der Datei überhaupt so generierst und dann mittels innerHTML einfügst, während du in https://github.com/EffPeh/Tabs…lob/master/popup/popup.js schön mit document.createElement() arbeitest. Geht das an der Stelle nicht anders?


    Mit innerHTML muss man nämlich vorsichtig sein. Wenn es anders geht, solltest du es anders machen, weil die unnötige Verwendung von innerHTML schnell zu einer Ablehnung auf AMO führt. Ist mir selbst schon passiert.


  • [...]Das Produkt muss ohne Anleitung verständlich sein. Ich spreche von Produkt, weil das nicht nur für Firefox-Erweiterungen gilt, sondern für alle Produkte. Ein gutes Design verursacht keine Fragen oder Unklarheiten.[...]


    Das sehe ich übrigens nicht so. Das kommt auch ein wenig auf die Komplexität an. Dem folgend, was du schreibst, wäre z.B. Sourcetree kein gutes Produkt, denn ohne Anleitung komme ich da nicht sehr weit. :wink:
    Aktuelles Beispiel: Ich möchte die Extension.zip auf Github löschen. Geht das aus Sourcetree heraus? Und wenn ja, wo bitte? Ist auch nicht sofort ersichtlich. (Die Frage ist jetzt nicht ernst gemeint. Nur als Beispiel. Ich finde es schon heraus. :) )
    Mal abgesehen von vielen Begriffen, die völlig nichtssagend sind für mich. Ich sag' nur "Blame für Ausgewählte..." :P




    Was anderes nochmal.


    Ich hatte dir empfohlen, in der deutschen Version "Funktionen" statt "'Features" zu verwenden. Du hast daraufhin in der englischen Version "Features" in "Functions" geändert. Hier muss "Features" bleiben, "Functions" ist ein mehr technischer Begriff.


    Okay, dankeschön - dann ändere ich das auch wieder. :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Das sehe ich übrigens nicht so. Das kommt auch ein wenig auf die Komplexität an. Dem folgend, was du schreibst, wäre z.B. Sourcetree kein gutes Produkt, denn ohne Anleitung komme ich da nicht sehr weit. :wink:


    Man muss immer den Kontext beachten. Die Leute, die deine Firefox-Erweiterung nutzen, kennen in der Regel Firefox. Die Leute, die Sourcetree nutzen, können in der Regel bereits mit Git umgehen. Ich habe für Soucetree auch nie eine Anleitung gebraucht, eben weil ich mit Git vorher schon über die Kommandozeile gearbeitet habe. Git hat nun einmal ein ganz bestimmtes Vokabular und für Git-Nutzer / Entwickler wäre es weniger optimal, würde Sourcetree nicht das Git-Vokabular verwenden. Und genau das schlage ich für deine Erweiterung zu: dich an das Firefox-Vokabular zu halten.


    Aktuelles Beispiel: Ich möchte die Extension.zip auf Github löschen. Geht das aus Sourcetree heraus? Und wenn ja, wo bitte? Ist auch nicht sofort ersichtlich. (Die Frage ist jetzt nicht ernst gemeint. Nur als Beispiel. Ich finde es schon heraus. :) )


    Du löschst die Datei ganz normal und committest dann diese Änderung genauso wie du alle anderen Änderungen (neue Dateien oder Änderungen an Dateien) auch committest. Ich kann wie gesagt zu einem anderen Zeitpunkt gerne mehr im Detail darauf eingehen.


    Mal abgesehen von vielen Begriffen, die völlig nichtssagend sind für mich. Ich sag' nur "Blame für Ausgewählte..." :P


    Sicher, wenn du mit Git nicht vertraut bist, sagen dir diese Begriffe natürlich nichts. Das grundlegende Vokabular wirst du aber lernen. Blame gehört dabei nicht einmal unbedingt zu den Dingen, die du brauchst. Dazulernen geht immer, aber sorgen wir erst einmal für die Grundlagen. ;)


  • Und was genau spricht gegen "kürzlich geschlossen"? Das ist nicht so extrem lang und wäre korrekt. Denn "Chronik" für kürzlich geschlossene Tabs ist halt schlicht und ergreifend falsch. Dann müssten offene Tabs dort auch angezeigt werden. ;)


    "Kürzlich geschlossen" ist mir persönlich zu lang. Ich mag es einfach nicht. Ich bestehe auf "Chronik". Meine Extension, meine Regel... :lol::P



    Zum Thema Git schreibe ich gerne bald mal ein paar Zeilen zusammen, falls du daran interessiert bist. Das geht sich zeitlich halt unter der Woche nur schwer aus, aber ist ja bald Wochenende.


    Aber gerne doch. Ich bin da wie ein Schwamm... :P



    Zum Code noch ein Vorschlag:
    https://github.com/EffPeh/Tabs…er/content/content.js#L43


    Das HTML-Gerüst solltest du in eine HTML-Datei packen und das CSS darin in eine CSS-Datei, dann musst du dein generiertes HTML nur an die richtige Stelle einfügen. Oder gibt es einen Grund, wieso du das komplette HTML über JavaScript einfügst?


    Das ist das HTML (plus CSS), das der Nutzer dann als File herunterladen kann. Ich lasse die Liste zwar auch auf der Seite anzeigen, aber in erster Linie ist es natürlich für den Download gedacht. Und irgendwie muss ich es doch zusammenschrauben. :)




    In dem Zusammenhang wäre dann noch interessant, wieso du das HTML in der Datei überhaupt so generierst und dann mittels innerHTML einfügst, während du in https://github.com/EffPeh/Tabs…lob/master/popup/popup.js schön mit document.createElement() arbeitest. Geht das an der Stelle nicht anders?


    Mit innerHTML muss man nämlich vorsichtig sein. Wenn es anders geht, solltest du es anders machen, weil die unnötige Verwendung von innerHTML schnell zu einer Ablehnung auf AMO führt. Ist mir selbst schon passiert.


    Hm. Ich verwende es hier, weil der Tag bereits im HTML besteht. Aber ich kann es natürlich auch ändern, wenn das für AMO problematisch ist. :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • > Das ist das HTML (plus CSS), das der Nutzer dann als File herunterladen kann. Ich lasse die Liste zwar auch auf der Seite anzeigen, aber in erster Linie ist es natürlich für den Download gedacht. Und irgendwie muss ich es doch zusammenschrauben.


    Okay, so genau habe ich es mir nicht angeschaut. In dem Fall wäre eine externe CSS-Datei vermutlich weniger ideal. Für mich wäre das halt von der Wartbarkeit her schwierig, wenn das so eine Riesen-Zeile ist, aber das musst du wissen, ob du da was optimieren willst. ;)


    > Hm. Ich verwende es hier, weil der Tag bereits im HTML besteht. Aber ich kann es natürlich auch ändern, wenn das für AMO problematisch ist. :)


    Ich würde es zumindest empfehlen, ansonsten kannst du es aber auch drauf ankommen lassen und es einfach, wie es ist, auf AMO hochladen und abwarten. Der Grund, wieso Mozilla (bzw. in deren Auftrag die Reviewer) innerHTML so ungerne siehst, ist primär, dass es unsicher ist. Sobald es user generated content gibt und du als Entwickler nicht die volle Kontrolle über den Inhalt hast, der per innerHTML eingefügt wird, ist die Wahrscheinlichkeit für eine Ablehnung hoch.


    Es kann aber auch Fälle geben, wo es anders einfach nicht geht. Beispiel New Tab Override, das Feature, eine lokale Datei hochzuladen. Das ist user generated content und es besteht technisch keine andere Möglichkeit, der Nutzer muss dafür außerdem selbst eine Datei auswählen und möchte den Inhalt dieser Datei ausführen. Bei AMO habe ich beim Upload das in das Feld für die Anmerkungen geschrieben, damit die Reviewer den Hintergrund verstehen (darauf kommt man ja nicht unbedingt, wenn man nicht selbst der Entwickler ist, da sieht man dann nur, dass innerHTML verwendet wird), und das war dann auch kein Problem.

  • In Zeile 228 der englischen messages.json ist ein kleiner Schreibfehler: Da steht "HHint" statt "Hint". Zu Schreibmaschinenzeiten hätte man gesagt, "die Taste ist gesprungen". :-)


    Abgesehen davon: Ich halte "Note:" hier für besser.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice und WordPress

  • Zum Thema Git schreibe ich gerne bald mal ein paar Zeilen zusammen, falls du daran interessiert bist. Das geht sich zeitlich halt unter der Woche nur schwer aus, aber ist ja bald Wochenende.


    Ich hänge mich hier mal ganz kurz an: JA BITTE!


    Git ist zwar scheinbar ganz praktisch, aber ich sehe nicht so ganz wie das mit meiner Arbeitsweise zusammen kommt. Also wenn da jemand ein paar Tipps hätte oder einen Link.. :)


  • Okay, so genau habe ich es mir nicht angeschaut. In dem Fall wäre [...]


    Naja, so viel gibt es da eigentlich nicht zu warten. Ist nur die eine Zeile, praktisch ein HTML-Grundgerüst, und das wird sich auch nicht so schnell ändern, schätze ich. :)



    > Hm. Ich verwende es hier, weil der Tag bereits im HTML besteht. Aber ich kann es natürlich auch ändern, wenn das für AMO problematisch ist. :)


    Ich würde es zumindest empfehlen, ansonsten kannst du es aber auch drauf ankommen lassen und [...]


    Wie gesagt, das lässt sich wahrscheinlich auch anders lösen. Wobei mir nicht so ganz klar ist, warum innerHTML jetzt "böse" ist, ich aber mit appendChild doch praktisch genau das gleiche mache. Wo liegt da nun der Unterschied? In beiden Fällen wird HTML eingefügt... :?



    In Zeile 228 der englischen messages.json ist ein kleiner Schreibfehler: Da steht "HHint" statt "Hint". Zu Schreibmaschinenzeiten hätte man gesagt, "die Taste ist gesprungen". :-)


    Abgesehen davon: Ich halte "Note:" hier für besser.


    Ich nehme das in die To-Do-Liste auf. Dankeschön... :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Wie gesagt, das lässt sich wahrscheinlich auch anders lösen. Wobei mir nicht so ganz klar ist, warum innerHTML jetzt "böse" ist, ich aber mit appendChild doch praktisch genau das gleiche mache. Wo liegt da nun der Unterschied? In beiden Fällen wird HTML eingefügt... :?


    https://developer.mozilla.org/…ernal_content_into_a_page


    Siehe vor allem Text unter dem grünen und unter dem roten Beispiel unter "DOM node creation methods". ;)


    Man nennt diese mögliche Sicherheitslücke Cross Site Scripting, oder kurz: XSS:
    https://de.wikipedia.org/wiki/Cross-Site-Scripting


    Das kann nicht passieren, wenn du Elemente mit document.createElement() erzeugst, Text-Inhalte via el.textContent angibst und diese dann in das DOM einfügst.

  • Ich muss dir nochmal auf die Nerven gehen.


    In der englischen messages.json steht noch zweimal "key combinations", also der Plural statt der Singular.


    Als Vorschlag: Ich würde eher "keyboard shortcut" statt "key combination" verwenden. Ich kann mich täuschen, aber mir scheint "keyboard shortcut" üblicher.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice und WordPress


  • [...]


    Ach, schau an. Das war mir auch nicht bewusst. Und wieder was gelernt... ;)
    Na, dann sehe ich mal zu, ob und wie ich das änderen kann und schreibe vielleicht trotzdem noch was dazu in das Feld für die Anmerkungen. Nur um sicher zu gehen... ;)



    Ich muss dir nochmal auf die Nerven gehen.


    In der englischen messages.json steht noch zweimal "key combinations", also der Plural statt der Singular.


    Als Vorschlag: Ich würde eher "keyboard shortcut" statt "key combination" verwenden. Ich kann mich täuschen, aber mir scheint "keyboard shortcut" üblicher.


    Du gehst mir nicht auf die Nerven. :)
    Ich habe doch darum gebeten und bin froh, das sich jemand kompetent damit auseinandersetzt. :klasse:
    Vorschlag angenommen. ;)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Das muss dann "With this keyboard shortcut" statt "With these keyboard combination" heissen, schätze ich. :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Sehr schön, danke. Es kommt sicherlich auch nichts mehr, denn die obersorbische Übersetzung ist fertig. ;-)

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice und WordPress


  • Sehr schön, danke. Es kommt sicherlich auch nichts mehr, denn die obersorbische Übersetzung ist fertig. ;-)


    Wie jetzt? Du hast jetzt nicht wirklich für die Extension extra eine Übersetzung erstellt, oder?... :)

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

  • Natürlich und die zweite ist schon in Arbeit. Man muss ja schließlich an die Zukunft denken. :-D

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice und WordPress

  • Echt? Ja, wie geil ist das denn?... :D
    Na, dann mal ein richtig fettes Dankeschön an dich. :):klasse:
    Ich werde wohl noch eine Rubrik "Danksagungen" bei den Infos einfügen... :lol:

    Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)