Files
OmniRoute/docs/i18n/ur/docs/compression/COMPRESSION_RULES_FORMAT.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

17 KiB
Raw Blame History

Compression Rules Format (اردو)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


کمپریشن کے قواعد JSON فائلیں ہیں جو رن ٹائم پر لوڈ کی جاتی ہیں۔ انہیں دانستہ طور پر صرف ڈیٹا تک محدود رکھا گیا ہے تاکہ نئے لینگویج پیکس اور RTK کمانڈ فلٹرز کا انجن کوڈ تبدیل کیے بغیر جائزہ لیا جا سکے۔

مستند اسکیما (حقیقت کا بنیادی ماخذ): open-sse/services/compression/rules/_schema.json (JSON Schema draft 2020-12)۔ ذیل کی مثالیں صرف وضاحت کے لیے ہیں — شک کی صورت میں اپنے پیک کی _schema.json کے مطابق توثیق کریں۔

Caveman رول پیکس

Caveman رول پیکس یہاں موجود ہوتے ہیں:

open-sse/services/compression/rules/<language>/<pack>.json

ہر پیک میں ایسی تبدیلیاں شامل ہوتی ہیں جو محفوظ حصوں کو الگ کرنے کے بعد عام نثر پر لاگو ہوتی ہیں۔

{
  "language": "en",
  "category": "filler",
  "rules": [
    {
      "name": "question_to_directive",
      "pattern": "\\b(?:Can you explain why|Could you show me how)\\b\\s*",
      "replacement": "Explain why ",
      "replacementMap": {
        "can you explain why": "Explain why ",
        "could you show me how": "Show how "
      },
      "flags": "gi",
      "context": "all",
      "category": "context",
      "minIntensity": "lite",
      "description": "Convert verbose questions into direct requests."
    }
  ]
}

Caveman فیلڈز

فیلڈ لازمی وضاحت
language ہاں BCP-47 جیسی زبان کی کلید، مثلاً en، pt-BR، es
category ہاں پیک کی کیٹیگری کا فائل نام/کیٹیگری، مثلاً filler یا dedup
rules ہاں regex تبدیلی کے قواعد کی اَرے
rules[].name ہاں مستقل رول کا نام
rules[].pattern ہاں JavaScript regex سورس
rules[].flags نہیں JavaScript regex فلیگز؛ ڈیفالٹ gi
rules[].replacement نہیں تبدیلی کی اسٹرنگ یا replacementMap میں مماثلت نہ ملنے پر متبادل
rules[].replacementMap نہیں نارملائز کردہ مماثل متن کے مطابق مخصوص تبدیلیاں
rules[].context نہیں all، user، assistant، یا system؛ ڈیفالٹ all
rules[].category نہیں filler، context، structural، dedup، terse، یا ultra
rules[].minIntensity نہیں lite، full، یا ultra؛ ڈیفالٹ lite
rules[].description نہیں انسان کے لیے قابلِ فہم رول کا خلاصہ

جب حروف کی نوعیت کے لحاظ سے حساس مماثلت اہم ہو تو flags استعمال کریں، مثلاً چھوٹے حروف والی نثر سے پہلے آرٹیکل ہٹانے کے لیے بغیر the OpenAI API کو حذف کیے۔ جب ایک regex میں متعدد متبادل ہوں جنہیں مختلف آؤٹ پٹس درکار ہوں تو replacementMap استعمال کریں؛ اس سے JSON رول پیکس صرف ڈیٹا تک محدود رہتے ہیں جبکہ زیادہ بھرپور بلٹ اِن TypeScript تبدیلی فنکشنز کا طرزِ عمل برقرار رہتا ہے۔

RTK فلٹر پیکس

RTK فلٹرز یہاں موجود ہوتے ہیں:

open-sse/services/compression/engines/rtk/filters/<filter>.json

