بين الاقواميت و مقامياندازي
سندھ آءِ ٽي پورٽل — سهولت ڊيسڪ (SITP) کي ڪيئن ٽن ٻولين ۾ (انگريزي مرجع → اردو → سنڌي)، ساڄي کان کاٻي (RTL) اصلي نسل طور، ٻٽي ڪئلينڊر کان آگاهه، ۽ هر سطح — عوامي سائيٽ، دستاويزون، اطلاعون، سرڪاري خط، ۽ AI پيداوار — تي لغت مطابق مستقل انداز ۾ تيار ڪيو ويو آهي.
| خانو | قدر |
|---|---|
| دستاويز ID | 09 |
| صورتحالت | مسودو |
| مالڪ | S&ITD / MAAHIR |
| ٻوليون | EN (مرجع) · UR · SD |
| لاڳو ماڊيولز | A (PUB) بنيادي · مشترڪه: B (TKT), E (AI), G (NOT), J (KB), L (DOC), M (MTG), N (SUG), O (TRN), P (OFC) |
| لاڳاپيل دستاويزون | /specs/sd/15-tech-architecture/ §15, /specs/sd/16-branding-design-system/, /specs/sd/10-ux-sitemap-flows/, /specs/sd/07-ai-ocr-spec/, /specs/sd/13-test-strategy/, _glossary.md, _context.md §2 & §7 |
1. دائريڪار ۽ هن دستاويز کي پڙهڻ جو طريقو
هي دستاويز SITP ۾ هر ڪنهن گهڻ ٻوليائي شئي لاءِ مستند وصيت آهي. ان ۾ هيٺيان شامل آهن:
- ٻوليءَ جي حڪمت عملي — EN بطورِ مرجع، UR ۽ SD بطورِ متوازي ترجما (§2)۔
- لوڪيل جو ذخيرو ۽ تعين — في استعمال ڪندڙ، في ادارو، في ويٺڪ (§3)۔
- اسٽرنگ جو ٻاهريان انداز — ڪٿي به ڪو هارڊڪوڊڊ اسٽرنگ ناهي (§4)۔
- ترجمو فائل ورڪ فلو — في لوڪيل JSON/MDX ڪئٽلاگ (§5)۔
- AI معاون ترجمو پائيپ لائين + انساني مقامي نظرثاني (§6، ورڪ فلو خاڪي سان گڏ)۔
- لغت تي مبني اصطلاح جي مستقل مزاجي (§7)۔
- RTL هينڊلنگ — CSS منطقي خاصيتون، سمتي تبديلي، آئيڪن/لاءِ آئوٽ mirroring (§8)۔
- ٽائيپوگرافي ۽ فونٽس — Inter/Poppins, Noto Nastaliq Urdu, Noto Naskh Arabic (§9)۔
- ٻٽو گريگورين + هجري ڪئلينڊر (§10)۔
- نمبر، تاريخ، ڪرنسي، ۽ فون فارميٽنگ (§11)۔
- مواد جو فال بيك — غائب ترجمو → نظرِ انداز کانسواءِ نشاني سان EN (§12)۔
- SEO: في لوڪيل hreflang + sitemap (§13)۔
- في لوڪيل قابلِ رسائي — EN/UR/SD تي WCAG 2.1 AA (§14)۔
- ترجمو QA ۽ نظرثاني گیٽس (§15)۔
- سرڪاري اصطلاحن جي تميز — محڪمو بمقابله وزارت، ۽ ٻيا قفل امتياز (§16)۔
- فعلي تقاضا، NFRs، استعمال ڪندڙ ڪهاڻيون، ٽيسٽ ڪيسز (§17–§20)۔
i18n جو اعليٰ سطحي پليٽ فارم معاملو /specs/sd/15-tech-architecture/ §15 ۾ موجود آهي؛ هي دستاويز ان حصي کي هڪ مڪمل، تيارِ تعمير وصيت ۾ پکيڙي ٿو. _glossary.md ۾ ٽن ٻوليائي اصطلاحي لغت منظور ٿيل ترجمن جو واحد ماخذ آهي — هي دستاويز ان ڳالهه جي تدبير ڪري ٿو ته انهن ترجمن کي ڪيئن لاڳو ڪجي، نه ته اهو ته اهي ڇا آهن.
2. ٻوليءَ جي حڪمت عملي ۽ لوڪيل ماڊل
2.1 ٽي لوڪيلز
| ڪوڊ | ٻولي | رسم الخط | سمٽ | ڪردار | مقامي نالو |
|---|---|---|---|---|---|
en |
انگريزي | لاطيني | LTR | مرجع / سچائيءَ جو سرچشمو | English |
ur |
اردو | عربي (Nastaliq) | RTL | متوازي ترجمو | اردو |
sd |
سنڌي | عربي (Naskh، وڌايل) | RTL | متوازي ترجمو | سنڌي |
انگريزي تخليق جي لوڪيل آهي. هر UI اسٽرنگ، KB مضمون، سرڪيولر، SOP، اطلاع جي ٽيمپليٽ، سرڪاري خط جي ٽيمپليٽ، ۽ اي ميل/SMS/WhatsApp ٽيمپليٽ پهرئين انگريزي ۾ لکيو ويندو آهي ۽ پوءِ اردو ۽ سنڌي ۾ بطورِ وفادار متوازي ترجمو تيار ڪيو ويندو آهي. EN مرجع کانسواءِ UR يا SD ۾ ڪو به مواد جاري ناهي ٿيندو. واحد استثنا شهريءَ جو جمع ڪيل آزاد متن آهي، جنهن کي جمع ڪندڙ جنهن ٻولي ۾ لکيو هجي اُن ۾ لفظاً محفوظ ڪيو ويندو آهي، ۽ AI Translation صلاحيت ذريعي گهرج تي ترجمو ڪيو ويندو آهي (§6 ڏسو).
هي دستاويزن جي سيٽ سان به مطابقت رکي ٿو: هر دستاويز فولڊر ۾ {en,ur,sd}.md شامل آهن، EN مرجع (_conventions.md §2 ڏسو). ساڳيو نظم و ضبط پيداوارن جي مواد تي به لاڳو ٿئي ٿو.
2.2 لوڪيل شناخت ڪندڙ
اندروني طور تي، لوڪيل کي ISO 639-1 ڪوڊ (en, ur, sd) ذريعي علائقائي ذيلي ٽيگ کانسواءِ پيش ڪيو ويندو آهي، ڇاڪاڻ ته هر هڪ لاءِ چونڊيل قسم پاڪستان جو صوبائي معيار آهي. جتي ڪنهن ٽين ڌر جي لائبريري علائقائي ذيلي ٽيگ جي متقاضي هجي (مثال طور en-PK, ur-PK, sd-PK)، ته ذيلي ٽيگ PK صرف انهن تعاملن لاءِ شامل ڪيو ويندو آهي؛ مستند محفوظ قدر برقرار برهنه ٻه اکر ڪوڊ رهندي آهي.
2.3 رسم الخط ۽ سمٽ جو تعلق
سمٽ (ltr يا rtl) لوڪيل جو فنڪشن آهي، ڪڏهن به ڌار استعمال ڪندڙ جي ترتيب ناهي. ur يا sd چونڊڻ سان پوري لاءِ آئوٽ RTL ڏانهن مڙي ويندو آهي؛ en چونڊڻ سان وري LTR ڏانهن موٽندو آهي. ڪا به "RTL ۾ انگريزي" يا "LTR ۾ اردو" موڊ ناهي. هي CSS، لاءِ آئوٽ، ۽ جزو منطق کي سادو ۽ پيشگوئي ڪندڙ رکي ٿو، ۽ استعمال ڪندڙ جي توقع سان مطابقت رکي ٿو.
3. لوڪيل جو ذخيرو ۽ تعين
3.1 لوڪيل ڪٿي محفوظ ٿئي ٿو
لوڪيل ٽن جاين تي، تعين جي ترتيب مطابق محفوظ ٿئي ٿو:
| # | ذخيرو | دائرو | مقرر ڪندڙ | نوٽس |
|---|---|---|---|---|
| 1 | URL رستي جو پيشوا (/en/, /ur/, /sd/) |
في درخواست / في صفحو | استعمال ڪندڙ جي نيويگيشن، لوڪيل سوئيچر | مستند ۽ قابلِ اشتراک. عوامي صفحن تي هميشه موجود. |
| 2 | usr_user.locale ڪالم |
في استعمال ڪندڙ | استعمال ڪندڙ، رجسٽريشن تي يا پروفائيل/ترجيحات مرڪز ذريعي | تصديق ٿيل ويٺڪن لاءِ طئي ٿيل جڏهن ڪو URL پيشوا نہ هجي. |
| 3 | org_organization.default_locale ڪالم |
في ادارو (ڪمپني يا محڪمو) | ادارو ايڊمن | فال بيك جڏهن استعمال ڪندڙ جو ڪو صريح لوڪيل نہ هجي (مثال طور نئين مدعو عملي لاءِ). |
گمنام زائرين لوڪيل حاصل ڪن ٿا: (a) صريح URL پيشوا، ورنه (b) Accept-Language هيڊر جو [en, ur, sd] خلاف بحث و توافق، ورنه (c) en (مرجع). تعين ٿيل لوڪيل کي فرسٽ پارٽي ڪوڪي (sitp_locale) ۾ محفوظ ڪيو ويندو آهي ته جيئن ايندڙ ملاقاتون ثابت قدم رهن، پر URL پيشوا هميشه فوقيت رکي ٿو — هي ڊيپ لنکس کي قابلِ اشتراک ۽ غير مبهم رکي ٿو.
3.2 لوڪيل ڪيئن پکڙجي ٿو
هڪ دفعو ڪناري تي تعين ٿيڻ کان پوءِ، لوڪيل هر ضروري جاءِ تائين پکڙجي ويندو آهي، استعمال ڪندڙ کي ٻيهر اُڪسائڻ کانسواءِ:
- JWT / OIDC ٽوڪن: لوڪيل هڪ دعويٰ (claim) آهي، تنهنڪري هر تصديق ٿيل API ڪال کان همراهه آهي.
- جاب پے لوڊز: هر BullMQ جاب (اطلاعون، ايكسپورٽس، AI ڪالز) ۾
localeشامل هوندو آهي، تنهنڪري اردو لوڪيل استعمال ڪندڙ لاءِ ٺاهيل اطلاع اردو ۾ ٺاهي ويندي آهي چاهي جاب ڪيئن منٽن بعد اهڙي ورکر ذريعي پروسيس ٿئي جنهن اصل درخواست ڪڏهن نہ ڏٺي هجي. - درخواست جو سياق و سباق: NestJS جو
LocaleInterceptor(/specs/sd/15-tech-architecture/§4 ڏسو) لوڪيل کي ايسينڪ درخواست جي سياق و سباق سان جوڙي ٿو؛ هر سروس اُتانس پڙهي ٿي نہ ته هر ڪال ۾ گذريل پيراميٽر مان. - ٽيمپليٽس: اطلاعون، خط، ۽ دستاويز ٽيمپليٽس لوڪيل وصول ڪن ٿا ۽ صحيح متغير رينڊر ڪن ٿا.
- تلاش: Meilisearch استفسار استعمال ڪندڙ جو لوڪيل همراهه رکن ٿا ته جيئن هڪجهڙي ٻوليءَ جون مطالبات کي اعليٰ درجو ملے (
/specs/sd/15-tech-architecture/§8 ڏسو). - AI ڪالز: FastAPI سروس ڏانهن هر AI درخواست ۾
locale+target_localesشامل هوندا آهن ته جيئن ترجمو، خلاصو، ۽ مسودو جواب پيداوار صحيح ٻوليءَ ۾ لٿي.
3.3 لوڪيل سوئيچنگ
هر صفحي (عوامي سائيٽ، دستاويزون، پورٽل ايپ، موبائل PWA) جي هيڊر ۾ هڪ مرئي لوڪيل سوئيچر موجود آهي. لوڪيل بدلڻ سان:
- موجوده URL کي هدف لوڪيل جي پيشوا ۾ ٻيهر لکيو ويندو آهي.
sitp_localeڪوڪي اپڊيٽ ٿيندي آهي.- جيڪڏهن تصديق ٿيل هجي ته نئون لوڪيل
usr_user.locale۾ محفوظ ٿيندو (ته جيئن اهو آلات جي وچ ۾ ثابت قدم رهي). - صفحو نئين لوڪيل ۽ سمٽ ۾، جتي ممڪن هجي مڪمل ري لوڊ کانسواءِ ٻيهر رينڊر ٿيندو (Next.js App Router ان جي مقامي تائيد ڪري ٿو).
سوئيچر ڪڏهن به استعمال ڪندڙ جي جاءِ ضايع ناهي ڪندو: ساڳيو رستو، ساڳيو ٽِڪيٽ، ساڳيو KB مضمون — رڳو ٻيءَ ٻولي ۾.
3.4 عملي لاءِ في ادارو طئي ٿيل
سرڪاري عملو (آفيسر، سيڪشن هيڊز، ناظر) عموماً پنهنجي محڪمي جي طئي ٿيل لوڪيل ۾ ڪم ڪندو آهي، جيڪو ڪنهن شهريءَ جي پسنديده لوڪيل کان مختلف ٿي سگهي ٿو. جڏهن ڪو آفيسر ڪنهن اردو لوڪيل واري ڪمپني جو داخل ٿيل ٽِڪيٽ ڏسندو آهي، ته نظام جو chrom (مينيو، بٽڻ، صورتحالت ليبل) آفيسر جي لوڪيل ۾ رينڊر ٿيندو آهي، جڏهن ته ٽِڪيٽ جو مواد (عنوان، تفصيل، پيغام) ليکڪ جي اصل لوڪيل ۾ ڏيکاريو ويندو آهي ساڳيءَ ريت گهرج تي "ترجمو" سهولت سان (§6 ڏسو). هي علحدگي هڪ سنڌي ڳالهائيندڙ آفيسر کي اردو chrom پڙهڻ تي مجبور ٿيڻ کان روڪي ٿي، ۽ اُن جي اُلٽو، جڏهن ته اصل رڪارڊ جي سالميت برقرار رکي ٿي.
4. اسٽرنگ جو ٻاهريان انداز (ڪو هارڊڪوڊڊ اسٽرنگ ناهي)
4.1 قاعدو
استعمال ڪندڙ کي نظر ايندڙ اسٽرنگ ڪڏهن به سورس ڪوڊ ۾ هارڊڪوڊ ناهي ٿيندي. هر ليبل، بٽڻ، ٽول ٽِپ، خامي جو پيغام، صورتحالت جو نالو، اي ميل جو موضوع، SMS جو متن، پليس هولڊر، aria-label، ٽوسٽ، خالي حالت، ۽ توثيق جو پيغام هڪ ميسج ڪئٽلاگ ۾ رهندو آهي جيڪو هڪ مستند شناخت ڪندڙ ذريعي کليل (keyed) آهي. اجزا ڪنجي جو حوالو ڏين ٿا؛ رن ٽائم ڪنجي کي فعلي لوڪيل جي اسٽرنگ ۾ حل ڪري ٿو.
هي هيٺين تي لاڳو ٿئي ٿو:
- Next.js پورٽل (UI اسٽرنگز).
- Docusaurus دستاويزي سائيٽ (سائڊبار ليبلز، نيوبار، فوٽر، ٿيم اسٽرنگز — Docusaurus جو پنهنجو i18n).
- NestJS API جواب (توثيق جون خاميون، استعمال ڪندڙن ڏانهن رينڊر ٿيل صورتحالت enums، جاب نتيجا پيغام).
- اطلاع جا ٽيمپليٽس (اي ميل، SMS، WhatsApp, اطلاعِ ان ايپ).
- سرڪاري دستاويز ٽيمپليٽس (خط، سرٽيفڪيٽ).
- پيدا ٿيل PDF/Excel ايکسپورٽس (هيڊرز، ڪالم ليبلز، فوٽرز).
4.2 نفاذ
هارڊڪوڊنگ کي هيٺين جي مجموعي سان روڪيو ويندو آهي:
- لِنٽ قاعدو (
no-hardcoded-strings): هڪ ESLint مخصوص قاعدو جو ڪنهن به اسٽرنگ literal تي جھنڊو لڳائي ٿو جيڪو JSX چائلڊ،placeholder،aria-label،title، ياaltattribute ڏنو ويو هجي، جيستائين اهوt()ترجمو فنڪشن ۾ لپايو نہ ويو هجي. استثنا صريح طور اجازت نامي فهرست ۾ آهن (مثال طور خالص ڏسڻ وارا مستقل جهڙوڪ ٽِڪيٽ ID فارميٽس). - CI گیٽ: لنٽ قاعدو CI ۾ هلندو آهي؛ خلاف ورزي بلڊ کي ناڪام ڪندي آهي.
- ڪوڊ نظرثاني چيڪ لسٽ: نظرثاني ڪندڙ تصديق ڪن ٿا ته نوان اسٽرنگز کليل آهن.
- ڪنجي آڊٽ: هڪ هفتيوار جاب انهن ڪئٽلاگ ڪنجين جي رپورٽ ڏيندو آهي جيڪي ڪوڊ ۾ حوالو ڏنل هجن مگر هڪ يا وڌيڪ لوڪيل فائلن ۾ غائب هجن (فال بيك رويي لاءِ §12 ۽ QA لاءِ §15 ڏسو).
4.3 توسيع ۽ جمع بندي (interpolation ۽ pluralization)
اسٽرنگز هنن لاءِ ICU MessageFormat جي تائيد ڪن ٿيون:
- توسيع:
Hello, {name}→السلام علیکم، {name}. - جمع بندي:
{count, plural, =0 {No tickets} one {# ticket} other {# tickets}}. - چونڊ (جتي ضروري هجي صنف/رسميت): هن پيداوار ۾ ناياب؛ سرڪاري خطن ۾ خطاب لاءِ مخصوص آهي.
جمع بندي جا قانون لوڪيلز جي وچ ۾ مختلف هوندا آهن (انگريزي ۾ one/other؛ عربي رسم الخط وارن لوڪيلز ۾ zero/one/two/few/many/other). message-format لائبريري ان کي سنڀالي ٿي؛ مترجمن في ڪنجي سڀ گهربل جمع شڪلون فراهم ڪن ٿا.
5. ترجمو فائل ورڪ فلو
5.1 ڪئٽلاگ جو ڍانچو
UI اسٽرنگز في لوڪيل ميسج ڪئٽلاگ ۾ رهنديون آهن، فيچر سطح مطابق منظم ته جيئن فائليون قابلِ نظرثاني رهن:
locales/
en/
common.json
auth.json
tickets.json
notifications.json
letters.json
dashboard.json
errors.json
...
ur/
common.json
auth.json
...
sd/
common.json
auth.json
...
هر ڪئٽلاگ هڪ هموار JSON آبجيڪٽ آهي جيڪو مستند نقطي دار شناخت ڪندڙن سان کليل آهي:
{
"tickets.status.new": "New",
"tickets.status.resolved": "Resolved",
"tickets.emptyState.title": "No tickets yet",
"tickets.emptyState.body": "File your first ticket to get started."
}
ڪنجيون فيچر مطابق نيم اسپيس ۾ آهن (tickets., auth., letters., …) ۽ هڪ دفعو جاري ٿيڻ کان پوءِ ڪڏهن به نالو تبديل ناهي ٿيندو — ڪنهن ڪنجي جو نالو بدلڻ جاري ترجما ڀڃي ٿو. پراڻيون ڪنجيون متروڪ قرار ڏنيون وينديون آهن، حذف نہ، جيستائين ڪو به ڪوڊ انهن جو حوالو نہ ڏي ۽ ٽئني لوڪيلز انهن کي ڇڏي ڏين.
5.2 ڊگهي فارميٽ مواد (MDX)
ڊگهو فارميٽ مواد — KB مضمون، سرڪيولر، SOP، دستاويزي سائيٽ جا صفحا پاڻ — في لوڪيل MDX طور لکيو ويندو آهي JSON بدران، ڇاڪاڻ ته مواد نثر، اجزا، ۽ ميڊيا جو ملغوتو آهي. دستاويزي سيٽ جهڙيءَ ريت فائل و فولڊر روایت لاڳو ٿئي ٿي: هر مواد شئي هڪ فولڊر آهي جنهن ۾ en.mdx, ur.mdx, sd.mdx آهن. فرنٽ ميٽر ۾ لوڪيل، آخري ترجمو وقت، جنهن EN مراجعي مان ترجمو ڪيو ويو، ۽ نظرثاني جي صورتحالت (§6 ڏسو) شامل هوندي آهي.
5.3 في لوڪيل JSON/MDX همآهنگي
هر فيچر ريليز لاءِ:
- EN ڪئٽلاگ ۽ MDX اپڊيٽ ٿيندا آهن.
- هڪ ڊِف تيار ڪيو ويندو آهي: نيون ڪنجيون، تبديل ٿيل ڪنجيون، حذف ٿيل ڪنجيون.
- UR ۽ SD ڪئٽلاگ اپڊيٽ ٿيندا آهن (پهرئين AI معاون، پوءِ انساني نظرثاني — §6 ڏسو).
- هڪ همآهنگي چيڪ CI ۾ هلندو آهي:
en/*.json۾ موجود هر ڪنجيur/*.json۽sd/*.json۾ به موجود هجڻ گهرجي. غائب ڪنجيون بلڊ کي ناڪام ڪنديون آهن (هڪ صريح فيصلي تي مجبور ڪندي: هاڻي ترجمو ڪريو، يا دانستہ طور EN فال بيك طور هڪ ٽريڪڊ قرض شئي سان نشانزد ڪريو).
5.4 في مواد شئي صورتحالت ٽريڪنگ
هر قابلِ ترجمو شئي (في فيچر UI ڪنجي سيٽ، KB مضمون، SOP، خط ٽيمپليٽ) هڪ ترجمو صورتحالت رکندي آهي:
| صورتحالت | معني |
|---|---|
source-only |
EN لکيل؛ UR/SD هيٺ توثيق. |
ai-draft |
AI ترجمو تيار؛ انساني نظرثاني جو انتظار. |
in-review |
مقامي نظرثاني ڪندڙ کي سونپيل؛ اڃا منظور ناهي. |
approved |
مقامي نظرثاني ڪندڙ دستخط ڪيا؛ اشاعت لاءِ محفوظ. |
published |
لوڪيل ۾ جاري. |
stale |
آخري منظوري کان پوءِ EN مرجع بدليل؛ ٻيهر ترجمو ضروري. |
صورتحالت في لوڪيل في شئي محفوظ ٿيندي آهي ۽ ترجمو ڊيش بورڊ ۾ ڏسڻ ۾ ايندي آهي (§15 ڏسو).
6. AI معاون ترجمو پائيپ لائين + انساني مقامي نظرثاني
6.1 پائيپ لائين جو جائزو
EN ۾ لکيل مواد کي UR ۽ SD ۾ هايبرڊ پائيپ لائين ذريعي ترجمو ڪيو ويندو آهي: AI پهريون پاس ڪندو آهي (تيز، سستو، مستقل)، هڪ مقامي انساني نظرثاني ڪندڙ آخري پاس ڪندو آهي (درستگي، اندازِ بيان، ثقافتي مطابقت، اصطلاح). UR يا SD ۾ ڪجهه به رڳو AI پيداوار تي جاري ناهي ٿيندو. اها ساڳي AI Translation صلاحيت آهي جيڪا /specs/sd/07-ai-ocr-spec/ ۽ /specs/sd/15-tech-architecture/ §6.3 #6 ۾ بيان ٿيل آهي، لغت ذريعي محدود.
6.2 ورڪ فلو خاڪو
6.3 ورڪ فلو جي تحريري وضاحت
مواد جي پيداوار انگريزي ۾ لکي ويندي آهي (UI ڪئٽلاگ اندراج، KB MDX فائل، خط ٽيمپليٽ، يا اطلاع ٽيمپليٽ). هڪ ڊِفر نئين EN مراجعي جو مقابلو اڳوڻي ترجمو ٿيل EN مراجعي سان ڪري ٿو ۽ ٽي بالٽيون خارج ڪري ٿو: نئون اسٽرنگز (ڪڏهن ترجمو نہ ٿيل)، تبديل ٿيل اسٽرنگز (EN آخري ترجمي کان پوءِ ترميم ٿيل — stale طور نشانزد)، ۽ حذف ٿيل اسٽرنگز (لوڪيل ڪئٽلاگ مان هٽايو).
نئين ۽ تبديل ٿيل شين لاءِ، لغت جون پابنديون اصطلاحي ڊيٽابيس مان لوڊ ڪيون وينديون آهن (جو پاڻ _glossary.md مان ماخوذ آهي — §7 ڏسو) ۽ مجبور ترجما ۽ ممنوع ميپنگز طور AI ڪال ۾ داخل ڪيون وينديون آهن. AI ترجمو پاس في هدف لوڪيل (ur، پوءِ sd) پلگ ايبل LLM ذريعي هلندو آهي (/specs/sd/15-tech-architecture/ §6.1 ڏسو)، هڪ مسودو پيدا ڪندو آهي جيڪو پهريان ئي منظور ٿيل اصطلاحن جو احترام ڪري ٿو.
مسودو هڪ في لوڪيل نظرثاني قطار ۾ لهندو آهي. هڪ مقامي انساني نظرثاني ڪندڙ (UR لاءِ اردو مادري، SD لاءِ سنڌي مادري — ڪڏهن به ٻنهي لاءِ هڪ ئي شخص ناهي، ڪڏهن به غير مادري ڳالهائيندڙ ناهي) مسودو EN مرجع ۽ لغت سان گڏ کولي ٿو، ۽ چار گهرون ڄاڻي ٿو: (1) درستگي — ڇا اهو ساڳيو چوي ٿو جيڪو EN چوي ٿو؛ (2) اندازِ بيان — ڇا رسميت سرڪاري رُو به رُو پيداوار لاءِ صحيح آهي؛ (3) اصطلاح — ڇا لغت جون اصطلاح بالڪل منظور ٿيل مطابق استعمال ٿيون آهن، محڪمو بمقابله وزارت واري امتياز (§16) سان گڏ برقرار؛ (4) RTL مطابقت — ڇا اسٽرنگ هدف فونٽ ۾ ساڄي کان کاٻي رينڊر ٿيڻ تي فطري پڙهجي ٿي، بغير ٽٽل ٻه طرفي ملغوتي جي. نظرثاني ڪندڙ يا ته منظور ڪندو آهي يا اِن لائن ترميم ڪندو آهي؛ تراميم کي AI مسودي جي مقابلي ۾ ڊِف طور ٽريڪ ڪيو ويندو آهي.
منظوري تي، اسٽرنگ لوڪيل ڪئٽلاگ ۾ شايع ٿيندي آهي ۽ جاري ٿي ويندي آهي. نظرثاني ڪندڙ جون اصلاحون واپس AI ٽيوننگ سيٽ (EN→UR ۽ EN→SD جوڙن جو هڪ منتخب ڪارپس جن ۾ نظرثاني ڪندڙ منظور ٿيل پيداوار هجي) ۾ کارايون وينديون آهن، جيڪو مستقبل ۾ AI جي پهرئين پاس جي معيار کي بهتر ڪري ٿو ۽ وقت سان گڏ نظرثاني ڪندڙ جو بوجھ گهٽائي ٿو. شيون جيڪي اڃا ترجمو ناهي ٿيون UI ۾ هڪ مرئي نشاني سان انگريزي تي فال بيك ڪن ٿيون (§12 ڏسو)، تنهنڪري پيداوار ڪڏهن به ترجمي تي بلاڪ ناهي ٿيندي — پر اهو فرق ٽريڪ ٿئي ٿو ۽ ايندڙ نظرثاني چڪر ۾ بند ٿي ويندو آهي.
6.4 استعمال ڪندڙ مواد جي گهرج تي ترجمو
ساڳئين پائيپ لائين، مگر انساني گیٽ کانسواءِ، استعمال ڪندڙ جي جمع ٿيل آزاد متن — ٽِڪيٽ تفصيل، چيٽ پيغام، MoM اپ لوڊ، ايندڙ اي ميل/SMS/WhatsApp جواب — لاءِ گهرج تي هلندو آهي. هڪ آفيسر جو انگريزي لوڪيل ويٺڪ ۾ ڪنهن اردو ٽِڪيٽ کي ڏسي رهيو آهي "ترجمو" ڪلڪ ڪري ٿو؛ AI اِن لائن هڪ EN رينڊرنگ موٽائي ٿو، واضح طور تي مشين ترجمي طور ليبلزد، اصل محفوظ رکيل. اصل رڪارڊ آهي؛ ترجمو هڪ سهولت آهي. سرڪاري دستاويزن (قرارداد سرٽيفڪيٽ، خط) لاءِ، انساني نظرثاني ٿيل ڪئٽلاگ ترجما استعمال ٿيندا آهن، ڪڏهن به خام AI پيداوار ناهي.
6.5 نظرثاني ڪندڙن جي فهرست
نظرثاني ڪندڙ مادري ٻولي جي ضرورت مطابق شامل ڪيا ويندا آهن: اردو نظرثاني ڪندڙ اردو مادري هوندا آهن (عموماً سنڌ ۾ مقيم، پاکستاني سرڪاري اندازِ بيان کان واقف)؛ سنڌي نظرثاني ڪندڙ سنڌي مادري هوندا آهن. نظرثاني ڪندڙن کي ٽريننگ ۽ سرٽيفڪيشن ماڊيول (O) هيٺ جاري مواد کان نمٽڻ کان اڳ امتحان مان گذريل "Native Reviewer" سرٽيفڪيشن ذريعي معتبر ڪيو ويندو آهي — عملي جي سرٽيفڪيشن واري نموني جي عڪاسي. حساس مواد (سرڪاري خط، قانوني/RTI الفاظ) لاءِ في لوڪيل گهٽ ۾ گهٽ ٻه نظرثاني ڪندڙ تکثر ۽ باهمي چيڪ لاءِ رکيا ويندا آهن.
7. لغت تي مبني اصطلاح جي مستقل مزاجي
7.1 لغت بطورِ معاهدو
_glossary.md SITP لاءِ مستند ٽن ٻوليائي اصطلاح لغت آهي. هر سرڪاري، قانوني، ٽِڪيٽنگ، ڪردار، تکنيڪي، ۽ مخفف اصطلاح جو هڪ منظور ٿيل EN/UR/SD رينڊرنگ آهي. مترجمن، نظرثاني ڪندڙن، ۽ AI ترجمو پائيپ لائين کي انهن رينڊرنگز جو بالڪل استعمال ڪرڻ گهرجي؛ انحراف هڪ عيب آهي جيڪو QA ۾ پڪڙيو ويندو آهي (§15 ڏسو).
7.2 مارڪ ڊائون کان استفسار جي قابل اصطلاحي DB تائين
مارڪ ڊائون لغت انسان جي پڙهڻ جي قابل ماخذ آهي. هڪ بلڊ مرحلو ان کي هڪ اصطلاحي ڊيٽابيس (انگريزي اصطلاح کان کليل JSON نقشو، ur, sd, definition, ۽ notes فيلڊز سان) ۾ مرتب ڪري ٿو جيڪو:
- AI ترجمو پائيپ لائين پابنديون طور لوڊ ڪري ٿو (ڄاڻايل اصطلاحن لاءِ مجبور ترجما؛ عام غلطين لاءِ ممنوع ميپنگز).
- QA لِنٽر مڪمل ٿيل ترجمن جو مقابلو ڪري ٿو (هر هنڌ جھنڊو لڳائي ٿو جتي "Department" کي
وزارترينڊر ڪيو ويو — §16 ڏسو). - نظرثاني ڪندڙ ورڪ بينچ اِن لائن ڏيکاري ٿو ته جيئن نظرثاني ڪندڙ منظور ٿيل اصطلاح مسودي سان گڏ ڏسي.
- دستاويز بلڊ UR/SD دستاويز ترجمن جي ميچنگ تصديق لاءِ استعمال ڪري ٿو.
7.3 لغت جي واڌويجھه
جڏهن ڪو دستاويز يا ترجمو اهڙي اصطلاح متعارف ڪرائي جيڪا لغت ۾ نہ هجي، ته روایت (_conventions.md §2 ڏسو) هي آهي ته پهرئين ان کي لغت ۾ شامل ڪريو، پوءِ منظور ٿيل ترجمو هر هنڌ استعمال ڪريو. لغت تنهنڪري هڪ زندهه شئي آهي؛ ان ۾ تبديليون ورژنڊ ۽ سڀني فعلي نظرثاني ڪندڙن ڏانهن نشر ڪيون وينديون آهن ته جيئن اهي جاري ترجمن کي نئين اصطلاح جي مقابلي ۾ ٻيهر ڄاڻن.
7.4 CI ۾ مستقل مزاجي جون چيڪس
هڪ اصطلاحي لِنٽر هر لوڪيل ڪئٽلاگ ۽ MDX فائل تي CI ۾ هلندو آهي:
- لغت جي اصطلاحن جي غير منظور ٿيل رينڊرنگز جو پتو لڳائي ٿو.
- ساڳئي EN اصطلاح جي ٻن فائلن ۾ غير مستقل ترجمن جو پتو لڳائي ٿو (ساڳيو انگريزي لفظ ٻن ڪئٽلاگ ۾ ٻن مختلف طريقن سان ترجمو).
- ممنوع ميپنگز جو پتو لڳائي ٿو (مثال طور
Department→وزارت). - نتيجن کي بلڊ وارنگز (نرم عدم استقلال لاءِ) يا بلڊ ناڪاميون (ممنوع ميپنگز لاءِ) طور رپورٽ ڪري ٿو.
8. RTL هينڊلنگ
8.1 سمٽ بطورِ لاءِ آئوٽ پرائميٽو
اردو ۽ سنڌي ساڄي کان کاٻي رينڊر ٿينديون آهن. RTL هڪ CSS پوئين قدم ناهي؛ اهو لاءِ آئوٽ جو هڪ فرسٽ ڪلاس بُعد آهي جيڪو ٽن ميڪانيزمز جي گڏجي ڪم ڪرڻ سان سنڀاليو ويندو آهي.
8.2 ميڪانيزم 1 — dir attribute
دستاويز جو <html> عنصر en لاءِ dir="ltr" ۽ ur ۽ sd لاءِ dir="rtl" رکي ٿو. Docusaurus ان کي لوڪيل مان پاڻ مرتب ڪري ٿو؛ Next.js پورٽل ان کي روٽ لاءِ آئوٽ تي تعين ٿيل لوڪيل مان مرتب ڪري ٿو. dir attribute هر اولاد تائين سرایت ڪري ٿو، تنهنڪري پورو جزو وڻ بغير ڪنهن في جزو ڪم جي پلٽي ويندو آهي. lang attribute متوازي طور مرتب ڪيو ويندو آهي (lang="en", lang="ur", lang="sd") اسڪرين ريڊرز ۽ سرچ انجنز لاءِ (§14 ڏسو).
8.3 ميڪانيزم 2 — CSS منطقي خاصيتون
سمورو لاءِ آئوٽ CSS منطقي خاصيتون استعمال ڪري ٿو طبعي بدران، تنهنڪري هڪ ئي قانون ٻنهي سمتن ۾ ڪم ڪري ٿو:
| طبعي (ممنوع) | منطقي (استعمال ٿيل) |
|---|---|
margin-left |
margin-inline-start |
margin-right |
margin-inline-end |
padding-left / padding-right |
padding-inline-start / padding-inline-end |
left / right (پوزيشننگ) |
inset-inline-start / inset-inline-end |
float: left |
flex/grid + inline-start سان ٻيهر گھڙيو |
text-align: left |
text-align: start |
border-left |
border-inline-start |
TailwindCSS (قفل اسٽيڪ) پنهنجي ps-/pe-/ms-/me-/start-/end- يوٽيلٽيز ۽ rtl:/ltr: متغیر modifier ذريعي منطقي خاصيتن جي تائيد ڪري ٿو انهن نادر ڪيسز لاءِ جتي لفظي mirror ضروري هجي. ٽيم منطقي يوٽيلٽيز تي معيار قائم رکي ٿي؛ طبعي pl-/pr-/ml-/mr- کي صريح جواز کانسواءِ لِنٽ جھنڊو لڳائي ٿو.
8.4 ميڪانيزم 3 — آئيڪن ۽ لاءِ آئوٽ mirroring
سمتي آئيڪن RTL ۾ mirror ٿيندا آهن: هڪ "واپس" تير جيڪو LTR ۾ کاٻي ڏانهن اشارو ڪري ٿو RTL ۾ ساڄي ڏانهن اشارو ڪري ٿو؛ هڪ "اڳيون" شيورون پلٽي ٿو؛ هڪ سائڊبار جيڪو LTR ۾ کاٻي پن ٿيل هجي RTL ۾ ساڄي پن ٿيندو آهي. هي هيٺين ذريعي سنڀاليو ويندو آهي:
- هڪ
<Icon dir="auto" />ريپر جو افقي مخصوص آئيڪنز کي جڏهن وراثت ۾ ملندڙ سمٽ RTL هجي پلٽي ٿو. آئيڪنز جيڪي واقعي غير سمتي آهن (play, expand, list-bullet) کيdata-no-mirrorسان نشانزد ڪيو ويندو آهي ۽ اهوئتي رکيا ويندا آهن. - لاءِ آئوٽ سطح جو mirroring flexbox
flex-row(جوdirجو پاڻمرادو احترام ڪري ٿو) ذريعي مطلق پوزيشننگ بدران. - صريح
rtl:Tailwind متغیر انهن چند ڪيسز لاءِ جتي لفظي mirror گهربل هجي (مثال طور هڪ مخصوص avatar overlap).
8.5 ٻه طرفي متن جو ملغوتو
جڏهن اردو يا سنڌي متن ۾ embedded Latin هجي (ٽِڪيٽ IDz جهڙوڪ SITP-2026-LBR-000123، مخففات جهڙوڪ SECP، نمبرز، URLs)، Unicode Bidirectional Algorithm رينڊرنگ سنڀالي ٿو. حدن تي spill-over خامين کان بچڻ لاءِ، ٽيم embedded LTR رنز کي <bdi> ۾ لپائي ٿي ۽ استعمال ڪندڙ جي جمع ٿيل مواد فيلڊز تي dir="auto" استعمال ڪري ٿي ته جيئن برائوزر پهرئين مضبوط سمتي اکر مان سمٽ چونڊي. ٽِڪيٽ IDz، CNICs، ۽ NTNs هميشه RTL نثر اندر به LTR رينڊر ٿيندا آهن، هڪ صريح <span dir="ltr"> ريپر استعمال سان.
8.6 RTL ناهي ڇا
RTL هڪ الگ ڊزائين يا الگ جزو وڻ ناهي. هڪ ڊزائين نظام آهي (/specs/sd/16-branding-design-system/ ڏسو) جيڪو ٻنهي سمتن ۾ رينڊر ٿئي ٿو. ڪابه Component.ltr.tsx ۽ Component.rtl.tsx فائليون ناهيون. چند استثنا (هڪ آئيڪن جنهن جو mirror نہ ٿيڻ ضروري هجي، هڪ هيرو خاڪو جنهن ۾ embedded سمعي معني هجي) نشانزد ڪيا ويندا آهن ۽ انفرادي طور نظرثاني ڪيا ويندا آهن.
9. ٽائيپوگرافي ۽ فونٽس
9.1 قفل فونٽ اسٽيڪ
_context.md §7 مطابق:
| لوڪيل | بنيادي فونٽ | فال بيك |
|---|---|---|
en |
Inter (UI) / Poppins (ڊسپلي/هيڊنگز) | system sans-serif |
ur |
Noto Nastaliq Urdu | Jameel Noori Nastaleeq (system), sans-serif |
sd |
Noto Naskh Arabic (سنڌي وڌايل glyph ڪوريچ) | system Arabic, sans-serif |
9.2 لوڊنگ حڪمت عملي
فونٽس سيلف هوسٽڊ آهن (رن ٽائم تي Google Fonts کان لوڊ ناهيا ٿيندا، رازداري ۽ ڪارڪردگي لاءِ) ۽ في لوڪيل subset ڪيا ويندا آهن:
- ڪنهن ڏنل صفحي تي صرف فعلي لوڪيل جو فونٽ خاندان لوڊ ٿئي ٿو.
/ur/...تي ڪو به زائرِ Inter ڊائون لوڊ ناهي ڪندو؛/en/...تي ڪو به زائرِ Noto Nastaliq Urdu ڊائون لوڊ ناهي ڪندو. - هر فونٽ کي unicode-range subsets ۾ ورهايو ويندو آهي ۽
font-display: swapسانwoff2طور پيش ڪيو ويندو آهي ته جيئن متن فوراً فال بيك ۾ رينڊر ٿئي ۽ دستياب ٿيڻ تي web font ۾ بدلجي وڃي. - Preload اشارا صرف موجوده above-the-fold subset لاءِ خارج ڪيا ويندا آهن.
9.3 لائن هائٽ ۽ عمودي تال
Nastaliq (اردو) ۽ Naskh (سنڌي) رسم خطوط کي لاطيني متن کان ڊگهي لائن هائٽ گهربل آهي — Nastaliq خاص طور تي وڏو عمودي احاطو رکي ٿو (descenders ۽ stacked diacritics). ڊزائين نظام في لوڪيل لائن هائٽ ۽ letter-spacing ٽوڪنز ڏي ٿو: EN ٽوڪنز طئي ٿيل طور ~1.5 لائن هائٽ؛ UR ٽوڪنز ~2.0؛ SD ٽوڪنز ~1.8. اهي lang attribute کان کليل CSS متغیرات ذريعي لاڳو ٿيندا آهن، في جزو override ذريعي نہ.
9.4 فونٽ سائزز ۽ قابلِ پڙهائي
اردو ۽ سنڌي ساڳئي فونٽ سائز تي لاطيني کان طبعي طور تي ننڍيون رينڊر ٿينديون آهن، رسم خط جي جيوميٽري جي ڪري. ڊزائين نظام هڪ في لوڪيل فونٽ سائز اسڪيلنگ فيڪٽر لاڳو ڪري ٿو (UR/SD جو باڊي متن ساڳئي بصري درجه بندي سطح تي EN کان ~10–15% وڏو آهي) ته جيئن بصري قابلِ پڙهائي ٻولين جي وچ ۾ مستقل رهي.
10. ٻٽو ڪئلينڊر نظام (گریگورین + هجري)
10.1 سرڪاري روایت
_context.md §2 مطابق، SITP گریگورین ۽ هجري ٻنهي تاريخون هر هنڌ ڏيکاري ٿو — پاڪستان سرڪاري خط و ڪتابت جي روایت. جتي به ڪا تاريخ استعمال ڪندڙ کي ڏيکاري ويندي آهي (ٽِڪيٽ جي بنيادي تاريخ، SLA آخري تاريخ، MoM ميٽنگ جي تاريخ، سرڪاري خط جي تاريخ، اطلاع جو timestamp)، ٻئي ڪئلينڊر ظاهر ٿيندا آهن، گریگورین بنيادي ۽ هجري ان سان گڏ يا هيٺ ماخوذ.
10.2 ذخيرو بمقابله پيشڪش
- ذخيرو: هر timestamp UTC گریگورین طور محفوظ ٿيندو آهي (MariaDB ۾
DATETIME(6)—/specs/sd/15-tech-architecture/§5.3 ڏسو). هجري ڪڏهن به سچائيءَ جي سرچشمي طور محفوظ ناهي ٿيندو؛ اهو هميشه ماخوذ ٿيندو آهي. - پيشڪش: هڪ لوڪيل آگاهه فارميٽر محفوظ UTC لمحي کي (a) استعمال ڪندڙ جي لوڪيل فارميٽ ۾ گریگورین، ۽ (b) Umm al-Qura يا مساوي فلڪياتي تبديلي ذريعي هجري ۾ رينڊر ڪري ٿو، پاڪستان جي چاند ڏسڻ لاءِ موافق جتي سرڪاري تاريخون مختلف هجن (اعلان ٿيل عوامي رخصتن لاءِ هڪ محفوظ override ٽيبل ذريعي سنڀال).
- ٽائم زون: پيشڪش
Asia/Karachi(PKT, UTC+5) ۾ بدلائي ويندي آهي.
10.3 تاريخ چونڊيندڙ
پورٽل ۾ هر تاريخ پيڪر (SLA آخري تاريخ override، ميٽنگ شيڊولر، رپورٽ تاريخ حد فلٽر، رخصت ڪئلينڊر ايڊيٽر) ٻٽي ان پٽ ڏئي ٿو: استعمال ڪندڙ گریگورین تاريخ چونڊي ٿو ۽ لاڳاپيل هجري تاريخ ان سان گڏ ڏيکاري ويندي آهي (۽ ان جي الٽو — هجري تاريخ چونڊڻ گریگورین کي واپس حساب ڏي ٿي). ٻئي قدرون بڪ اِنڊ تائين وڃن ٿيون؛ گریگورین مستند آهي.
10.4 رخصت ڪئلينڊر
سنڌ جو عوامي رخصت ڪئلينڊر (SLA روڪڻ لاءِ استعمال، _context.md §5 مطابق) هر رخصت لاءِ گریگورین ۽ هجري ٻئي تاريخون رکي ٿو، ڇاڪاڻ ته اسلامي رخصتون هجري سان تعريف ٿيل آهن (Eid, Ashura, Eid Milad-un-Nabi) جڏهن ته شهري رخصتون گریگورین سان تعريف ٿيل آهن (يومِ آزادي، يومِ مزدور). SLA انجن گریگورین normal ٿيل شڪل استعمال ڪري ٿو.
11. نمبر، تاريخ، ڪرنسي ۽ فون فارميٽنگ
سموري فارميٽنگ هڪ ءُ لوڪيل آگاهه فارميٽر مان گذري ٿي (Intl تي مبني، حل ٿيل لوڪيل مان مرتب). ڪابه فارميٽ اسٽرنگ هٿ سان ناهي ٺاهي ويندي.
| معاملو | EN فارميٽ | UR فارميٽ | SD فارميٽ | نوٽس |
|---|---|---|---|---|
| گریگورین تاريخ | 17 Jul 2026 |
۱۷ جولائی ۲۰۲۶ |
۱۷ جولاءِ ۲۰۲۶ |
لوڪيل آگاهه مهينو نالا؛ UR/SD ۾ طئي ٿيل طور مشرقي عربي انگ (قابلِ ترتيب — §11.1 ڏسو). |
| وقت | 2:30 PM |
۲:۳۰ بجہ دوپہر |
۲:۳۰ بجہُ دوپھر |
لوڪيل AM/PM اسٽرنگ سان 12 ڪلاڪ؛ PKT. |
| صحيح عدد | 1,234 |
۱٬۲۳۴ |
۱٬۲۳۴ |
گروپنگ الڳ ڪندڙ لوڪيل آگاهه. |
| ڪرنسي (PKR) | Rs 15,000 / ₨ 15,000 |
روپے ۱۵٬۰۰۰ |
روپيا ۱۵٬۰۰۰ |
هميشہ PKR؛ integer paisa طور محفوظ (/specs/sd/15-tech-architecture/ §5.3 ڏسو). |
| فون (PK) | +92 300 1234567 |
+۹۲ ۳۰۰ ۱۲۳۴۵۶۷ |
+۹۲ ۳۰۰ ۱۲۳۴۵۶۷ |
E.164 محفوظ؛ PK گروپنگ سان ڏيکاري. |
| سيڪڙو | 45% |
۴۵٪ |
۴۵٪ |
لوڪيل عدد + لوڪيل سيڪڙو نشاني. |
| ٽِڪيٽ ID | SITP-2026-LBR-000123 |
SITP-2026-LBR-000123 |
SITP-2026-LBR-000123 |
هميشہ لاطيني انگ، هميشہ LTR — IDz شناخت ڪندڙ آهن، نثر ناهي. |
11.1 عددي پاليسي
پاڪستان عموماً اردو ۽ سنڌي نثر ۾ مشرقي عربي انگ (۰۱۲۳۴۵۶۷۸۹) استعمال ڪري ٿو، مگر تکنيڪي/ڊيٽا سياق ۾ لاطيني انگ. SITP جو طئي ٿيل نثر ۾ UR/SD لاءِ مشرقي عربي، ڊيٽا گھڻائي UI ۾ لاطيني (ٽيبلز، ڊيش بورڊز، ٽِڪيٽ IDz، SLA ڪائونٽ ڊائونز) آهي، قابلِ پڙهائي ۽ analytics ايکسپورٽس سان استقلال لاءِ. عددي متغیر هڪ في لوڪيل ٽوڪن آهي جنهن کي Super Admin ترتيب ڏئي سگهي ٿو، تنهنڪري ڪو محڪمو جيڪو سڀ لاطيني پسند ڪري ٿو بدلائي سگهي ٿو.
11.2 فون فارميٽنگ
فون نمبرز E.164 (+92...) ۾ محفوظ ٿيندا آهن، ان پٽ تي توثيق ٿيل، ۽ PK آگاهه فارميٽر ذريعي رينڊر ٿيندا آهن. CNIC ۽ NTN فارميٽس پنهنجن سرڪاري نمونن جي پيروي ڪن ٿا (CNIC: XXXXX-XXXXXXX-X؛ NTN: 7 انگ) ۽ RTL لوڪيلز ۾ به هميشہ LTR رينڊر ٿيندا آهن، <span dir="ltr"> ۾ لپايل.
11.3 ڪرنسي
سموري ڪرنسي PKR (پاڪستاني روپيو) آهي. پورٽل غير ملڪي ڪرنسي مقامي طور ناهي سنڀاليندو؛ IT انڊسٽري فائدو وٺندڙ سياق گهرلو آهي. ڪرنسي integer minor يونٽس (paisa) طور محفوظ آهي ۽ پيشڪش تي فارميٽ ٿيندي آهي.
12. مواد جي فال بيك حڪمت عملي
12.1 قاعدو
جيڪڏهن ڪو ترجمو فعلي لوڪيل ۾ غائب هجي، ته نظام انگريزي تي فال بيك ڪري ٿو ۽ هڪ مرئي نشاني ڏيکاري ٿو ته جيئن فرق ڪڏهن به خاموش نہ رهي. خاموش فال بيك (ڪنهن اشاري کانسواءِ انگريزي ڏيکارجڻ) ممنوع آهي ڇاڪاڻ ته اهو استعمال ڪندڙن ۽ نظرثاني ڪندڙن کان ترجمي جو قرض لڪائي ٿو.
12.2 مرئي نشاني
هڪ غائب ڪنجي جو حل هن ريت رينڊر ٿئي ٿو:
- انگريزي اسٽرنگ، هڪ هلڪي بصري علاج ۾ (هڪ پتلي نقطيدار underline، يا ڪنڊ ۾ هڪ ننڍڙو "EN" بيچ، استعمال ڪندڙ جي قابلِ رسائي ترتين ذريعي configurable).
- dev/staging ۾ ڪنسول وارننگ (پروڊڪشن ڪنسول آئوٽ پٽ ۾ ڪڏهن ناهي جيڪو اختتامي استعمال ڪندڙ ڏسندا، مگر ٽريڪنگ لاءِ Sentry ۾ logged).
- ترجمو قرض ڊيش بورڊ (§15 ڏسو) ۾ هڪ قطار جيڪا ڪنجي، لوڪيل، ۽ جتي استعمال ٿئي ٿي فهرست ڪري ٿي.
12.3 فال بيك زنجير
active-locale string → (missing) → English string → (missing) → the key itself in [brackets]
آخري [key.itself] حالت CI ۾ پڪڙجندڙ سخت ناڪامي آهي (§5.3) ۽ ڪڏهن به پروڊڪشن تائين نہ پهچڻ گهرجي. وچين حالت (نشاني سان انگريزي فال بيك) قابلِ قبول وقفي آهي؛ مقصد ڪنهن به جاري لوڪيل ۾ ٻنهي مان ڪنهن جو صفر آهي.
12.4 ڊگهو فارميٽ مواد
MDX مواد (KB مضمون، SOPs) لاءِ، جيڪڏهن ڪنهن لوڪيل جو ترجمو stale يا غائب هجي، ته صفحو مٿي هڪ بينر سان گڏ انگريزي نسخو رينڊر ڪري ٿو: "هي مضمون اڃا [اردو/سنڌي] ۾ دستياب ناهي. انگريزي اصل ڏيکاري پي رهيو آهي." بينر هڪ تاثر (feedback) لنک رکي ٿو ته جيئن استعمال ڪندڙ ترجيح جي درخواست ڪري سگهن، ۽ فرق logged ٿئي ٿو.
13. SEO: في لوڪيل hreflang ۽ sitemap
13.1 hreflang
هر عوامي صفحو هر لوڪيل لاءِ <link rel="alternate"> ٽيگز، ساڳي x-default سان خارج ڪري ٿو:
<link rel="alternate" hreflang="en" href="https://sindhitportal.maahir.io/en/..." />
<link rel="alternate" hreflang="ur" href="https://sindhitportal.maahir.io/ur/..." />
<link rel="alternate" hreflang="sd" href="https://sindhitportal.maahir.io/sd/..." />
<link rel="alternate" hreflang="x-default" href="https://sindhitportal.maahir.io/en/..." />
x-default EN مرجع ڏانهن اشارو ڪري ٿو. لوڪيل پيشوا ٿيل URL مستند آهي (§3.1 ڏسو)؛ نقلِ مواد جي ابهم کان بچڻ لاءِ ڪو به غير پيشوا ٿيل لوڪيل ناهي. hreflang Next.js پورٽل (في رستو) ۽ Docusaurus دستاويزي سائيٽ (بلٽ اِن i18n تائيد) ٻنهي ذريعي خارج ڪيو ويندو آهي.
13.2 Sitemap
هڪ في لوڪيل sitemap انڊيڪس بلڊ وقت تي تيار ڪيو ويندو آهي:
/sitemap.xml → index listing the per-locale sitemaps
/sitemap-en.xml → all EN public URLs
/sitemap-ur.xml → all UR public URLs
/sitemap-sd.xml → all SD public URLs
هر في لوڪيل sitemap ۾ صرف انهيءَ لوڪيل جي پيشوا ۾ URLs فهرست آهن، lastmod مواد جي آخري ترجمو منظوري جي عڪاسي ڪري ٿو (EN مرجع جي ترميم ناهي)، تنهنڪري سرچ انجنز ڏسندا آهن ته UR يا SD نسخو واقعي ڪڏهن بدليو.
13.3 مقامياندازي ٿيل ميٽا ڊيٽا
<title>, <meta description>, Open Graph, ۽ Twitter Card ٽيگز سڀ لوڪيل ڪئٽلاگ مان ماخوذ ٿيندا آهن — ڪڏهن به هارڊڪوڊ ناهيا، ڪڏهن به SEO پرت ذريعي خودڪار ترجمو ناهي. هر عوامي صفحي جو ميٽا ڊيٽا هڪ نظرثاني ٿيل ترجمو آهي. OG تصويرون مقامياندازي ٿيل متن overlays رکن ٿيون جتي ڊزائين نظام تائيد ڪري ٿو (/specs/sd/16-branding-design-system/ ڏسو).
13.4 robots ۽ crawl بجٽ
/ur/ ۽ /sd/ وڻ مڪمل طور crawl جي قابل آهن (بلاڪ ناهي ٿيل)؛ اهي فرسٽ ڪلاس مواد آهن. سرچ انجن جي crawl بجٽ جي نگراني observability ۾ ڪئي ويندي آهي؛ جيڪڏهن ڪو لوڪيل مسلسل طور گهٽ اِنڊيڪس ٿيل هجي، ته سبب (سست رينڊر، غائب hreflang، پتلو مواد) جي تفتيش ۽ اصلاح ڪئي ويندي آهي.
14. في لوڪيل قابلِ رسائي
WCAG 2.1 AA مطابقت (_context.md §2 ۾ قفل) ٽنهي لوڪيلز تي هڪجهڙي لاڳو ٿئي ٿي. قابلِ رسائي هڪ واحد لوڪيل جو معاملو ناهي.
14.1 ٻولي جي نسبت
- هر صفحو صحيح
<html lang="..." dir="...">مرتب ڪري ٿو. - مخلوط ٻوليءَ جي رنز کي
<span lang="...">۾ لپايو ويندو آهي ته جيئن اسڪرين ريڊر جملي جي وچ ۾ آواز بدلائي (مثال طور هڪ سنڌي پيراگراف جيڪو انگريزي مخفف جو حوالو ڏي). - استعمال ڪندڙ جي جمع ٿيل مواد
lang="auto"استعمال ڪري ٿو ته جيئن اسڪرين ريڊر ٻولي کڻي.
14.2 RTL اسڪرين ريڊر تائيد
- سمورن تعاملي عنصرن جا مرئي فوڪس اشارا آهن جيڪي ٻنهي سمتن ۾ ڪم ڪن ٿا (صحيح پاسي فوڪس رنگڻ).
- DOM ۾ پڙهڻ جي ترتيب RTL ۾ بصري ترتيب سان مطابقت رکي ٿي (ڪابه CSS حيلا ناهيون جيڪي ڏسندڙ استعمال ڪندڙن لاءِ مواد کي ٻيهر ترتيب ڏين مگر اسڪرين ريڊر وهڪرو ڀڃن).
- لينڊ مارڪ ڪردار (
nav,main,aside,footer) سمٽ کان آزاد ۽ مستقل طور اعلان ٿيل آهن.
14.3 رنگ تضاد ۽ ٽائيپوگرافي
- برانڊ پيليٽ (Ajrak کان متاثر نيرو/مغولاني/ڪارو —
_context.md§7 ڏسو) LTR ۽ RTL ٻنهي لاءِ آئوٽ ۾ WCAG AA تضاد تي جانچيو ويندو آهي. - في لوڪيل فونٽ اسڪيلنگ (§9.4) ۽ لائن هائٽ ٽوڪنز (§9.3) AA گهٽ ۾ گهٽ باڊي متن سائز تي قابلِ پڙهائي لاءِ توثيق ٿيل آهن.
- ڊگها اردو/سنڌي لفظن کي
overflow-wrap: anywhereسان ڪٿي به ٽٽڻ جي اجازت آهي ته جيئن تنگ ويوپورٽس تي افقي scroll نہ ٿئي.
14.4 ڪي بورڊ نيويگيشن
Tab ترتيب LTR ۽ RTL ٻنهي ۾ بصري ترتيب جي پيروي ڪري ٿي. ڪي بورڊ شارٽ ڪٽس جيڪي سمٽ جو تاثر ڏين ٿيون (مثال طور واپس لاءِ Alt+Left) RTL ۾ mirror ٿينديون آهن (واپس لاءِ Alt+Right) يا جتي ممڪن هجي سمٽ کان غير جانبدار ٿينديون آهن. Skip-to-content لنڪس ٻنهي سمتن ۾ ڪم ڪن ٿا.
14.5 معاون ٽيڪنالاجي جانچ
هر رليز ۾ ٽنهي لوڪيلز تي NVDA + Firefox ۽ VoiceOver + Safari تي معاون ٽيڪنالاجي جو جائزو شامل آهي، Nastaliq ۽ Naskh تلفظ تي خاص توجهه سان. نتيجا لوڪيل کي published نشانزد ڪرڻ کان اڳ بند ٿيڻ تائين ٽريڪ ڪيا ويندا آهن.
15. ترجمو QA ۽ نظرثاني گیٽس
15.1 QA پائيپ لائين
ترجمي جي معيار کي چئن گیٽس تي نافذ ڪيو ويندو آهي:
| گیٽ | ڪڏهن | ڇا هلندو آهي | ناڪامي جو اقدام |
|---|---|---|---|
| G1 — لِنٽ | هر commit تي | No-hardcoded-strings قاعدو؛ logical-properties-only قاعدو؛ لغت اصطلاح چيڪ. | بلڊ ناڪام. |
| G2 — همآهنگي | هر PR جيڪو لوڪيلز کي چڙهي | هر EN ڪنجي UR ۽ SD ۾ موجود؛ ڪو يتيم ڪنجي ناهي. | بلڊ ناڪام (يا صريح قرض شئي کُلي). |
| G3 — مقامي نظرثاني | اشاعت کان اڳ | مقامي انساني نظرثاني ڪندڙ §6 مطابق دستخط ڪري ٿو. | شئي in-review ۾ رهندي آهي. |
| G4 — بصري جائزو | رليز کان اڳ | هر تبديل ٿيل اسکرين جون LTR ۽ RTL اسڪرين شارٽس؛ ٻه طرفي ملغوتو چيڪ؛ فونٽ رينڊر چيڪ. | رليز روڪيل. |
15.2 ترجمو قرض ڊيش بورڊ
هڪ اندروني ڊيش بورڊ (Super Admin ۽ Department Admin کي نظر ايندڙ) رپورٽ ڪري ٿو:
- هفتيوار في لوڪيل پروڊڪشن ۾ EN فال بيك واقعتن جي گنتي.
staleترجمن جي گنتي (آخري منظوري کان پوءِ EN بدليل).- هر نظرثاني قطار ۾
source-only۽ai-draftشين جي گنتي. - نظرثاني ڪندڙن جي ڪارڪردگي (في نظرثاني ڪندڙ في هفتو منظور ٿيل شيون).
- تعداد مطابق top فال بيك ڪنجيون (ته جيئن سڀ کان وڌيڪ استعمال ڪندڙ کي نظر ايندڙ فرق کي ترجيح ڏني وڃي).
15.3 لساني QA نمونو چونڊ
في شئي نظرثاني کان هٽي، هڪ وقتي لساني QA جائزو في لوڪيل جاري ٿيل مواد جو نمونو وٺي ٿو ۽ چيڪ ڪري ٿو: لغت آخري اپڊيٽ کان پوءِ اصطلاحي انحراف، اندازِ بيان جو استقلال، پيداوار بھر ۾ لھجو، ۽ ثقافتي مناسبيت. نتيجا لغت ۽ AI ٽيوننگ سيٽ ۾ واپس کارايا ويندا آهن.
15.4 ٻنهي سمتن ۾ بصري regression
بصري regression سويٽ (/specs/sd/13-test-strategy/ جو حصو) هر ڪهاڻي کي dir="ltr" ۽ dir="rtl" ٻنهي ۾ هلائي ٿو. هڪ تبديلي جيڪا EN ۾ صحيح مگر UR يا SD ۾ لاءِ آئوٽ ڀڃي، سويٽ ناڪام ڪري ٿي.
16. سرڪاري اصطلاح ۽ تميز
16.1 محڪمو بمقابله وزارت جو امتياز
SITP ۾ سڀ کان اهم اصطلاحي قاعدو، _glossary.md ۾ قفل (top critical-distinction note):
S&ITD هڪ صوبائي محڪمو آهي — اردو
محکمہ/ سنڌيمحڪمو. اهو هڪ وزارت ناهي — اردووزارت/ سنڌيوزارت. مترجمن کي ڪڏهن به "Department" کي "وزارت" رينڊر نہ ڪرڻ گهرجي يا ان جو الٽو.
اهو ان لاءِ اهم آهي ڇاڪاڻ ته پاڪستان جون وفاقي وزارتون ۽ صوبائي محڪما آئيني طور تي الگ آهن؛ ڪنهن سرڪاري خط يا عوامي صفحي تي S&ITD کي "وزارت" چوڻ هڪ واقعاتي ۽ سياسي غلطي آهي، اندازِ بيان جي ناهي. AI ترجمو پائيپ لائين کي اهو هڪ سخت ممنوع ميپنگ طور ڏنو ويندو آهي؛ QA لِنٽر (§7.4, §15 G1) ڪنهن به ترجمي کي ناڪام ڪندو آهي جيڪو "Department" لاءِ وزارت يا "Ministry" لاءِ محکمہ پيدا ڪري.
16.2 ٻيا قفل امتياز
| اصطلاح | صحيح | غلط | اهميت |
|---|---|---|---|
| محڪمو (صوبائي) | محکمہ / محڪمو | وزارت / وزارت | صوبائي بمقابله وفاقي (§16.1). |
| Notification (گزيٽ) | نوٹیفکیشن / نوٽيفڪيشن | اطلاع / اطلاع | پابند قانوني حڪم بمقابله نظام اطلاع (لغت §1 بمقابله §7). |
| Notification (نظام اطلاع) | اطلاع / اطلاع | نوٹیفکیشن / نوٽيفڪيشن | ساڳيو لفظ، مخالف ميپنگ — سياق طئي ڪري ٿو ڪهڙي. |
| شڪايت | شکایت / شڪايت | ٻيا رينڊرنگز | معياري شهري رُو به رُو اصطلاح. |
| مجاز نمائندو | مجاز نمائندہ / مجاز نمائندو | اڪيلو نمائندہ | "مجاز" قانوني بااختياري رکي ٿو؛ ڇڏڻ اصطلاح کي ڪمزور ڪري ٿو. |
| ٽريڪنگ آءِ ڊي | ٹریکنگ آئی ڈی / ٽريڪنگ آءِ ڊي | ٻيا رينڊرنگز | عوامي رُو به رُو شناخت ڪندڙ؛ استقلال ڳولا ۾ مدد ڪري ٿو. |
16.3 ڪڏهن به ترجمو نہ ٿيندڙ اصطلاحون
ڪجهه اصطلاحون لغت جي قاعدي مطابق ٽنهي لوڪيلز ۾ پنهنجي اصل شڪل ۾ رکيون وينديون آهن:
- مخففات:
SITP,S&ITD,SACM,NADRA,SECP,FBR,SRB,PSEB,NITB,SLA,FRT,TAT,CSAT,RBAC,2FA,OTP,PII,OCR,LLM,RAG,MoM,TRI,PKI,IVR,RTI,WCAG,RTL,CII,CERT-PK,PPP,ADP,SIFC,MoU. - نظام شناخت ڪندڙ: ٽِڪيٽ IDz (
SITP-2026-LBR-000123), CNIC, NTN, STRN, SECP انڪارپوريشن نمبرز. - پيداوار/نظام نالا جيڪي proper nouns آهن:
e-Office,Keycloak,Meilisearch,MinIO,Metabase,Mailjet,WhatsApp.
مترجمن ۽ AI پائيپ لائين کي هدايت ڪئي ويندي آهي ته انهن کي اهوئتي ڇڏي ڏنو وڃي؛ NADRA کي اردو رسم خط ۾ "ترجمو" ڪرڻ جي ڪوشش هڪ عيب آهي.
16.4 نقلِ نگاري (transliteration) فال بيك
جتي لغت ڪنهن اصطلاح کي (معياری ترجمہ درکار) ("standard translation needed") سان نشانزد ڪري، اصطلاح کي مقامي رسم خط ۾ نقلِ نگاري ڪيو ويندو آهي ۽ مستقبل ۾ لغت جي بهتري لاءِ نشانزد ڪيو ويندو آهي. اهي شيون قرض ڊيش بورڊ (§15.2) ۾ ظاهر ٿينديون آهن ته جيئن لغت جا مالڪ انهن کي بند ڪن.
17. فعلي تقاضا
| ID | تقاضو | MoSCoW |
|---|---|---|
FR-PUB-101 |
نظام بلڪل ٽن لوڪيلز جي تائيد ڪندو: en (مرجع, LTR), ur (RTL), sd (RTL). |
[Must] |
FR-PUB-102 |
نظام لوڪيل کي (ترتيب ۾) URL پيشوا، استعمال ڪندڙ ترجيح، ادارو طئي ٿيل، Accept-Language، ۽ آخر ۾ en مان تعين ڪندو. |
[Must] |
FR-PUB-103 |
نظام تعين ٿيل لوڪيل کي JWT، هر BullMQ جاب پے لوڊ، NestJS درخواست سياق، هر ٽيمپليٽ رينڊر، هر تلاش استفسار، ۽ هر AI ڪال تائين پکيڙيندو. | [Must] |
FR-PUB-104 |
استعمال ڪندڙ کي نظر ايندڙ اسٽرنگ سورس ڪوڊ ۾ هارڊڪوڊ ناهي ٿيندي؛ سڀ اسٽرنگز في لوڪيل ميسج ڪئٽلاگ مان ماخوذ ٿيندا. | [Must] |
FR-PUB-105 |
نظام UI اسٽرنگز لاءِ في لوڪيل ميسج ڪئٽلاگ (JSON) ۽ ڊگهي فارميٽ مواد لاءِ في لوڪيل MDX فراهم ڪندو. | [Must] |
FR-PUB-106 |
نظام هر صفحي تي هڪ لوڪيل سوئيچر فراهم ڪندو جيڪو URL پيشوا ٻيهر لکي، ڪوڪي اپڊيٽ ڪري، استعمال ڪندڙ رڪارڊ تي محفوظ ڪري، ۽ استعمال ڪندڙ جي موجوده جاءِ برقرار رکي. | [Must] |
FR-PUB-107 |
نظام اردو ۽ سنڌي لوڪيلز کي dir attribute ۽ CSS منطقي خاصيتن ذريعي ساڄي کان کاٻي رينڊر ڪندو. |
[Must] |
FR-PUB-108 |
نظام RTL ۾ سمتي آئيڪنز mirror ڪندو ۽ غير سمتي آئيڪنز لاءِ data-no-mirror escape hatch فراهم ڪندو. |
[Must] |
FR-PUB-109 |
نظام صرف فعلي لوڪيل جو فونٽ خاندان (EN لاءِ Inter/Poppins، UR لاءِ Noto Nastaliq Urdu، SD لاءِ Noto Naskh Arabic) لوڊ ڪندو، سيلف هوسٽڊ، subset، woff2. | [Must] |
FR-PUB-110 |
نظام هر استعمال ڪندڙ کي نظر ايندڙ تاريخ گریگورین ۽ هجري ٻنهي ۾ ڏيکاريندو، گریگورین بطورِ محفوظ سچائيءَ جي سرچشمي. | [Must] |
FR-PUB-111 |
نظام ٻٽي ان پٽ تاريخ پيڪر فراهم ڪندو جيڪي گریگورین ۽ هجري ساڳيهي ڏيکارين. | [Should] |
FR-PUB-112 |
نظام نمبرز، تاريخون، ڪرنسي، ۽ فون نمبرز کي هڪ ءُ لوڪيل آگاهه فارميٽر (Intl مبني) ذريعي فارميٽ ڪندو. |
[Must] |
FR-PUB-113 |
ڪرنسي هميشہ PKR هوندي، integer paisa طور محفوظ، پيشڪش تي فارميٽ. | [Must] |
FR-PUB-114 |
ٽِڪيٽ IDz، CNICs، NTNs، ۽ مخففات هميشہ لاطيني رسم خط ۽ LTR سمٽ ۾ رينڊر ٿيندا، RTL نثر اندر به. | [Must] |
FR-PUB-115 |
فعلي لوڪيل ۾ غائب ترجمي تي، نظام مرئي نشاني سان انگريزي اسٽرنگ تي فال بيك ڪندو. | [Must] |
FR-PUB-116 |
خاموش فال بيك (نشاني کانسواءِ انگريزي ڏيکارجڻ) نہ ٿيندو. | [Must] |
FR-PUB-117 |
هر عوامي صفحو en, ur, sd, ۽ x-default (EN ڏانهن) لاءِ hreflang متبادل لنڪس خارج ڪندو. |
[Must] |
FR-PUB-118 |
نظام هڪ sitemap انڊيڪس هيٺ في لوڪيل sitemap (sitemap-en.xml, sitemap-ur.xml, sitemap-sd.xml) تيار ڪندو. |
[Must] |
FR-PUB-119 |
نظام لغت منظور ٿيل ترجما AI ترجمو پائيپ لائين ۾ مجبور پابنديون طور لاڳو ڪندو. | [Must] |
FR-PUB-120 |
نظام ڪنهن به UR/SD مواد کي شايع ڪرڻ کان انڪار ڪندو جيڪو مقامي انساني نظرثاني مان نہ گذيو هجي. | [Must] |
FR-PUB-121 |
نظام في لوڪيل في شئي ترجمو صورتحالت (source-only, ai-draft, in-review, approved, published, stale) ٽريڪ ڪندو. |
[Must] |
FR-PUB-122 |
نظام استعمال ڪندڙ جي جمع ٿيل مواد (ٽِڪيٽ متن، پيغام، MoM) لاءِ گهرج تي "ترجمو" سهولت فراهم ڪندو، واضح طور تي مشين ترجمو ليبلزد، اصل محفوظ. | [Should] |
FR-PUB-123 |
نظام سنڌ عوامي رخصت ڪئلينڊر گریگورین ۽ هجري ٻنهي تاريخون ڏيکاريندو، SLA انجن جي استعمال لاءِ. | [Must] |
FR-PUB-124 |
نظام فال بيك واقعا، stale شيون، ۽ نظرثاني ڪندڙ ڪارڪردگي رپورٽ ڪندڙ هڪ ترجمو قرض ڊيش بورڊ فراهم ڪندو. | [Should] |
FR-PUB-125 |
CI پائيپ لائين هيٺين تي ناڪام ٿيندو: (a) هارڊڪوڊڊ اسٽرنگز، (b) ڪئٽلاگ ڪنجي همآهنگي فرق، (c) ممنوع لغت ميپنگز (مثال طور Department → وزارت). | [Must] |
FR-PUB-126 |
نظام هر صفحي تي صحيح <html lang="..." dir="..."> مرتب ڪندو. |
[Must] |
FR-PUB-127 |
بصري regression سويٽ هر اسکرين ڪهاڻي کي LTR ۽ RTL ٻنهي ۾ هلندي. | [Must] |
FR-PUB-128 |
نظام تکثر لاءِ في لوڪيل گهٽ ۾ گهٽ ٻه معتبر مقامي نظرثاني ڪندڙ برقرار رکندو. | [Should] |
FR-PUB-129 |
عددي رينڊرنگ (UR/SD نثر ۾ مشرقي عربي بمقابله لاطيني) Super Admin ذريعي في لوڪيل configurable هوندي. | [Could] |
18. غير فعلي تقاضا
| ID | تقاضو | MoSCoW |
|---|---|---|
NFR-PUB-101 |
لوڪيل تعين ڪناري تي 5 ms کان گهٽ ۾ مڪمل ٿيندو (ڪوڪي/URL پڙهائي)؛ هاٽ رستي تي ڪا DB ڪال ناهي. | [Must] |
NFR-PUB-102 |
فعلي لوڪيل جو فونٽ پے لوڊ (woff2، subset) پهرئين پينٽ تي 200 KB کان گهٽ هوندو. | [Must] |
NFR-PUB-103 |
ڪنهن صفحي تي لوڪيل بدلائڻ مڪمل صفحو ري لوڊ کي متحرک ناهي ڪندو جتي فريم ورڪ تائيد ڪري ٿو (Next.js App Router مقامي). | [Should] |
NFR-PUB-104 |
RTL ۽ LTR لاءِ آئوٽس ساڳيو جزو وڻ استعمال ڪندا (في سمٽ ٻٽا اجزا ناهي). | [Must] |
NFR-PUB-105 |
پيداوار ٽنهي لوڪيلز ۾ WCAG 2.1 AA مطابق هوندي، في رليز توثيق ٿيل. | [Must] |
NFR-PUB-106 |
مشين ترجمو ليٽنسي (گهرج تي استعمال ڪندڙ مواد ترجمو) 2,000 اکرن کان گهٽ مواد لاءِ p95 3 سيڪنڊ کان گهٽ هوندو. | [Should] |
NFR-PUB-107 |
ترجمو قرض ڊيش بورڊ گهٽ ۾ گهٽ روزانو ريفريش ٿيندو. | [Should] |
NFR-PUB-108 |
هجري تبديلي اعلان ٿيل عوامي رخصتن لاءِ پاڪستان سرڪاري هجري تاريخن (چاند ڏسڻ overrides) سان مطابقت رکندي. | [Must] |
NFR-PUB-109 |
ٽئني لوڪيلز مسلسل طور crawl جي قابل رهندا (robots.txt ۾ ڪو به لوڪيل بلاڪ ناهي). |
[Must] |
NFR-PUB-110 |
ڪئٽلاگ ڪنجي استقلال: ڪابه هيٺ استعمال ٿيل ترجمو ڪنجي متروڪ قرار ڏيڻ جي وقفي کانسواءِ نالو تبديل ناهي ٿيندي. | [Must] |
19. استعمال ڪندڙ ڪهاڻيون
US-PUB-101 — بغير جاءِ وڃائڻ جي لوڪيل بدلايو [Must]
بطورِ ڪمپني نمائندو آءُ چاهيان ٿو ويٺڪ جي وچ ۾ پورٽل کي انگريزي کان اردو ڏانهن بدلائڻ ته جيئن آءُ پنهنجي پسند جي ٻولي ۾ مواد پڙهي سگهان بغير اهو ٽِڪيٽ يا صفحو وڃائڻ جي جيکو آءُ ڏسي رهيو هوس.
قبول جا معيار (Gherkin)
Scenario: Locale switch preserves location
Given a Company Representative is viewing ticket SITP-2026-LBR-000123 in the English locale
When they click the locale switcher and select Urdu
Then the URL rewrites to the /ur/ prefix for the same ticket
And the page re-renders in Urdu with right-to-left direction
And the same ticket SITP-2026-LBR-000123 remains on screen
And the sitp_locale cookie is set to "ur"
And their user record's locale is persisted as "ur"
US-PUB-102 — تاريخون گریگورین ۽ هجري ٻنهي ۾ ڏسو [Must]
بطورِ آفيسر آءُ چاهيان ٿو ڪنهن ٽِڪيٽ جي هر تاريخ گریگورین ۽ هجري ٻنهي ڏيکارڻ ته جيئن منهنجي سرڪاري خط و ڪتابت سرڪاري روایت سان مطابقت رکي.
قبول جا معيار (Gherkin)
Scenario: Dual calendar display
Given an Officer is viewing a ticket with created-at 2026-07-17 14:30 PKT
Then the created-at timestamp shows "17 Jul 2026" (Gregorian)
And beside or beneath it shows the corresponding Hijri date
And both are rendered in the Officer's locale numeral format
US-PUB-103 — گهرج تي ڪنهن ايندڙ اردو ٽِڪيٽ جو ترجمو ڪريو [Should]
بطورِ انگريزي لوڪيل وارو آفيسر آءُ چاهيان ٿو اردو ۾ داخل ٿيل ٽِڪيٽ تي "ترجمو" ڪلڪ ڪرڻ ته جيئن آءُ پنهنجي انگريزي ويٺڪ ڇڏي بغير ان کي سمجهي سگهان.
قبول جا معيار (Gherkin)
Scenario: On-demand machine translation
Given an Officer with locale "en" is viewing a ticket whose description was authored in Urdu
When they click the "Translate" affordance
Then the system returns an English rendering via the AI translation capability
And the rendering is clearly labelled "Machine translation"
And the original Urdu text is preserved as the record
And an audit row is written recording the translation call
US-PUB-104 — خاموش انگريزي فال بيك ڪڏهن نہ ڏسو [Must]
بطورِ سنڌي لوڪيل استعمال ڪندڙ آءُ چاهيان ٿو ڄاڻڻ ته ڪڏهن ڪو مواد ان ڪري انگريزي ۾ ڏسڻ ۾ اچي ٿو ڇاڪاڻ ته سنڌي نسخو غائب آهي ته جيئن مون کي غير متوقع ٻوليءَ جي تبديليءَ کان الجهن نہ ٿئي.
قبول جا معيار (Gherkin)
Scenario: Visible fallback marker
Given the Sindhi locale catalog is missing the key "tickets.newBadge.tooltip"
When a Sindhi-locale user views the ticket list
Then the tooltip shows the English string
And the tooltip is rendered with the fallback marker (dotted underline or EN badge)
And the missing key is logged to the translation debt dashboard
US-PUB-105 — نظرثاني ڪندڙ هڪ AI ترجمو مسودو منظور ڪري [Must]
بطورِ مقامي اردو نظرثاني ڪندڙ آءُ چاهيان ٿو نئين لکيل KB مضمون جو AI تيار ڪيل اردو مسودو نظرثاني ڪرڻ ته جيئن صرف صحيح، لغت مطابق اردو عوامي سائيٽ تائين پهچي.
قبول جا معيار (Gherkin)
Scenario: Native review gate
Given a KB article was authored in English and the AI translation pass produced an Urdu draft
And the draft's status is "ai-draft"
When the reviewer opens the review workbench
Then they see the English source, the Urdu draft, and the glossary-approved terms side by side
And they can edit the draft inline
And on approval the status moves to "approved" and then "published"
And their edits are saved to the AI tuning corpus
20. ٽيسٽ ڪيسز
| ID | احاطو ڪري ٿو | منظرنامو |
|---|---|---|
TC-PUB-101-01 |
FR-PUB-102 |
گمنام طور /ur/tickets/... جو دور ڪريو؛ تصديق ڪريو ته لوڪيل ur حل ٿئي، dir=rtl، ڪوڪي مرتب. |
TC-PUB-104-01 |
FR-PUB-104 |
ان PR تي لِنٽ هلائيو جيڪو هارڊڪوڊڊ JSX اسٽرنگ متعارف ڪرائي ٿو؛ تصديق ڪريو ته بلڊ ناڪام ٿئي. |
TC-PUB-105-01 |
FR-PUB-105 |
ڪنجي tickets.foo صرف en/tickets.json ۾ شامل ڪريو؛ تصديق ڪريو ته CI همآهنگي چيڪ غائب ur/sd تي ناڪام ٿئي. |
TC-PUB-107-01 |
FR-PUB-107 |
ٽِڪيٽ فهرست ڪهاڻي ur ۾ رينڊر ڪريو؛ تصديق ڪريو ته <html dir="rtl"> ۽ leading ڪناري تي logical-property padding هجي. |
TC-PUB-108-01 |
FR-PUB-108 |
ur ۾ هڪ "واپس" آئيڪن بٽڻ رينڊر ڪريو؛ تصديق ڪريو ته آئيڪن en جي مقابلي ۾ mirror ٿيو. |
TC-PUB-110-01 |
FR-PUB-110 |
ur ۾ ٽِڪيٽ created-at رينڊر ڪريو؛ تصديق ڪريو ته گریگورین ۽ هجري ٻئي اسٽرنگز ظاهر ٿين. |
TC-PUB-114-01 |
FR-PUB-114 |
اردو پيراگراف اندر ٽِڪيٽ ID رينڊر ڪريو؛ تصديق ڪريو ته اهو dir="ltr" ۽ لاطيني ۾ لپايل هجي. |
TC-PUB-115-01 |
FR-PUB-115 |
sd/common.json مان ڪنجي x حذف ڪريو؛ صفحو سنڌي ۾ رينڊر ڪريو؛ تصديق ڪريو ته نشاني سان انگريزي فال بيك هجي. |
TC-PUB-119-01 |
FR-PUB-119 |
"Department" تي مشتمل هڪ EN اسٽرنگ AI ترجمو ڪريو؛ تصديق ڪريو ته پيداوار محڪمو (SD) استعمال ڪري، ڪڏهن وزارت نہ. |
TC-PUB-120-01 |
FR-PUB-120 |
بغير نظرثاني جي هڪ ai-draft UR شئي شايع ڪرڻ جي ڪوشش ڪريو؛ تصديق ڪريو ته اشاعت کان انڪار ٿئي. |
TC-PUB-125-01 |
FR-PUB-125 |
اهڙو PR جمع ڪريو جنهن جو UR ڪئٽلاگ "Department" کي وزارت رينڊر ڪري؛ تصديق ڪريو ته CI ممنوع ميپنگ چيڪ بلڊ ناڪام ڪري. |
TC-PUB-127-01 |
FR-PUB-127 |
تبديل ٿيل ٽِڪيٽس صفحو ڪهاڻي لاءِ بصري regression سويٽ ltr ۽ rtl ٻنهي ۾ هلائيو؛ تصديق ڪريو ته ٻئي پاس ٿين. |
21. کليل سوال / TBD
| # | شئي | صورتحالت |
|---|---|---|
| 1 | UR/SD نثر ۾ عددي طئي ٿيل: طئي ٿيل طور مشرقي عربي، يا لاطيني؟ تجويز: نثر ۾ مشرقي عربي، ڊيٽا گھڻائي UI ۾ لاطيني، configurable. | تجويز · TBD منظوري |
| 2 | هجري تبديلي ماخذ: اعلان ٿيل رخصتن لاءِ Umm al-Qura الگورتھم بمقابله پاڪستان Ruet-e-Hilal Committee چاند ڏسڻ overrides. تجويز: الگورتھم + ops ذريعي محفوظ override ٽيبل. | TBD |
| 3 | ڇا باريڪ SEO هدف ڪاري لاءِ hreflang ۾ en-PK / ur-PK / sd-PK علائقائي ذيلي ٽيگز شامل ڪيا وڃن، يا برهنه en/ur/sd تي رکجي. |
TBD |
| 4 | لانچ تي في لوڪيل معتبر مقامي نظرثاني ڪندڙن جو تعداد (FR-PUB-128 ۾ گهٽ ۾ گهٽ 2 تجويز). |
TBD اسٽافنگ |
| 5 | ڇا استعمال ڪندڙ مواد جي گهرج تي مشين ترجمو محفوظ (cached) ڪيو وڃي يا هميشه ٻيهر پيدا ڪيو وڃي. | TBD |
| 6 | سيلف هوسٽڊ فونٽ subsetting ٽولنگ (pyftsubset بمقابله fonttools پائيپ لائين) — بلڊ سيٽ اپ تي تصديق ٿيل. | TBD ٽولنگ |
| 7 | ڇا ڪنهن چوٿين ٻولي (مثال طور پشتو، بلوچي) ۾ شهريءَ جو جمع ٿيل آزاد متن V1 جي دائريڪار ۾ آهي يا ملتوي. | ملتوي (V2 اشارو) |
دستاويز جو اختتام.