# Compression Language Packs (اردو) 🌐 **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) · 🇺🇿 [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 کمپریشن، پہلے سے موجود انگریزی قواعد کے علاوہ زبان کے لیے مخصوص رول پیکس بھی لوڈ کر سکتی ہے۔ اس سے بنیادی انجن مستحکم رہتا ہے، جبکہ پرتگالی، ہسپانوی، جرمن، فرانسیسی، اطالوی، جاپانی، اور مستقبل کے زبان پیکس آزادانہ طور پر ارتقا کر سکتے ہیں۔ ## مقام زبان پیکس یہاں موجود ہیں: ```txt open-sse/services/compression/rules// ``` فی الحال فراہم کردہ پیکس (`rules/` ڈائریکٹری کے مندرجات کے مقابلے میں تصدیق شدہ): | زبان | ڈائریکٹری | موجود رول کیٹیگریز | | ---------------- | -------------- | --------------------------------------------------- | | انگریزی | `rules/en/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | ہسپانوی | `rules/es/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | پرتگالی (برازیل) | `rules/pt-BR/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | انڈونیشیائی | `rules/id/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | اطالوی | `rules/it/` | `context`, `dedup`, `filler`, `structural`, `ultra` | | جرمن | `rules/de/` | `context`, `filler`, `structural` | | فرانسیسی | `rules/fr/` | `context`, `filler`, `structural` | | جاپانی | `rules/ja/` | `context`, `filler`, `structural` | > **برابری سے متعلق نوٹ:** `en`, `es`, `pt-BR`, `id`، اور `it` پیکس میں تمام 5 کیٹیگریز موجود ہیں؛ `de`, `fr`, `ja` میں 3 کیٹیگریز فراہم کی جاتی ہیں۔ غیر موجود `dedup` اور `ultra` کیٹیگریز خاموشی سے پہلے سے موجود انگریزی قواعد استعمال کرتی ہیں۔ چھوٹے پیکس میں `dedup.json` اور `ultra.json` شامل کرنے کے لیے تعاون کا خیرمقدم ہے۔ > > `pt-BR` پیک Lenine Júnior کے **[Troglodita](https://github.com/leninejunior/troglodita)** پر مبنی ہے — یہ برازیلی پرتگالی گرامر کے لیے ابتدا سے ڈیزائن کردہ ایک کمپریشن سسٹم ہے (حشو میں کمی، PT-BR کے غیر ضروری الفاظ کا اخراج، اور برازیلی ڈویلپر کمیونٹی کے لیے تکنیکی اختصارات)۔ > > مستند کیٹیگری فہرست اور ہر کیٹیگری کا اسکیما [`open-sse/services/compression/rules/_schema.json`](../../open-sse/services/compression/rules/_schema.json) میں موجود ہے (JSON Schema draft 2020-12)۔ ## زبان کی شناخت `languageDetector.ts` پرامپٹ متن سے زبان کا اندازہ لگانے کے لیے ہلکی پھلکی ہیورسٹکس استعمال کرتا ہے۔ کنفیگر کردہ ڈیفالٹ زبان کا اب بھی لحاظ رکھا جاتا ہے، اور جب عین کنٹرول درکار ہو تو کنفیگ کے ذریعے شناخت کو غیر فعال کیا جا سکتا ہے۔ شناخت کا آؤٹ پٹ صرف رول پیکس منتخب کرنے کے لیے استعمال ہوتا ہے۔ یہ پرووائیڈر روٹنگ، لوکیل کے انتخاب، یا UI کی زبان کو تبدیل نہیں کرتا۔ ## کنفیگ کی ساخت کمپریشن کی ترتیبات میں یہ شامل ہو سکتا ہے: ```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` ڈیش بورڈ/پری ویو کے ڈیفالٹس کو کنٹرول کرتا ہے۔ `cavemanConfig` رن ٹائم انجن کی کنفیگ ہے جو Caveman کے پیغام کے متن کو کمپریس کرتے وقت استعمال ہوتی ہے۔ ## زبان پیک شامل کرنا 1. `open-sse/services/compression/rules//.json` بنائیں۔ 2. `docs/compression/COMPRESSION_RULES_FORMAT.md` میں موجود Caveman اصولوں کا فارمیٹ استعمال کریں۔ 3. تبدیلیوں کو محتاط رکھیں اور کوڈ، identifiers، URLs، یا JSON کو تبدیل کرنے سے گریز کریں۔ 4. زبان کے انتخاب اور تبدیلی کے رویّے کے لیے ٹیسٹس شامل یا اپ ڈیٹ کریں۔ 5. اگر زبان UI selectors میں ظاہر ہوتی ہے تو نئے dashboard/i18n labels دستیاب کریں۔ ## API دستیاب پیکس کے بارے میں اس طرح استفسار کیا جا سکتا ہے: ```bash curl http://localhost:20128/api/compression/language-packs ``` پیش نظارہ endpoint زبان کی config overrides قبول کرتا ہے: ```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 میں تمام 6 زبان پیکس کو ایک `SHARED_BOUNDARIES` شق دی گئی، جو Caveman کی ہر شدت (LITE, FULL, ULTRA) پر لاگو ہوتی ہے۔ یہ engine کو ہدایت دیتی ہے کہ اردگرد کے غیر ضروری متن کو ہٹانے سے قطع نظر، ان نمونوں کو من و عن محفوظ رکھا جائے: | نمونے کی قسم | مثال | | ------------------------- | -------------------------------------- | | Fenced کوڈ بلاکس | ` ```python\n...\n``` ` | | Inline کوڈ | `` `my_var` `` | | URLs | `https://example.com/path` | | فائل پاتھس (مطلق + نسبتی) | `/etc/hosts`, `./src/index.ts` | | خرابی کے headers | `Error:`, `TypeError:`, `SyntaxError:` | | Stack trace سطریں | ` at functionName (file.ts:12:3)` | یہ نمونے `DEFAULT_CAVEMAN_CONFIG.preservePatterns` میں شامل کیے جاتے ہیں (پہلے `[]` تھا)۔ یہ constant `open-sse/services/compression/types.ts` میں موجود ہے۔ ### یہ کیوں اہم ہے SHARED_BOUNDARIES کے بغیر، جارحانہ Caveman modes ایسے مواد کو حذف کر سکتے تھے جو بظاہر دہرایا ہوا نثری متن لگتا تھا، مگر دراصل کوڈ snippet، فائل پاتھ، یا error stack ہوتا تھا۔ SHARED_BOUNDARIES ایک زبان سے آزاد حفاظتی جال کے طور پر کام کرتا ہے، جو filler اصول چلنے سے پہلے لاگو ہوتا ہے۔ ### preservePatterns کو حسبِ ضرورت بنانا compression settings کے ذریعے runtime پر اضافی نمونے شامل کیے جا سکتے ہیں: ````json { "cavemanConfig": { "preservePatterns": [ "```[\\s\\S]*?```", "`[^`]+`", "https?://\\S+", "(?:/|\\./)[^\\s]+", "\\b(?:Error|TypeError|SyntaxError|RangeError):", "\\s+at\\s+\\S+\\s+\\(\\S+:\\d+:\\d+\\)" ] } } ```` حسبِ ضرورت نمونے 6 defaults میں توسیع کرتے ہیں (ان کی جگہ نہیں لیتے)۔ --- ## عملی نوٹس - جب کوئی زبان پیک موجود نہ ہو تو English کے built-in اصول fallback کے طور پر برقرار رہتے ہیں۔ - غیر معتبر built-in JSON پیکس validation میں ناکام ہو جاتے ہیں تاکہ release assets کا معیار خاموشی سے کم نہ ہو۔ - اصولوں کے پیکس صرف data پر مشتمل ہوتے ہیں اور انہیں کوڈ import نہیں کرنا چاہیے یا صوابدیدی logic نہیں چلانی چاہیے۔ - compression analytics layer منتخب کردہ mode اور engine کو ریکارڈ کرتی ہے، مکمل prompt text کو نہیں۔