الواجهة الأمامية٩ دقائق قراءة
موقع ثنائي اللغة بـ Next.js: دروس من الفارسية و RTL
نيلوفر أحمديمهندسة الواجهة الأمامية
الدعم الحقيقي للفارسية أكبر بكثير من dir="rtl". هذه خلاصة تجربتنا في عدة مشاريع ثنائية اللغة.
القاعدة الأولى: لا نص داخل المكوّنات
كل نص — حتى تسميات الوصول ورسائل الخطأ — يجب أن يأتي من كتالوج الترجمة. نستخدم next-intl، وسكربت في CI يُفشل البناء عند ظهور نص مكتوب داخل JSX.
القاعدة الثانية: خصائص CSS المنطقية
استخدم margin-inline-start بدل margin-left، و inset-inline-start بدل left. حينها يعمل التصميم في الاتجاهين بلا أي شرط. الأيقونات الاتجاهية (الأسهم) هي الاستثناء الوحيد وتُقلب بـ rtl:rotate-180.
القاعدة الثالثة: أرقام وتواريخ أصلية
التقويم الفارسي عبر Intl.DateTimeFormat('fa-IR-u-ca-persian') والأرقام عبر Intl.NumberFormat متاحة أصلاً بلا مكتبة إضافية.
النتيجة؟ موقع لا يبدو «مترجماً» لقارئه؛ بل مكتوب بلغته من البداية.