# Compression Language Packs (Bosanski) 🌐 **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) · 🇨🇿 [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) · 🇳🇱 [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) --- # Jezički paketi za kompresiju Caveman kompresija može učitati jezički specifične pakete pravila pored ugrađenih engleskih pravila. Ovo održava osnovni mehanizam stabilnim, istovremeno omogućavajući portugalskom, španskom, njemačkom, francuskom, italijanskom, japanskom i budućim jezičkim paketima da se nezavisno razvijaju. ## Lokacija Jezički paketi se nalaze u: ```txt open-sse/services/compression/rules// ``` Trenutno isporučeni paketi (verifikovani prema sadržaju `rules/` direktorija): | Jezik | Direktorij | Prisutne kategorije pravila | | -------------------- | -------------- | --------------------------------------------------- | | Engleski | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Španski | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugalski (Brazil) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonežanski | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Italijanski | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Njemački | `rules/de/` | `context`, `filler`, `structural` | | Francuski | `rules/fr/` | `context`, `filler`, `structural` | | Japanski | `rules/ja/` | `context`, `filler`, `structural` | > **Napomena o paritetu:** Paketi `en`, `es`, `pt-BR`, `id` i `it` imaju svih 5 kategorija; `de`, `fr`, `ja` isporučuju 3 kategorije. Nedostajuće `dedup` i `ultra` kategorije se neprimjetno vraćaju na engleske ugrađene vrijednosti. Doprinosi za dodavanje `dedup.json` i `ultra.json` za manje pakete su dobrodošli. > > Paket `pt-BR` je zasnovan na **[Troglodita](https://github.com/leninejunior/troglodita)** autora Lenine Júnior — sistemu za kompresiju dizajniranom od nule za gramatiku brazilskog portugalskog (redukcija pleonazama, uklanjanje PT-BR poštapalica, tehničke skraćenice za BR programersku zajednicu). > > Kanonska lista kategorija i shema po kategorijama se nalaze u [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema draft 2020-12). ## Detekcija jezika `languageDetector.ts` koristi lagane heuristike za zaključivanje jezika iz teksta upita. Konfigurisani podrazumijevani jezik se i dalje poštuje, a detekcija se može onemogućiti putem konfiguracije kada je potrebna precizna kontrola. Izlaz detekcije se koristi samo za odabir paketa pravila. To ne mijenja rutiranje provajdera, odabir lokacije ili jezik korisničkog interfejsa. ## Oblik konfiguracije Postavke kompresije mogu uključivati: ```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` kontroliše podrazumijevane vrijednosti kontrolne table/pregleda. `cavemanConfig` je konfiguracija mehanizma za vrijeme izvršavanja koja se koristi kada Caveman komprimuje tekst poruke. ## Dodavanje jezičkog paketa 1. Kreirajte `open-sse/services/compression/rules//.json`. 2. Koristite Caveman format pravila iz `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Neka zamjene budu konzervativne i izbjegavajte mijenjanje koda, identifikatora, URL-ova ili JSON-a. 4. Dodajte ili ažurirajte testove za odabir jezika i ponašanje zamjene. 5. Izložite nove kontrolne ploče/i18n oznake ako se jezik pojavljuje u UI selektorima. ## API Dostupni paketi se mogu upitati sa: ```bash curl http://localhost:20128/api/compression/language-packs ``` Preview krajnja tačka (endpoint) prihvata nadjačavanja konfiguracije jezika: ```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) Svih 6 jezičkih paketa je dobilo `SHARED_BOUNDARIES` klauzulu u v3.8.0 koja se primjenjuje pri svakom Caveman intenzitetu (LITE, FULL, ULTRA). Ona instruiše mehanizam da sačuva ove obrasce doslovno, bez obzira na uklanjanje okolne ispune: | Tip obrasca | Primjer | | ---------------------------------------- | -------------------------------------- | | Ograđeni blokovi koda | ` ```python\n...\n``` ` | | Umetnuti kod | `` `my_var` `` | | URL-ovi | `https://example.com/path` | | Putanja datoteka (apsolutna + relativna) | `/etc/hosts`, `./src/index.ts` | | Zaglavlja grešaka | `Error:`, `TypeError:`, `SyntaxError:` | | Linije traga steka (stack trace) | ` at functionName (file.ts:12:3)` | Ovi obrasci su popunjeni u `DEFAULT_CAVEMAN_CONFIG.preservePatterns` (prethodno `[]`). Konstanta se nalazi u `open-sse/services/compression/types.ts`. ### Zašto je ovo važno Bez SHARED_BOUNDARIES, agresivni Caveman režimi bi mogli ukloniti sadržaj koji je izgledao kao ponavljajuća proza, ali je zapravo bio isječak koda, putanja datoteke ili stek grešaka. SHARED_BOUNDARIES djeluje kao sigurnosna mreža nezavisna od jezika koja se primjenjuje prije pokretanja pravila za uklanjanje ispune. ### Prilagođavanje preservePatterns Dodatni obrasci se mogu dodati tokom izvršavanja putem postavki kompresije: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Prilagođeni obrasci proširuju (ne zamjenjuju) 6 zadanih. --- ## Operativne napomene - Ugrađena pravila za engleski jezik ostaju rezervna opcija kada nedostaje jezički paket. - Nevažeći ugrađeni JSON paketi ne prolaze validaciju tako da se izdanja (release assets) ne degradiraju neprimjetno. - Paketi pravila su samo podaci i ne bi trebali uvoziti kod ili pokretati proizvoljnu logiku. - Sloj analitike kompresije bilježi odabrani režim i mehanizam, a ne puni tekst upita.