# Compression Language Packs (Deutsch) 🌐 **Languages:** 🇺🇸 [English](../../../../compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇪🇹 [am](../../../am/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇸🇦 [ar](../../../ar/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇦🇿 [az](../../../az/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇧🇬 [bg](../../../bg/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇧🇩 [bn](../../../bn/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇧🇦 [bs](../../../bs/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇨🇿 [cs](../../../cs/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇩🇰 [da](../../../da/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇬🇷 [el](../../../el/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇪🇸 [es](../../../es/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇪🇪 [et](../../../et/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇷 [fa](../../../fa/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇫🇮 [fi](../../../fi/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇫🇷 [fr](../../../fr/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇪 [ga](../../../ga/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [gu](../../../gu/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇳🇬 [ha](../../../ha/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇱 [he](../../../he/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [hi](../../../hi/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇭🇷 [hr](../../../hr/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇭🇺 [hu](../../../hu/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇦🇲 [hy](../../../hy/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇩 [id](../../../id/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇳🇬 [ig](../../../ig/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇹 [it](../../../it/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇯🇵 [ja](../../../ja/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇬🇪 [ka](../../../ka/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇰🇭 [km](../../../km/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [kn](../../../kn/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇰🇷 [ko](../../../ko/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇱🇹 [lt](../../../lt/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇱🇻 [lv](../../../lv/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [ml](../../../ml/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [mr](../../../mr/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇲🇾 [ms](../../../ms/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇲🇹 [mt](../../../mt/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇲🇲 [my](../../../my/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇳🇵 [ne](../../../ne/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇳🇱 [nl](../../../nl/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇳🇴 [no](../../../no/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [or](../../../or/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [pa](../../../pa/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇵🇭 [phi](../../../phi/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇵🇱 [pl](../../../pl/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇵🇹 [pt](../../../pt/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇷🇴 [ro](../../../ro/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇷🇺 [ru](../../../ru/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇱🇰 [si](../../../si/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇸🇰 [sk](../../../sk/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇸🇮 [sl](../../../sl/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇷🇸 [sr](../../../sr/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇸🇪 [sv](../../../sv/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇰🇪 [sw](../../../sw/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [ta](../../../ta/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇮🇳 [te](../../../te/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇹🇭 [th](../../../th/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇹🇷 [tr](../../../tr/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇵🇰 [ur](../../../ur/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇺🇿 [uz](../../../uz/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇻🇳 [vi](../../../vi/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇳🇬 [yo](../../../yo/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/compression/COMPRESSION_LANGUAGE_PACKS.md) --- Die Caveman-Komprimierung kann zusätzlich zu den integrierten englischen Regeln sprachspezifische Regelpakete laden. Dadurch bleibt die Kern-Engine stabil, während sich portugiesische, spanische, deutsche, französische, italienische, japanische und zukünftige Sprachpakete unabhängig voneinander weiterentwickeln können. ## Speicherort Sprachpakete befinden sich unter: ```txt open-sse/services/compression/rules// ``` Aktuell ausgelieferte Pakete (anhand der Inhalte des Verzeichnisses `rules/` überprüft): | Sprache | Verzeichnis | Vorhandene Regelkategorien | | ------------------------- | -------------- | --------------------------------------------------- | | Englisch | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Spanisch | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugiesisch (Brasilien) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonesisch | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Italienisch | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Deutsch | `rules/de/` | `context`, `filler`, `structural` | | Französisch | `rules/fr/` | `context`, `filler`, `structural` | | Japanisch | `rules/ja/` | `context`, `filler`, `structural` | > **Hinweis zur Parität:** Die Pakete `en`, `es`, `pt-BR`, `id` und `it` verfügen über alle 5 Kategorien; `de`, `fr` und `ja` werden mit 3 Kategorien ausgeliefert. Bei den fehlenden Kategorien `dedup` und `ultra` wird ohne Hinweis auf die integrierten englischen Regeln zurückgegriffen. Beiträge zum Hinzufügen von `dedup.json` und `ultra.json` für die kleineren Pakete sind willkommen. > > Das Paket `pt-BR` basiert auf **[Troglodita](https://github.com/leninejunior/troglodita)** von Lenine Júnior — einem von Grund auf für die brasilianisch-portugiesische Grammatik entwickelten Komprimierungssystem (Reduzierung von Pleonasmen, Entfernung von PT-BR-Füllwörtern, technische Abkürzungen für die brasilianische Entwickler-Community). > > Die kanonische Kategorienliste und das Schema für jede Kategorie befinden sich in [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON-Schema-Entwurf 2020-12). ## Spracherkennung `languageDetector.ts` verwendet einfache Heuristiken, um die Sprache aus dem Prompt-Text abzuleiten. Die konfigurierte Standardsprache wird weiterhin berücksichtigt, und die Erkennung kann über die Konfiguration deaktiviert werden, wenn eine exakte Steuerung erforderlich ist. Das Erkennungsergebnis wird ausschließlich zur Auswahl der Regelpakete verwendet. Es ändert weder das Provider-Routing noch die Auswahl der Locale oder die Sprache der Benutzeroberfläche. ## Konfigurationsstruktur Die Komprimierungseinstellungen können Folgendes enthalten: ```json { "languageConfig": { "enabled": true, "defaultLanguage": "en", "autoDetect": true, "enabledPacks": ["en", "pt-BR", "es", "id", "de", "fr", "ja"] }, "cavemanConfig": { "language": "en", "autoDetectLanguage": true, "enabledLanguagePacks": ["en", "pt-BR", "es", "id", "de", "fr", "ja"] } } ``` `languageConfig` steuert die Standardwerte für Dashboard und Vorschau. `cavemanConfig` ist die Konfiguration der Laufzeit-Engine, die verwendet wird, wenn Caveman Nachrichtentext komprimiert. ## Hinzufügen eines Sprachpakets 1. Erstellen Sie `open-sse/services/compression/rules//.json`. 2. Verwenden Sie das Caveman-Regelformat aus `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Halten Sie Ersetzungen konservativ und vermeiden Sie Änderungen an Code, Bezeichnern, URLs oder JSON. 4. Fügen Sie Tests für die Sprachauswahl und das Ersetzungsverhalten hinzu oder aktualisieren Sie diese. 5. Stellen Sie neue Dashboard-/i18n-Beschriftungen bereit, wenn die Sprache in UI-Auswahlelementen erscheint. ## API Verfügbare Pakete können wie folgt abgefragt werden: ```bash curl http://localhost:20128/api/compression/language-packs ``` Der Vorschau-Endpunkt akzeptiert Überschreibungen der Sprachkonfiguration: ```bash curl -X POST http://localhost:20128/api/compression/preview \ -H "Content-Type: application/json" \ -d '{ "mode": "standard", "text": "Por favor, eu gostaria que voce basicamente resumisse isso.", "config": { "languageConfig": { "defaultLanguage": "pt-BR", "autoDetect": true } } }' ``` ## SHARED_BOUNDARIES (v3.8.0) Alle 6 Sprachpakete erhielten in v3.8.0 eine `SHARED_BOUNDARIES`-Klausel, die bei jeder Caveman-Intensität (LITE, FULL, ULTRA) angewendet wird. Sie weist die Engine an, diese Muster unabhängig von der Entfernung umgebender Füllwörter unverändert beizubehalten: | Mustertyp | Beispiel | | ------------------------------ | -------------------------------------- | | Eingezäunte Codeblöcke | ` ```python\n...\n``` ` | | Inline-Code | `` `my_var` `` | | URLs | `https://example.com/path` | | Dateipfade (absolut + relativ) | `/etc/hosts`, `./src/index.ts` | | Fehlerüberschriften | `Error:`, `TypeError:`, `SyntaxError:` | | Stacktrace-Zeilen | ` at functionName (file.ts:12:3)` | Diese Muster sind in `DEFAULT_CAVEMAN_CONFIG.preservePatterns` hinterlegt (zuvor `[]`). Die Konstante befindet sich in `open-sse/services/compression/types.ts`. ### Warum dies wichtig ist Ohne SHARED_BOUNDARIES könnten aggressive Caveman-Modi Inhalte entfernen, die wie sich wiederholende Prosa aussehen, tatsächlich aber ein Codeausschnitt, ein Dateipfad oder ein Fehler-Stacktrace sind. SHARED_BOUNDARIES fungiert als sprachunabhängiges Sicherheitsnetz, das angewendet wird, bevor die Füllwortregeln ausgeführt werden. ### Anpassen von preservePatterns Zusätzliche Muster können zur Laufzeit über die Komprimierungseinstellungen hinzugefügt werden: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Benutzerdefinierte Muster erweitern die 6 Standardmuster, anstatt sie zu ersetzen. --- ## Betriebshinweise - Die integrierten englischen Regeln bleiben die Ausweichlösung, wenn ein Sprachpaket fehlt. - Ungültige integrierte JSON-Pakete führen dazu, dass die Validierung fehlschlägt, damit Release-Artefakte nicht unbemerkt beeinträchtigt werden. - Regelpakete enthalten ausschließlich Daten und sollten weder Code importieren noch beliebige Logik ausführen. - Die Komprimierungsanalyseschicht zeichnet den ausgewählten Modus und die Engine auf, nicht den vollständigen Prompt-Text.