ہر فلٹر یہ بیان کرتا ہے کہ کمانڈ آؤٹ پٹ کے کسی خاندان کو کیسے شناخت اور کمپریس کرنا ہے۔

{
  "id": "test-vitest",
  "label": "Vitest output",
  "category": "test",
  "priority": 92,
  "match": {
    "outputTypes": ["test-vitest"],
    "commands": ["vitest", "npm test", "npm run test"],
    "patterns": ["\\bFAIL\\b", "\\bPASS\\b", "\\bTest Files\\b"]
  },
  "rules": {
    "stripAnsi": true,
    "replace": [{ "pattern": "\\s+\\[[0-9]+ms\\]", "replacement": "" }],
    "matchOutput": [
      {
        "pattern": "All tests passed",
        "message": "vitest: ok",
        "unless": "FAIL|Error:"
      }
    ],
    "includePatterns": ["FAIL", "Error:", "Test Files", "Tests"],
    "dropPatterns": ["^\\s*$", "Duration\\s+\\d+"],
    "collapsePatterns": ["^\\s+at "],
    "deduplicate": true,
    "truncateLineAt": 240,
    "maxLines": 160,
    "headLines": 24,
    "tailLines": 40,
    "onEmpty": "vitest: ok",
    "filterStderr": false
  },
  "preserve": {
    "errorPatterns": ["FAIL", "Error:", "AssertionError"],
    "summaryPatterns": ["Test Files", "Tests", "Snapshots"]
  },
  "tests": [
    {
      "name": "keeps failing tests",
      "command": "vitest",
      "input": "FAIL test/a.test.ts\\nError: boom\\nTest Files 1 failed",
      "expected": "FAIL test/a.test.ts\\nError: boom\\nTest Files 1 failed"
    }
  ]
}

RTK فیلڈز

فیلڈ درکار ہے تفصیل
id ہاں مستحکم فلٹر آئی ڈی
label ہاں ڈیش بورڈ میں پڑھنے کے قابل نام
category ہاں فلٹر خاندان: git، test، build، shell، docker، package، infra، cloud، generic
priority نہیں متعدد فلٹرز کے مماثل ہونے پر زیادہ ترجیح والا فلٹر منتخب ہوتا ہے
match.outputTypes نہیں ڈیٹیکٹر آؤٹ پٹ آئی ڈیز جو اس فلٹر کو منتخب کرتی ہیں
match.commands نہیں کمانڈ ٹوکنز جو اس فلٹر کو منتخب کرتے ہیں
match.patterns نہیں ریجیکس پیٹرنز جو آؤٹ پٹ متن سے اس فلٹر کو منتخب کرتے ہیں
rules.stripAnsi نہیں ریجیکس مراحل سے پہلے ANSI ایسکیپ سیکوینسز ہٹائیں
rules.replace نہیں ترتیب وار ریجیکس متبادلات جو ہر سطر پر لاگو ہوتی ہیں
rules.matchOutput نہیں اختیاری unless گارڈ کے ساتھ شارٹ سرکٹ آؤٹ پٹ قواعد
rules.includePatterns نہیں وہ سطریں جنہیں محفوظ رکھنے کو ترجیح دی جائے
rules.dropPatterns نہیں وہ سطریں جنہیں غیر ضروری مواد سمجھ کر ہٹانا ہے
rules.collapsePatterns نہیں بار بار آنے والی مماثل سطریں جنہیں سمیٹا جا سکتا ہے
rules.deduplicate نہیں معمول پر لائی گئی نقل سطروں کو یکجا کریں
rules.truncateLineAt نہیں فی سطر Unicode-محفوظ حروف کی حد
rules.maxLines نہیں آخری سطروں کو محفوظ رکھنے سے پہلے برقرار رکھی جانے والی زیادہ سے زیادہ سطریں
rules.headLines نہیں مختصر کرنے کے دوران برقرار رکھی جانے والی ابتدائی سطریں
rules.tailLines نہیں حالیہ سیاق کے لیے برقرار رکھی جانے والی آخری سطریں
rules.onEmpty نہیں فلٹرنگ سے تمام مواد ہٹ جانے پر متبادل پیغام
rules.filterStderr نہیں بعد کے فلٹرنگ مراحل سے پہلے عام stderr سابقوں کو معمول پر لائیں
preserve.errorPatterns نہیں خرابی کی وہ سطریں جو مختصر کیے جانے کے بعد بھی برقرار رہنی چاہییں
preserve.summaryPatterns نہیں خلاصے کی وہ سطریں جو مختصر کیے جانے کے بعد بھی برقرار رہنی چاہییں
tests[] نہیں RTK تصدیقی گیٹ کے زیر استعمال اِن لائن توثیقی نمونے

