# Compression Language Packs (Hrvatski) 🌐 **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) · 🇭🇺 [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 kompresija može učitati pakete pravila specifične za jezik uz ugrađena pravila za engleski. Time jezgreni mehanizam ostaje stabilan, dok se paketi za portugalski, španjolski, njemački, francuski, talijanski, japanski i buduće jezike mogu razvijati neovisno. ## Lokacija Jezični paketi nalaze se u: ```txt open-sse/services/compression/rules// ``` Trenutačno isporučeni paketi (provjereni prema sadržaju direktorija `rules/`): | Jezik | Direktorij | Prisutne kategorije pravila | | -------------------- | -------------- | --------------------------------------------------- | | Engleski | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Španjolski | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugalski (Brazil) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonezijski | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Talijanski | `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 usklađenosti:** Paketi `en`, `es`, `pt-BR`, `id` i `it` imaju svih 5 kategorija; `de`, `fr` i `ja` isporučuju se s 3 kategorije. Za nedostajuće kategorije `dedup` i `ultra` neprimjetno se koriste ugrađena pravila za engleski. Doprinosi za dodavanje datoteka `dedup.json` i `ultra.json` manjim paketima su dobrodošli. > > Paket `pt-BR` temelji se na sustavu **[Troglodita](https://github.com/leninejunior/troglodita)** autora Leninea Júniora — sustavu kompresije osmišljenom od temelja za gramatiku brazilskog portugalskog (smanjenje pleonazama, uklanjanje poštapalica specifičnih za PT-BR, tehničke kratice za brazilsku razvojnu zajednicu). > > Mjerodavni popis kategorija i shema za svaku kategoriju nalaze se u [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) (JSON Schema, nacrt 2020-12). ## Otkrivanje jezika `languageDetector.ts` koristi jednostavne heuristike za određivanje jezika iz teksta upita. Konfigurirani zadani jezik i dalje se poštuje, a otkrivanje se može onemogućiti konfiguracijom kada je potrebna potpuna kontrola. Rezultat otkrivanja koristi se samo za odabir paketa pravila. Ne mijenja usmjeravanje prema pružatelju, odabir lokalizacije ni jezik korisničkog sučelja. ## Struktura konfiguracije Postavke kompresije mogu sadržavati: ```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` upravlja zadanim postavkama nadzorne ploče i pretpregleda. `cavemanConfig` je konfiguracija izvršnog mehanizma koja se koristi kada Caveman komprimira tekst poruke. ## Dodavanje jezičnog paketa 1. Stvorite `open-sse/services/compression/rules//.json`. 2. Upotrijebite format pravila Caveman iz `docs/compression/COMPRESSION_RULES_FORMAT.md`. 3. Zamjene trebaju biti konzervativne i ne smiju mijenjati kôd, identifikatore, URL-ove ili JSON. 4. Dodajte ili ažurirajte testove za odabir jezika i ponašanje zamjena. 5. Izložite nove oznake nadzorne ploče/i18n ako se jezik pojavljuje u izbornicima korisničkog sučelja. ## API Dostupne pakete moguće je dohvatiti pomoću: ```bash curl http://localhost:20128/api/compression/language-packs ``` Krajnja točka za pretpregled prihvaća nadjačavanja jezične konfiguracije: ```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čnih paketa u verziji v3.8.0 dobilo je klauzulu `SHARED_BOUNDARIES`, koja se primjenjuje pri svakom intenzitetu Caveman (LITE, FULL, ULTRA). Ona nalaže pogonu da sačuva ove uzorke u izvornom obliku, bez obzira na uklanjanje okolnog suvišnog sadržaja: | Vrsta uzorka | Primjer | | ---------------------------------------- | -------------------------------------- | | Ograđeni blokovi kôda | ` ```python\n...\n``` ` | | Umetnuti kôd | `` `my_var` `` | | URL-ovi | `https://example.com/path` | | Putanje datoteka (apsolutne + relativne) | `/etc/hosts`, `./src/index.ts` | | Zaglavlja pogrešaka | `Error:`, `TypeError:`, `SyntaxError:` | | Retci praćenja stoga | ` at functionName (file.ts:12:3)` | Ti su uzorci uneseni u `DEFAULT_CAVEMAN_CONFIG.preservePatterns` (prethodno `[]`). Konstanta se nalazi u `open-sse/services/compression/types.ts`. ### Zašto je to važno Bez klauzule SHARED_BOUNDARIES agresivni načini rada Caveman mogli bi ukloniti sadržaj koji izgleda kao ponavljajući prozni tekst, ali je zapravo isječak kôda, putanja datoteke ili praćenje stoga pogreške. SHARED_BOUNDARIES djeluje kao sigurnosna mreža neovisna o jeziku koja se primjenjuje prije pravila za uklanjanje suvišnog sadržaja. ### Prilagodba preservePatterns Dodatni uzorci mogu se dodati tijekom izvođenja 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 uzorci proširuju (ne zamjenjuju) 6 zadanih uzoraka. --- ## Operativne napomene - Ugrađena pravila za engleski ostaju pričuvna opcija kada jezični paket nedostaje. - Nevaljani ugrađeni JSON paketi ne prolaze provjeru valjanosti kako se kvaliteta artefakata izdanja ne bi neprimjetno smanjila. - Paketi pravila sadržavaju samo podatke i ne bi trebali uvoziti kôd niti izvršavati proizvoljnu logiku. - Sloj analitike kompresije bilježi odabrani način rada i pogon, a ne puni tekst upita.