# Compression Language Packs (Čeština) 🌐 **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) · 🇩🇰 [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) · 🇳🇱 [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) --- Komprese Caveman může kromě vestavěných pravidel pro angličtinu načítat také jazykově specifické balíčky pravidel. Díky tomu zůstává základní engine stabilní, zatímco balíčky pro portugalštinu, španělštinu, němčinu, francouzštinu, italštinu, japonštinu a budoucí jazyky se mohou vyvíjet nezávisle. ## Umístění Jazykové balíčky se nacházejí v: ```txt open-sse/services/compression/rules// ``` Aktuálně dodávané balíčky (ověřeno podle obsahu adresáře `rules/`): | Jazyk | Adresář | Přítomné kategorie pravidel | | ------------------------ | -------------- | --------------------------------------------------- | | Angličtina | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Španělština | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugalština (Brazílie) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonéština | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Italština | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Němčina | `rules/de/` | `context`, `filler`, `structural` | | Francouzština | `rules/fr/` | `context`, `filler`, `structural` | | Japonština | `rules/ja/` | `context`, `filler`, `structural` | > **Poznámka k paritě:** Balíčky `en`, `es`, `pt-BR`, `id` a `it` obsahují všech 5 kategorií; `de`, `fr` a `ja` se dodávají se 3 kategoriemi. Chybějící kategorie `dedup` a `ultra` automaticky a bez upozornění používají vestavěná anglická pravidla. Příspěvky, které do menších balíčků přidají soubory `dedup.json` a `ultra.json`, jsou vítány. > > Balíček `pt-BR` je založen na systému **[Troglodita](https://github.com/leninejunior/troglodita)** od Lenina Júniora — kompresním systému navrženém od základů pro gramatiku brazilské portugalštiny (redukce pleonasmů, odstraňování výplňových výrazů v PT-BR, technické zkratky pro brazilskou vývojářskou komunitu). > > Kanonický seznam kategorií a schéma jednotlivých kategorií se nacházejí v souboru [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema draft 2020-12). ## Detekce jazyka `languageDetector.ts` používá jednoduché heuristiky k odvození jazyka z textu promptu. Nakonfigurovaný výchozí jazyk je i nadále respektován a detekci lze v konfiguraci zakázat, pokud je vyžadována přesná kontrola. Výstup detekce slouží pouze k výběru balíčků pravidel. Nemění směrování k poskytovatelům, výběr locale ani jazyk uživatelského rozhraní. ## Struktura konfigurace Nastavení komprese může obsahovat: ```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` řídí výchozí nastavení dashboardu a náhledu. `cavemanConfig` je konfigurace enginu za běhu, která se používá, když Caveman komprimuje text zprávy. ## Přidání jazykového balíčku 1. Vytvořte `open-sse/services/compression/rules//.json`. 2. Použijte formát pravidel Caveman z dokumentu `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Náhrady nastavujte konzervativně a neměňte kód, identifikátory, adresy URL ani JSON. 4. Přidejte nebo aktualizujte testy pro výběr jazyka a chování náhrad. 5. Pokud se jazyk zobrazuje ve výběrech uživatelského rozhraní, zpřístupněte nové popisky pro řídicí panel/i18n. ## API Dostupné balíčky lze zjistit pomocí: ```bash curl http://localhost:20128/api/compression/language-packs ``` Koncový bod pro náhled přijímá přepsání konfigurace jazyka: ```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) Všech 6 jazykových balíčků obdrželo ve verzi v3.8.0 klauzuli `SHARED_BOUNDARIES`, která se používá při každé intenzitě Caveman (LITE, FULL, ULTRA). Dává enginu pokyn zachovat následující vzory beze změny bez ohledu na odstranění okolních výplňových výrazů: | Typ vzoru | Příklad | | ---------------------------------------- | -------------------------------------- | | Ohraničené bloky kódu | ` ```python\n...\n``` ` | | Kód v řádku | `` `my_var` `` | | Adresy URL | `https://example.com/path` | | Cesty k souborům (absolutní + relativní) | `/etc/hosts`, `./src/index.ts` | | Záhlaví chyb | `Error:`, `TypeError:`, `SyntaxError:` | | Řádky trasování zásobníku | ` at functionName (file.ts:12:3)` | Tyto vzory jsou uvedeny v `DEFAULT_CAVEMAN_CONFIG.preservePatterns` (dříve `[]`). Tato konstanta se nachází v `open-sse/services/compression/types.ts`. ### Proč je to důležité Bez SHARED_BOUNDARIES by agresivní režimy Caveman mohly odstranit obsah, který vypadal jako opakující se próza, ale ve skutečnosti šlo o úryvek kódu, cestu k souboru nebo zásobník chyby. SHARED_BOUNDARIES funguje jako bezpečnostní mechanismus nezávislý na jazyce, který se použije před spuštěním pravidel pro výplňové výrazy. ### Přizpůsobení preservePatterns Další vzory lze přidat za běhu prostřednictvím nastavení komprese: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Vlastní vzory rozšiřují (nenahrazují) 6 výchozích vzorů. --- ## Provozní poznámky - Pokud jazykový balíček chybí, jako záložní možnost se nadále používají vestavěná pravidla pro angličtinu. - Neplatné vestavěné balíčky JSON neprojdou validací, aby nedocházelo k nepozorovanému zhoršení kvality artefaktů vydání. - Balíčky pravidel obsahují pouze data a neměly by importovat kód ani spouštět libovolnou logiku. - Analytická vrstva komprese zaznamenává vybraný režim a engine, nikoli celý text výzvy.