RTK اعلانیہ مراحل کو اس ترتیب سے لاگو کرتا ہے: stripAnsi، filterStderr، replace، matchOutput، dropPatterns/includePatterns، truncateLineAt، headLines/tailLines، maxLines، اور onEmpty۔

حسبِ ضرورت فلٹرز یہاں سے لوڈ کیے جا سکتے ہیں:

  1. پروجیکٹ کی .rtk/filters.json فائلیں صرف اس وقت جب مماثل .rtk/trust.json ہیش موجود ہو یا trustProjectFilters فعال ہو۔
  2. عالمی DATA_DIR/rtk/filters.json۔
  3. پہلے سے موجود فلٹرز۔

پروجیکٹ/عالمی حسبِ ضرورت فائلوں میں ایک فلٹر آبجیکٹ یا فلٹر آبجیکٹس کی ایک ارے ہو سکتی ہے۔ غلط حسبِ ضرورت فلٹرز کو تشخیصی معلومات کے ساتھ چھوڑ دیا جاتا ہے؛ غلط پہلے سے موجود فلٹرز توثیق کو ناکام کر دیتے ہیں۔

پروجیکٹ ٹرسٹ فائل:

{
  "filtersSha256": "0123456789abcdef..."
}

ماحولیاتی اوور رائیڈ OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=1 کسی ہیش کے بغیر پروجیکٹ فلٹرز پر اعتماد کرتا ہے اور اسے صرف کنٹرول شدہ مقامی ڈیولپمنٹ تک محدود رکھنا چاہیے۔

حفاظتی اصول

  • اصول کو idempotent رکھیں: ایک ہی فلٹر کو دو بار چلانے سے آؤٹ پٹ خراب نہیں ہونا چاہیے۔
  • جہاں ممکن ہو، ایرر کا عین متن، فائل پاتھ، لائن نمبرز، اور کمانڈ کے خلاصے برقرار رکھیں۔
  • ایسے اصولوں سے گریز کریں جو کوڈ بلاکس، JSON پے لوڈز، URLs، یا رازوں میں ترمیم کریں۔
  • detector/filter ٹیسٹس میں نئی کمانڈ فیملیز کے لیے یونٹ کوریج شامل کریں۔
  • ہر بلٹ اِن فلٹر اور مشترکہ کسٹم فلٹرز میں tests[] نمونے شامل کریں۔

توثیق

رول پیکس کو استعمال سے پہلے validate کیا جاتا ہے۔ بلٹ اِن Caveman پیکس اور بلٹ اِن RTK فلٹرز validation کے دوران فوراً ناکام ہو جاتے ہیں، تاکہ خراب ریلیز assets کو ترسیل سے پہلے ہی پکڑ لیا جائے۔ parsing یا trust validation ناکام ہونے پر کسٹم RTK فلٹرز کو diagnostics کے ساتھ چھوڑ دیا جاتا ہے۔

مرکوز توثیق:

node --import tsx/esm --test tests/unit/compression/rule-loader.test.ts tests/unit/compression/language-packs.test.ts
node --import tsx/esm --test tests/unit/compression/rtk-verify.test.ts tests/unit/compression/rtk-dsl-pipeline.test.ts