Die Sortierung ergibt sich aus der Kombination der **alphabetischen Sortierung** auf jeder Ebene und der **Hierarchie** der Ordner. Prinzip „First Match Wins“, bestimmt durch die Lade-Reihenfolge die Priorität. Sie starten den von einem gemeinsamen Wurzelverzeichnis aus, das „de-DE“, „en-US“ und „plugins“ enthält. --- ## Allgemeine Sortier- und Prioritätsreihenfolge Die Ladereihenfolge (und damit die Priorität) ergibt sich in der Regel durch die alphabetische Sortierung der Ordner und Module auf jeder Ebene. ### 1. Globale Ordner-Ebene (Höchste Priorität) Die Ordner auf der obersten Ebene werden zuerst alphabetisch durchlaufen: | Ordner | Priorität | Bemerkung | | :--- | :--- | :--- | | `de-DE` | **1. Priorität** | Wird zuerst geladen. | | `en-US` | **2. Priorität** | Wird nach `de-DE` geladen. | | „Plugins“ | **3. Priorität** | Wird zuletzt geladen. | ### 2. Ladung der Kern-Regeln (de-DE und en-US) Die Regeln aus diesen Kern-Sprachordnern werden zuerst in die Liste `fuzzy_map_pre` eingefügt. ### 3. Ladung der Plug-in-Regeln (Niedrigere Priorität) Die Plug-ins kommen erst an dritter Stelle, da der Ordner „plugins“ alphabetisch nach „de-DE“ und „en-US“ kommt. Innerhalb des `plugins`-Ordners werden die Unterordner wieder alphabetisch durchlaufen: | Plug-in | Alphabetische Reihenfolge | | :--- | :--- | | `CCC_tue` | 1. Plug-in | | `digits_to_numbers` | 2. Plug-in | ### 4. Endgültige Prioritätskette für `FUZZY_MAP_pre` Der Ladevorgang sammelt *alle* Regeln, die in der letzten Liste gefunden wurden. Prioritätsreihenfolge: | Platz in „fuzzy_map_pre“ | Pfad zur Regel | Priorität | | :--- | :--- | :--- | | **1.** | `de-DE/FUZZY_MAP_pre.py` | **Höchste** (Basis-Sprachregeln) | | **2.** | `en-US/FUZZY_MAP_pre.py` | Hoch (Basis-Sprachregeln) | | **3.** | `plugins/CCC_tue/de-DE/FUZZY_MAP_pre.py` | Mittelhoch (Plugins werden alphabetisch sortiert, `CCC` kommt vor `digits`) | | **4.** | `plugins/digits_to_numbers/de-DE/FUZZY_MAP_pre.py` | Niedrig (Plugins werden alphabetisch sortiert) | --- ## Wichtig: Fokus auf die Sprache (Kontextabhängigkeit) Es wird nach der aktuellen aktiven Sprache gefiltert. Wenn Sie nur die Regeln für **Deutsch (`de-DE`)** laden, ergibt sich eine logischere Priorität, die Kernregeln höher bewertet als die Plugin-Regeln: 1. **Kern-Regeln:** `de-DE/FUZZY_MAP_pre.py` 2. **Plugin-Regeln (CCC):** `plugins/CCC_tue/de-DE/FUZZY_MAP_pre.py` 3. **Plugin-Regeln (Digits):** `plugins/digits_to_numbers/de-DE/FUZZY_MAP_pre.py` **Fazit zur Priorisierung:** * **Kern-Regeln** setzen sich gegen alle Plugins durch, da sie durch die alphabetische Sortierung der Ordner zuerst geladen werden. * **Plugins untereinander** werden streng alphabetisch nach dem Namen des Plugin-Ordners sortiert (`C` vor `D`). Das bedeutet, „CCC_tue“ hat eine höhere Priorität als „digits_to_numbers“.