M
Marsad Operations مرصد للعمليات
RTL DEMO · v0.4
Live · Riyadh AST مباشر · توقيت الرياض
SECTOR 3 · BLOCK A القطاع ٣ · المجمع أ

Process Floor Console لوحة عمليات الخط الإنتاجي

Last sync 14:32:07 · 4 active devices · 2 unresolved alerts آخر مزامنة 14:32:07 · ٤ أجهزة نشطة · تنبيهان غير محلولين
System Health صحة النظام
94.7%
↑ 0.3 pts / 24h
Active Alerts التنبيهات النشطة
12
↑ 4 / 24h
Devices Online الأجهزة المتصلة
847/ 859
98.6% uptime
Throughput الإنتاجية
2.4k m³/h
↑ 1.8% / 24h
Active alerts التنبيهات النشطة
12 TOTAL ١٢ تنبيه
CRIT حرج
Pump P-3047 exceeded pressure threshold: 47.5 kPa (max 40.0) المضخة P-3047 تجاوزت حد الضغط: 47.5 kPa (الحد الأقصى 40.0)
SECTOR-3 / BLOCK-A / LINE-12
14:31:52
WARN تحذير
Valve V-118 response delayed by 1.2s across last 5 min الصمام V-118 تأخّر في الاستجابة بمقدار 1.2s خلال آخر 5 دقائق
SECTOR-3 / BLOCK-A / LINE-08
14:28:14
WARN تحذير
Sensor T-2204 drifted +0.8°C from calibrated baseline المستشعر T-2204 انحرف بمقدار +0.8°C عن المعايرة المرجعية
SECTOR-3 / BLOCK-B / TANK-04
14:21:09
INFO معلومة
Scheduled maintenance window opens at 22:00 AST for BLOCK-C نافذة الصيانة المجدولة تبدأ الساعة 22:00 بتوقيت الرياض على المجمع BLOCK-C
SCHEDULER · sysadmin@marsad.sa
14:00:00
Live telemetry القراءات الحية
P-3047
Pressure الضغط 47.5kPa
Flow rate معدّل التدفق 128.4L/min
Temperature درجة الحرارة 62.1°C
Voltage الجهد الكهربائي 230.8V
Last packet آخر حزمة بيانات +0.8s
M1 DELIVERABLE · RTL AUDIT EXCERPT تسليم المرحلة الأولى · مقتطف من تدقيق RTL

Eight bidirectional bugs caught and fixed in this single view ثمانية عيوب ثنائية الاتجاه تمّ رصدها وإصلاحها في هذه الواجهة وحدها

Each finding shows the offending pattern, the logical-property fix, and the locale where it surfaces. The same audit format ships as the M1 deliverable across every screen in your console. كل ملاحظة تعرض النمط الخاطئ، والإصلاح باستخدام الخصائص المنطقية، واللغة التي يظهر فيها العيب. التنسيق نفسه يُسلَّم في المرحلة الأولى لكل شاشة في الكونسول.

01 / 08
Margin direction does not mirror in RTL الهوامش لا تنعكس مع تغيّر الاتجاه
margin-left: 1rem; margin-inline-start: 1rem;
Logical property mirrors automatically. No media query, no dir-based override. الخاصية المنطقية تنعكس تلقائياً دون حاجة إلى media query أو تجاوز خاص بـ dir.
02 / 08
Mixed bidi text drifts in alert messages النصوص ثنائية الاتجاه تنحرف داخل التنبيهات
"الضغط: 47.5 kPa" <bdi>47.5 kPa</bdi>
UAX #9 reorders neutrals around numerics. bdi isolates the run. قواعد UAX #9 تعيد ترتيب الأرقام؛ عنصر bdi يعزل الجزء.
03 / 08
Back-arrow icon points the wrong way سهم الرجوع يشير إلى الاتجاه الخاطئ
<svg class="icon-back"> [dir=rtl] .icon-back { transform: scaleX(-1); }
Mirror directional glyphs only — never logos, photos, charts, or maps. انعكاس الأيقونات الاتجاهية فقط — لا الشعارات أو الصور أو المخططات أو الخرائط.
04 / 08
Toast notifications strand on wrong side إشعارات Toast تظهر في الجانب الخاطئ
position: fixed; right: 1rem; inset-inline-end: 1rem;
inset-inline-end follows writing direction; right is a physical anchor. inset-inline-end تتبع اتجاه الكتابة بينما right قيمة فيزيائية ثابتة.
05 / 08
Tab order broken by row-reverse hack ترتيب Tab يتعطّل بسبب row-reverse
flex-direction: row-reverse; dir="rtl" on container
row-reverse flips visuals but not focus order. Always use dir. row-reverse يقلب الشكل لكنه لا يقلب ترتيب التركيز. استخدم dir دائماً.
06 / 08
Dates parse as Hijri in ar-SA by default التواريخ تُفسَّر كهجرية افتراضياً في ar-SA
new Intl.DateTimeFormat('ar-SA') { calendar: 'gregory' }
Pass calendar: 'gregory' explicitly or you ship Hijri dates by accident. مرّر calendar: 'gregory' صراحة وإلا ستُعرض تواريخ هجرية دون قصد.
07 / 08
Engineering units flip inside Arabic copy الوحدات الهندسية تنعكس داخل النص العربي
<span>47.5 kPa</span> <span dir="ltr">47.5 kPa</span>
Force LTR on engineering units even inside Arabic sentences. افرض LTR على الوحدات الهندسية حتى داخل الجمل العربية.
08 / 08
Tabular numerics misalign across rows الأرقام في الجداول تفقد محاذاة الأعمدة
font-family: 'IBM Plex Sans'; font-variant-numeric: tabular-nums;
Without tabular-nums, mono-style columns drift between rows. بدون tabular-nums تنحرف الأعمدة الرقمية بين الصفوف.
Next.js 16 React 19 TypeScript strict Tailwind v4 i18next CSS logical props UAX #9 bidi
Sample artifact · Muhannad / Cairo · April 2026 عيّنة عمل · مهنّد / القاهرة · أبريل 2026