# Compression Language Packs (Nederlands) 🌐 **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) · 🇩🇪 [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) · 🇳🇴 [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-compressie kan naast de ingebouwde Engelse regels ook taalspecifieke regelpakketten laden. Hierdoor blijft de kernengine stabiel, terwijl pakketten voor Portugees, Spaans, Duits, Frans, Italiaans, Japans en toekomstige talen zich onafhankelijk kunnen ontwikkelen. ## Locatie Taalpakketten bevinden zich onder: ```txt open-sse/services/compression/rules// ``` Momenteel meegeleverde pakketten (geverifieerd aan de hand van de inhoud van de map `rules/`): | Taal | Map | Aanwezige regelcategorieën | | -------------------- | -------------- | --------------------------------------------------- | | Engels | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Spaans | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugees (Brazilië) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonesisch | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Italiaans | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Duits | `rules/de/` | `context`, `filler`, `structural` | | Frans | `rules/fr/` | `context`, `filler`, `structural` | | Japans | `rules/ja/` | `context`, `filler`, `structural` | > **Opmerking over gelijkwaardigheid:** de pakketten `en`, `es`, `pt-BR`, `id` en `it` bevatten alle 5 categorieën; `de`, `fr` en `ja` worden met 3 categorieën geleverd. Voor de ontbrekende categorieën `dedup` en `ultra` wordt zonder melding teruggevallen op de ingebouwde Engelse regels. Bijdragen om `dedup.json` en `ultra.json` aan de kleinere pakketten toe te voegen, zijn welkom. > > Het pakket `pt-BR` is gebaseerd op **[Troglodita](https://github.com/leninejunior/troglodita)** van Lenine Júnior — een compressiesysteem dat volledig vanaf nul is ontworpen voor de Braziliaans-Portugese grammatica (vermindering van pleonasmen, verwijdering van PT-BR-opvulwoorden en technische afkortingen voor de Braziliaanse ontwikkelaarsgemeenschap). > > De canonieke categorielijst en het schema per categorie zijn te vinden in [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema-conceptversie 2020-12). ## Taaldetectie `languageDetector.ts` gebruikt lichtgewicht heuristieken om de taal uit de prompttekst af te leiden. De geconfigureerde standaardtaal wordt nog steeds gerespecteerd en detectie kan via de configuratie worden uitgeschakeld wanneer nauwkeurige controle vereist is. De detectie-uitvoer wordt alleen gebruikt om regelpakketten te kiezen. Deze verandert niets aan de routering naar providers, de selectie van de landinstelling of de UI-taal. ## Configuratiestructuur Compressie-instellingen kunnen het volgende bevatten: ```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` bepaalt de standaardinstellingen voor het dashboard en de voorbeeldweergave. `cavemanConfig` is de runtimeconfiguratie van de engine die wordt gebruikt wanneer Caveman berichttekst comprimeert. ## Een taalpakket toevoegen 1. Maak `open-sse/services/compression/rules//.json`. 2. Gebruik de Caveman-regelindeling uit `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Houd vervangingen terughoudend en voorkom dat code, identifiers, URL's of JSON worden gewijzigd. 4. Voeg tests toe of werk tests bij voor taalselectie en vervangingsgedrag. 5. Maak nieuwe dashboard-/i18n-labels beschikbaar als de taal in UI-selectors voorkomt. ## API Beschikbare pakketten kunnen worden opgevraagd met: ```bash curl http://localhost:20128/api/compression/language-packs ``` Het preview-eindpunt accepteert overschrijvingen van de taalconfiguratie: ```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 taalpakketten hebben in v3.8.0 een `SHARED_BOUNDARIES`-clausule gekregen die op elke Caveman-intensiteit (LITE, FULL, ULTRA) wordt toegepast. Deze instrueert de engine om deze patronen letterlijk te behouden, ongeacht de verwijdering van omringende opvultekst: | Patroontype | Voorbeeld | | ----------------------------------- | -------------------------------------- | | Afgeschermde codeblokken | ` ```python\n...\n``` ` | | Inlinecode | `` `my_var` `` | | URL's | `https://example.com/path` | | Bestandspaden (absoluut + relatief) | `/etc/hosts`, `./src/index.ts` | | Foutkoppen | `Error:`, `TypeError:`, `SyntaxError:` | | Stacktraceregels | ` at functionName (file.ts:12:3)` | Deze patronen worden opgenomen in `DEFAULT_CAVEMAN_CONFIG.preservePatterns` (voorheen `[]`). De constante bevindt zich in `open-sse/services/compression/types.ts`. ### Waarom dit belangrijk is Zonder SHARED_BOUNDARIES konden agressieve Caveman-modi inhoud verwijderen die op herhalend proza leek, maar in werkelijkheid een codefragment, bestandspad of foutstack was. SHARED_BOUNDARIES fungeert als een taalonafhankelijk vangnet dat wordt toegepast voordat de regels voor opvultekst worden uitgevoerd. ### preservePatterns aanpassen Aanvullende patronen kunnen tijdens runtime via de compressie-instellingen worden toegevoegd: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Aangepaste patronen breiden de 6 standaardpatronen uit (ze vervangen deze niet). --- ## Operationele opmerkingen - Ingebouwde Engelse regels blijven de terugvaloptie wanneer een taalpakket ontbreekt. - Ongeldige ingebouwde JSON-pakketten doorstaan de validatie niet, zodat release-assets niet ongemerkt verslechteren. - Regelpakketten bevatten uitsluitend gegevens en mogen geen code importeren of willekeurige logica uitvoeren. - De analyse-laag voor compressie registreert de geselecteerde modus en engine, niet de volledige prompttekst.