/** * German profanity dictionary. * Covers standard High German invective. Regional variants (Bavarian, * Austrian, Swiss German) are out of scope for this first cut. * * Normalization notes: * - The normalizer reduces umlauts to base letters (ä → a, ö → o, ü → u) * and ß → ss. Authentic German also allows digraph substitutes in ASCII * contexts (ä → ae, ö → oe, ü → ue), which the normalizer does NOT * collapse. Each umlaut-bearing entry therefore lists BOTH forms in * `normalized`: the accent-stripped form (for normalizer output) AND * the ASCII digraph form (for inputs typed without umlauts). * - Example: `möse` → normalized: ['mose', 'moese'] covers users typing * `möse`, `mose` (umlaut dropped), and `moese` (ASCII-safe digraph). * * Sources: * - LDNOOBW `de` list (CC-BY-4.0) — see NOTICES/LDNOOBW.md. * - Entries with known false-positive conflicts (`nackt` = neutral "naked", * `orgasmus`/`penis`/`porno` = clinical or mainstream, `rosette` = * decorative shape, `schiesser` = ambiguous with `Schießer` = shooter, * `mufti` = Islamic religious title) were deliberately excluded. */ import type { DictionaryEntry, PhraseEntry } from '../types.js'; export declare const DE_WORDS: DictionaryEntry[]; export declare const DE_PHRASES: PhraseEntry[];