# Compression Language Packs (Dansk) 🌐 **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) · 🇩🇪 [de](../../../de/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) --- Caveman-komprimering kan indlæse sprogspecifikke regelpakker ud over de indbyggede engelske regler. Dette holder kernemotoren stabil, samtidig med at portugisiske, spanske, tyske, franske, italienske, japanske og fremtidige sprogpakker kan udvikles uafhængigt. ## Placering Sprogpakker findes under: ```txt open-sse/services/compression/rules// ``` Aktuelt leverede pakker (verificeret mod indholdet af mappen `rules/`): | Sprog | Mappe | Tilgængelige regelkategorier | | ----------------------- | -------------- | --------------------------------------------------- | | Engelsk | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Spansk | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugisisk (Brasilien) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonesisk | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Italiensk | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Tysk | `rules/de/` | `context`, `filler`, `structural` | | Fransk | `rules/fr/` | `context`, `filler`, `structural` | | Japansk | `rules/ja/` | `context`, `filler`, `structural` | > **Bemærkning om funktionsparitet:** Pakkerne `en`, `es`, `pt-BR`, `id` og `it` har alle 5 kategorier; `de`, `fr` og `ja` leveres med 3 kategorier. De manglende kategorier `dedup` og `ultra` falder automatisk tilbage til de indbyggede engelske regler. Bidrag til at føje `dedup.json` og `ultra.json` til de mindre pakker er velkomne. > > Pakken `pt-BR` er baseret på **[Troglodita](https://github.com/leninejunior/troglodita)** af Lenine Júnior — et komprimeringssystem, der er udviklet fra bunden til brasiliansk-portugisisk grammatik (reduktion af pleonasmer, fjernelse af fyldord på PT-BR og tekniske forkortelser til det brasilianske udviklerfællesskab). > > Den kanoniske kategoriliste og skemaet for hver kategori findes i [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema-udkast 2020-12). ## Sprogregistrering `languageDetector.ts` bruger simple heuristikker til at udlede sproget fra promptteksten. Det konfigurerede standardsprog respekteres stadig, og registrering kan deaktiveres via konfigurationen, når præcis kontrol er påkrævet. Registreringsresultatet bruges kun til at vælge regelpakker. Det ændrer ikke providerrouting, valg af landestandard eller brugergrænsefladens sprog. ## Konfigurationsstruktur Komprimeringsindstillinger kan indeholde: ```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` styrer standardindstillingerne for dashboardet og forhåndsvisningen. `cavemanConfig` er den konfiguration af kørselsmotoren, der bruges, når Caveman komprimerer meddelelsestekst. ## Tilføjelse af en sprogpakke 1. Opret `open-sse/services/compression/rules//.json`. 2. Brug Caveman-regelformatet fra `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Hold erstatningerne konservative, og undgå at ændre kode, identifikatorer, URL'er eller JSON. 4. Tilføj eller opdater tests for sprogvalg og erstatningsadfærd. 5. Tilføj nye dashboard-/i18n-etiketter, hvis sproget vises i UI-vælgere. ## API Tilgængelige pakker kan forespørges med: ```bash curl http://localhost:20128/api/compression/language-packs ``` Endpointet til forhåndsvisning accepterer tilsidesættelser af sprogkonfigurationen: ```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 sprogpakker fik tilføjet en `SHARED_BOUNDARIES`-klausul i v3.8.0, som anvendes ved hver Caveman-intensitet (LITE, FULL, ULTRA). Den instruerer motoren i at bevare disse mønstre ordret, uanset omgivende fjernelse af fyldord: | Mønstertype | Eksempel | | ------------------------------- | -------------------------------------- | | Indhegnede kodeblokke | ` ```python\n...\n``` ` | | Indlejret kode | `` `my_var` `` | | URL'er | `https://example.com/path` | | Filstier (absolutte + relative) | `/etc/hosts`, `./src/index.ts` | | Fejloverskrifter | `Error:`, `TypeError:`, `SyntaxError:` | | Staksporingslinjer | ` at functionName (file.ts:12:3)` | Disse mønstre udfyldes i `DEFAULT_CAVEMAN_CONFIG.preservePatterns` (tidligere `[]`). Konstanten findes i `open-sse/services/compression/types.ts`. ### Hvorfor dette er vigtigt Uden SHARED_BOUNDARIES kunne aggressive Caveman-tilstande fjerne indhold, der lignede gentagende prosa, men som faktisk var et kodestykke, en filsti eller en fejlstak. SHARED_BOUNDARIES fungerer som et sproguafhængigt sikkerhedsnet, der anvendes, før reglerne for fyldord køres. ### Tilpasning af preservePatterns Yderligere mønstre kan tilføjes under kørsel via komprimeringsindstillingerne: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Brugerdefinerede mønstre udvider (og erstatter ikke) de 6 standardmønstre. --- ## Driftsbemærkninger - De indbyggede engelske regler forbliver reserveløsningen, når en sprogpakke mangler. - Ugyldige indbyggede JSON-pakker består ikke valideringen, så udgivelsesartefakter ikke forringes ubemærket. - Regelpakker indeholder kun data og bør ikke importere kode eller køre vilkårlig logik. - Analysekomponenten for komprimering registrerer den valgte tilstand og motor, ikke den fulde prompttekst.