# Compression Language Packs (Eesti) 🌐 **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) · 🇮🇷 [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) --- Cavemani tihendus saab lisaks sisseehitatud inglise keele reeglitele laadida keelespetsiifilisi reeglipakette. See hoiab põhimootori stabiilsena, võimaldades samal ajal portugali, hispaania, saksa, prantsuse, itaalia, jaapani ja tulevastel keelepakettidel iseseisvalt areneda. ## Asukoht Keelepaketid asuvad kataloogis: ```txt open-sse/services/compression/rules// ``` Praegu tarnitavad paketid (kontrollitud kataloogi `rules/` sisu põhjal): | Keel | Kataloog | Olemasolevad reeglikategooriad | | --------------------- | -------------- | --------------------------------------------------- | | Inglise | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Hispaania | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugali (Brasiilia) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indoneesia | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Itaalia | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Saksa | `rules/de/` | `context`, `filler`, `structural` | | Prantsuse | `rules/fr/` | `context`, `filler`, `structural` | | Jaapani | `rules/ja/` | `context`, `filler`, `structural` | > **Võrdväärsuse märkus:** pakettidel `en`, `es`, `pt-BR`, `id` ja `it` on kõik 5 kategooriat; paketid `de`, `fr` ja `ja` sisaldavad 3 kategooriat. Puuduvate kategooriate `dedup` ja `ultra` puhul kasutatakse märkamatult inglise keele sisseehitatud reegleid. Väiksematele pakettidele failide `dedup.json` ja `ultra.json` lisamiseks on kaastööd teretulnud. > > Pakett `pt-BR` põhineb Lenine Júniori loodud süsteemil **[Troglodita](https://github.com/leninejunior/troglodita)** — see on Brasiilia portugali keele grammatika jaoks nullist loodud tihendussüsteem (pleonasmide vähendamine, PT-BR täitesõnade eemaldamine, tehnilised lühendid Brasiilia arendajate kogukonnale). > > Kanooniline kategooriate loend ja iga kategooria skeem asuvad failis [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema mustandi versioon 2020-12). ## Keele tuvastamine `languageDetector.ts` kasutab viiba teksti keele määramiseks lihtsaid heuristikaid. Seadistatud vaikekeelt arvestatakse endiselt ning täpse juhtimise vajaduse korral saab tuvastamise konfiguratsioonis keelata. Tuvastamise väljundit kasutatakse ainult reeglipakettide valimiseks. See ei muuda teenusepakkuja marsruutimist, lokaadi valikut ega kasutajaliidese keelt. ## Konfiguratsiooni struktuur Tihendussätted võivad sisaldada järgmist: ```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` juhib töölaua/eelvaate vaikesätteid. `cavemanConfig` on käitusaegse mootori konfiguratsioon, mida kasutatakse siis, kui Caveman tihendab sõnumi teksti. ## Keelepaketi lisamine 1. Looge `open-sse/services/compression/rules//.json`. 2. Kasutage Cavemani reeglivormingut, mida kirjeldatakse failis `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Hoidke asendused konservatiivsed ning vältige koodi, identifikaatorite, URL-ide või JSON-i muutmist. 4. Lisage või värskendage keelevaliku ja asenduskäitumise teste. 5. Lisage uued töölaua/i18n-i sildid, kui keel kuvatakse kasutajaliidese valikutes. ## API Saadaolevaid pakette saab pärida järgmiselt: ```bash curl http://localhost:20128/api/compression/language-packs ``` Eelvaate lõpp-punkt aktsepteerib keelekonfiguratsiooni alistusi: ```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) Kõigile kuuele keelepaketile lisati versioonis v3.8.0 klausel `SHARED_BOUNDARIES`, mida rakendatakse igal Cavemani intensiivsustasemel (LITE, FULL, ULTRA). See juhendab mootorit säilitama järgmised mustrid muutmata kujul, olenemata ümbritsevate täitesõnade eemaldamisest: | Mustri tüüp | Näide | | ------------------------------------ | -------------------------------------- | | Piiratud koodiplokid | ` ```python\n...\n``` ` | | Reasisene kood | `` `my_var` `` | | URL-id | `https://example.com/path` | | Failiteed (absoluutsed + suhtelised) | `/etc/hosts`, `./src/index.ts` | | Veapäised | `Error:`, `TypeError:`, `SyntaxError:` | | Pinujälje read | ` at functionName (file.ts:12:3)` | Need mustrid määratakse väljal `DEFAULT_CAVEMAN_CONFIG.preservePatterns` (varem `[]`). Konstant asub failis `open-sse/services/compression/types.ts`. ### Miks see oluline on Ilma klauslita SHARED_BOUNDARIES võivad agressiivsed Cavemani režiimid eemaldada sisu, mis näib korduva proosana, kuid on tegelikult koodilõik, failitee või veapinu. SHARED_BOUNDARIES toimib keelest sõltumatu kaitsemehhanismina, mida rakendatakse enne täitesõnade reegleid. ### preservePatterns-i kohandamine Täiendavaid mustreid saab käitusajal lisada tihendussätete kaudu: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Kohandatud mustrid laiendavad kuut vaikemustrit, mitte ei asenda neid. --- ## Kasutusalased märkused - Kui keelepakett puudub, kasutatakse endiselt ingliskeelseid sisseehitatud reegleid. - Vigased sisseehitatud JSON-paketid ei läbi valideerimist, et väljalaske ressursid märkamatult ei halveneks. - Reeglipaketid sisaldavad ainult andmeid ega tohiks importida koodi ega käitada suvalist loogikat. - Tihendamise analüütikakiht salvestab valitud režiimi ja mootori, mitte viiba täisteksti.