Eine Firefox-Erweiterung, die künstlich gegenderte Formen auf Webseiten durch
natürliches Deutsch ersetzt – z. B. Ärzt:innen → Ärzte, Lehrer*innen → Lehrer,
jede:r → jeder. Natürliche Formen (Ärztin, Lehrerinnen, meine Freundinnen)
bleiben immer unangetastet.
Die Erweiterung arbeitet vollständig lokal. Die einzige optionale Netzanfrage ist ein Lookup auf de.wiktionary.org, um seltene Pluralformen korrekt aufzulösen (siehe Datenschutz).
- Viele Marker:
:,*,·,•,‧,∙,⋅,⋆,_,/(z. B.Mieter:innen,Mieter*innen,Mieter_innen). - Singular & Plural:
Ärzt:in→Ärztin,Ärzt:innen→Ärzte. - Binnen-I:
LehrerInnen→Lehrer,BürgerIn→Bürger. - Klammerformen:
Lehrer(innen)→Lehrer,Bürger(in)→Bürger. - Adjektiv-/Pronomenformen:
jede:r→jeder,ein:e→ein,jeder:m→jedem. - Dativ-Plural (konservativ):
nach Förder:innen→nach Förderern,mit Lehrer:innen→mit Lehrern(nur bei eindeutigem Auslöser, siehe bekannte Einschränkungen). - Artikel-Kongruenz im Singular:
Die Kolleg:in→Der Kollege,Eine Mitarbeiter:in→Ein Mitarbeiter(nur bei großgeschriebenem Determinativ am Satzanfang). - Genus-Kürzel:
Mitarbeiter (m/w/d)→Mitarbeiter. - Indefinitpronomen:
mensch/frau(als Ersatz für „man") →man. - Komposita:
Bewegungsaktivist*innen→Bewegungsaktivisten,Lehrer*Innenzimmer→Lehrerzimmer. - Lexikon + Wiktionary: ein eingebautes Lexikon häufiger Personenbezeichnungen, ergänzt um einen optionalen Wiktionary-Lookup für seltenere Wörter.
- Vollständige Seitenabdeckung: Textknoten, Attribute (
title,alt,aria-label…),<meta>-Tags, Seitentitel, JSON-LD, SVG-Text und Shadow DOM. Dynamisch nachgeladene Inhalte werden über einenMutationObservermitverarbeitet. - Schont Eingaben:
input,textareaundcontenteditablewerden nie verändert.
| Vorher | Nachher |
|---|---|
Liebe Kolleg:innen |
Liebe Kollegen |
Ärzt:innen und Patient*innen |
Ärzte und Patienten |
jede:r Einzelne |
jeder Einzelne |
die Sklav*innen |
die Sklaven |
könnte mensch sagen |
könnte man sagen |
- Repository klonen oder als ZIP herunterladen.
- In Firefox
about:debugging#/runtime/this-firefoxöffnen. - „Temporäres Add-on laden…" klicken und die
manifest.jsonauswählen.
Die Erweiterung bleibt bis zum nächsten Firefox-Neustart aktiv.
npm install
npm start # startet Firefox mit geladener Erweiterung (Live-Reload)Über das Symbol in der Symbolleiste öffnet sich das Popup:
- Ein/Aus-Schalter für die gesamte Erweiterung.
- Ausschlussliste: einzelne Domains von der Verarbeitung ausnehmen – entweder die aktuelle Seite per Klick oder eine Domain manuell hinzufügen.
- Debug-Modus: protokolliert jede Ersetzung in der Browser-Konsole (F12).
- Ein zusammengesetztes Vorfilter-Regex (
reAnyGenderPattern) prüft schnell, ob ein Textknoten überhaupt eine gegenderte Form enthält. - Trifft das zu, laufen spezialisierte Regex-Muster (Singular, Plural, Binnen-I, Klammern, Adjektivformen …) nacheinander über den Text.
- Der erkannte Wortstamm wird aufgelöst – zuerst über den Wiktionary-Cache, dann
über das eingebaute
LEXICON, zuletzt über regelbasierte Pluralbildung. - Komposita werden vom Wortende her am längsten passenden Stamm zerlegt
(
Sozialarbeiter→Sozial+arbeiter). - Groß-/Kleinschreibung des Originals wird übernommen (
preserveCase).
Der gesamte relevante Code steckt in nogender.js; das Popup in
popup.html/popup.js.
Voraussetzung: Node.js ≥ 18.
npm install # Dev-Abhängigkeiten (ESLint, web-ext)
npm test # Testsuite (Node-Test-Runner, ohne Netz/Browser)
npm run lint # ESLint
npm run lint:ext # web-ext lint (Manifest-/Store-Prüfung)
npm run build # signierfertiges ZIP unter web-ext-artifacts/Die Testsuite (test/normalize.test.js) lädt nogender.js direkt und prüft die reine
Normalisierungslogik. Im Browser-Kontext bootet die Datei wie gewohnt; unter Node
exportiert sie ihre reinen Funktionen (per module.exports), ohne Browser-APIs
anzufassen.
manifest.json WebExtension-Manifest (MV2, Firefox)
nogender.js Content-Script – die gesamte Ersetzungslogik
popup.html/.js Bedienoberfläche (Ein/Aus, Ausschlussliste, Debug)
test/ Testsuite (Node-Test-Runner)
icons/ Symbole
CHANGELOG.md Versionshistorie
- Es werden keine personenbezogenen Daten erhoben, gespeichert oder übertragen.
- Einstellungen liegen ausschließlich lokal in
browser.storage.local. - Die einzige ausgehende Anfrage geht an die öffentliche API von
de.wiktionary.org, um Beugungsformen unbekannter Wörter nachzuschlagen. Übertragen wird dabei nur das nachzuschlagende Wort (kein Bezug zur besuchten Seite). Ergebnisse werden für die Sitzung zwischengespeichert.
Beiträge sind willkommen. Für den Einstieg eignen sich besonders:
- Lexikon erweitern: weitere Personenbezeichnungen in
LEXICONergänzen. Wichtig: Schlüssel ist immer der gegenderte Stamm (ohne End-e), z. B.kollegfür „Kollege"/„Kolleg:innen", nichtkollege.
Bitte vor einem Pull Request npm test und npm run lint ausführen und neue Fälle
mit Tests absichern.
- Kasus-Erkennung nur teilweise: Erkannt wird der Dativ Plural bei eindeutigen
Auslösern (Dativ-Präpositionen,
den+ Plural). Nicht behandelt werden Wechselpräpositionen (in/an/auf…, mehrdeutig Dativ/Akkusativ), verbregierter Dativ (hilft den …:innen), Dativ Singular und Genitiv – dort bleibt es beim Nominativ. In Aufzählungen erhält nur das erste Glied direkt nach dem Auslöser den Dativ (von Lehrern, Schüler und Eltern). - Artikel-Kongruenz nur am Satzanfang: Der feminine Artikel wird nur an das
Maskulinum angepasst, wenn er großgeschrieben direkt vor der Singularform steht
(
Die Kolleg:in→Der Kollege). Kleingeschrieben mitten im Satz (die Kolleg:in, mehrdeutig Nom./Akk.) bleibt der Artikel unverändert; ein dazwischenstehendes Adjektiv (Die neue Kolleg:in) wird nicht mitdekliniert. mensch/frau→man: nur kleingeschrieben; durchgängig kleingeschriebenesfrauim Substantiv-Sinn kann fälschlich mit-ersetzt werden.
GNU General Public License v3.0 oder später (GPL-3.0-or-later).
Beugungsformen stammen aus dem deutschsprachigen Wiktionary, dessen Inhalte unter CC BY-SA stehen.