* 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.
17 KiB
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۔
حسبِ ضرورت فلٹرز یہاں سے لوڈ کیے جا سکتے ہیں:
- پروجیکٹ کی
.rtk/filters.jsonفائلیں صرف اس وقت جب مماثل.rtk/trust.jsonہیش موجود ہو یاtrustProjectFiltersفعال ہو۔ - عالمی
DATA_DIR/rtk/filters.json۔ - پہلے سے موجود فلٹرز۔
پروجیکٹ/عالمی حسبِ ضرورت فائلوں میں ایک فلٹر آبجیکٹ یا فلٹر آبجیکٹس کی ایک ارے ہو سکتی ہے۔ غلط حسبِ ضرورت فلٹرز کو تشخیصی معلومات کے ساتھ چھوڑ دیا جاتا ہے؛ غلط پہلے سے موجود فلٹرز توثیق کو ناکام کر دیتے ہیں۔
پروجیکٹ ٹرسٹ فائل:
{
"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