# Compression Language Packs (Oʻzbekcha) 🌐 **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) · 🇳🇱 [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) · 🇻🇳 [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 siqish tizimi ichki ingliz tili qoidalariga qoʻshimcha ravishda muayyan tillarga xos qoidalar paketlarini yuklay oladi. Bu asosiy mexanizmni barqaror saqlagan holda portugal, ispan, nemis, fransuz, italyan, yapon va kelajakdagi til paketlarining mustaqil rivojlanishiga imkon beradi. ## Joylashuv Til paketlari quyidagi manzilda joylashadi: ```txt open-sse/services/compression/rules// ``` Hozir taqdim etilayotgan paketlar (`rules/` katalogi tarkibiga nisbatan tekshirilgan): | Til | Katalog | Mavjud qoida toifalari | | -------------------- | -------------- | --------------------------------------------------- | | Ingliz | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Ispan | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Portugal (Braziliya) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Indonez | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Italyan | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | Nemis | `rules/de/` | `context`, `filler`, `structural` | | Fransuz | `rules/fr/` | `context`, `filler`, `structural` | | Yapon | `rules/ja/` | `context`, `filler`, `structural` | > **Tenglik haqida eslatma:** `en`, `es`, `pt-BR`, `id` va `it` paketlarida barcha 5 ta toifa mavjud; `de`, `fr`, `ja` paketlari esa 3 ta toifa bilan taqdim etiladi. Mavjud boʻlmagan `dedup` va `ultra` toifalari bildirishsiz ichki ingliz qoidalariga qaytadi. Kichikroq paketlarga `dedup.json` va `ultra.json` fayllarini qoʻshish boʻyicha hissalar qabul qilinadi. > > `pt-BR` paketi Lenine Júnior tomonidan yaratilgan **[Troglodita](https://github.com/leninejunior/troglodita)** loyihasiga asoslangan — bu Braziliya portugal tili grammatikasi uchun noldan ishlab chiqilgan siqish tizimi (pleonazmlarni kamaytirish, PT-BR tilidagi ortiqcha soʻzlarni olib tashlash, Braziliya dasturchilar hamjamiyati uchun texnik qisqartmalar). > > Asosiy toifalar roʻyxati va har bir toifa sxemasi [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) faylida joylashgan (JSON Schema draft 2020-12). ## Tilni aniqlash `languageDetector.ts` prompt matnidan tilni aniqlash uchun yengil evristikalardan foydalanadi. Sozlangan standart tilga hamon amal qilinadi va aniq boshqaruv zarur boʻlganda aniqlashni konfiguratsiya orqali oʻchirib qoʻyish mumkin. Aniqlash natijasi faqat qoidalar paketlarini tanlash uchun ishlatiladi. U provayderga yoʻnaltirishni, lokal sozlamalarni tanlashni yoki interfeys tilini oʻzgartirmaydi. ## Konfiguratsiya tuzilishi Siqish sozlamalari quyidagilarni oʻz ichiga olishi mumkin: ```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` boshqaruv paneli/oldindan koʻrish uchun standart sozlamalarni boshqaradi. `cavemanConfig` esa Caveman xabar matnini siqishda foydalanadigan bajarilish vaqti mexanizmi konfiguratsiyasidir. ## Til paketini qoʻshish 1. `open-sse/services/compression/rules//.json` faylini yarating. 2. `docs/compression/COMPRESSION_RULES_FORMAT.md` faylidagi Caveman qoidalari formatidan foydalaning. 3. Almashtirishlarni ehtiyotkorlik bilan bajaring va kod, identifikatorlar, URL manzillar yoki JSONʼni oʻzgartirmang. 4. Tilni tanlash va almashtirish xatti-harakati uchun testlarni qoʻshing yoki yangilang. 5. Agar til UI tanlagichlarida koʻrsatilsa, yangi boshqaruv paneli/i18n yorliqlarini taqdim eting. ## API Mavjud paketlarni quyidagi soʻrov orqali olish mumkin: ```bash curl http://localhost:20128/api/compression/language-packs ``` Koʻrib chiqish endpointi til konfiguratsiyasini qayta belgilashni qabul qiladi: ```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) v3.8.0 versiyasida barcha 6 ta til paketiga har bir Caveman intensivligida (LITE, FULL, ULTRA) qoʻllanadigan `SHARED_BOUNDARIES` bandi qoʻshildi. U mexanizmga atrofdagi toʻldiruvchi matn olib tashlanishidan qatʼi nazar, ushbu andozalarni aynan saqlab qolishni buyuradi: | Andoza turi | Misol | | ------------------------------- | -------------------------------------- | | Chegaralangan kod bloklari | ` ```python\n...\n``` ` | | Satr ichidagi kod | `` `my_var` `` | | URL manzillar | `https://example.com/path` | | Fayl yoʻllari (mutlaq + nisbiy) | `/etc/hosts`, `./src/index.ts` | | Xatolik sarlavhalari | `Error:`, `TypeError:`, `SyntaxError:` | | Stek izi satrlari | ` at functionName (file.ts:12:3)` | Bu andozalar `DEFAULT_CAVEMAN_CONFIG.preservePatterns` ichiga joylashtiriladi (avval `[]` edi). Konstanta `open-sse/services/compression/types.ts` faylida joylashgan. ### Bu nima uchun muhim SHARED_BOUNDARIES boʻlmasa, agressiv Caveman rejimlari takroriy nasriy matnga oʻxshagan, lekin aslida kod parchasi, fayl yoʻli yoki xatolik steki boʻlgan kontentni olib tashlashi mumkin edi. SHARED_BOUNDARIES toʻldiruvchi matn qoidalari ishga tushishidan oldin qoʻllanadigan, tilga bogʻliq boʻlmagan himoya mexanizmi vazifasini bajaradi. ### preservePatternsʼni moslashtirish Siqish sozlamalari orqali ish vaqtida qoʻshimcha andozalarni qoʻshish mumkin: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` Maxsus andozalar 6 ta standart andozani kengaytiradi (almashtirmaydi). --- ## Ishlatishga oid eslatmalar - Til paketi mavjud boʻlmaganda, ichki ingliz tili qoidalari zaxira variant sifatida ishlatiladi. - Notoʻgʻri ichki JSON paketlari tekshiruvdan oʻtmaydi, shuning uchun reliz resurslari yashirin tarzda yomonlashmaydi. - Qoida paketlari faqat maʼlumotlardan iborat boʻlishi kerak hamda kodni import qilmasligi yoki ixtiyoriy mantiqni bajarmasligi lozim. - Siqish tahlili qatlami toʻliq prompt matnini emas, tanlangan rejim va mexanizmni qayd etadi.