ملاحظة: يبدو أن المنشور الأصلي لهذا الموضوع تمت ترجمته تلقائيًا إلى الإنجليزية بالنسبة لي ولا يمكنني العثور على طريقة لرؤيته بالأصل في واجهة الهاتف المحمول. ما الذي يحدث هناك؟ من الواضح أن المشكلة لم تعد مرئية في هذه الحالة. من الجيد أنني التقطت تلك اللقطة في وقت سابق!
أفترض أن وظيفة العكس تُطبَّق فقط عندما يكون لغة واجهة المستخدم مضبوطة على العبرية/العربية/إلخ، وهذا ليس هو الحال هنا. يمكن أن يظهر النص من اتجاه اليمين إلى اليسار في المحتوى حتى عندما تكون لغة واجهة المستخدم من اليسار إلى اليمين.
كما ذكر أودي، غالبًا ما يكون من الأفضل استخدام -inline-start/end بدلاً من -left/right في أوراق الأسلوب، وعدم استخدام عاكِس يُحتمل أن يكون خاطئًا. هذا سيعمل بشكل صحيح لكل من النصوص المضمنة من اتجاه اليمين إلى اليسار (في محتوى المنشورات) بالإضافة إلى تخطيط النص من اليمين إلى اليسار (اعتمادًا على لغة واجهة المستخدم المختارة)، مع ورقة أسلوب واحدة فقط. قد ترغب في النظر في التحول إلى ذلك وتقاعد rtlcss. ولكن بالطبع، لست مضطرًا لذلك، إذا لم تكن هناك مشكلة حقيقية لإيجاد حل لها.
@nat فكرة جيدة لإضافة العلامة. قد ترغب في إضافتها هنا أيضًا: Wrong -> arrow direction in RTL text contexts (لا يمكنني تعديلها لسبب ما). سأنشر بعض المعلومات ذات الصلة في هذا الموضوع بعد ثانية (ولكن باختصار، لا يزال الأمر يتطلب جهدًا أكبر بكثير مما ينبغي، وما كتبته في المنشور الأصلي لا يزال صحيحًا).
سأذكر أنني على حد علمي، -top و -bottom جيدان. من النادر جدًا ألا يتم تعيين -block-start و -block-end لهما على التوالي، وهذا لا يحدث إلا عند استخدام تخطيط من الأعلى إلى الأسفل. شخصيًا، ليس لدي أي خبرة مع هذه التخطيطات على الإطلاق، وأعتقد أن الموقع بأكمله سيحتاج على الأرجح إلى إعادة تصميمه لاستيعاب مثل هذه التخطيطات، لذلك لن تكون هذه التعديلات البسيطة على CSS كافية. ولكن بكل تأكيد قد أكون مخطئًا، لا تأخذ كلامي كحقيقة مطلقة!
هل هو ممكن - بالتأكيد، لكنه قد يتطلب بعض التعديلات في HTML للتوافق مع CSS (يمكنني إعطائك أمثلة لاحقًا).
الحالة الوسطية الصحية - أعتقد أنه إذا قمت بتغيير بعض الأشياء فقط إلى -inline-start، فإن rtlcss سيتجاهلها، ولكنه لا يزال يحول -left. هذا يعني أنه يمكنك تدريجيًا تحويل المزيد والمزيد من الأشياء حتى يتوقف rtlcss عن التغيير. عند هذه النقطة، يمكن التخلص من rtlcss.
هل الأمر يستحق ذلك - لا أدري. فكر في ما إذا كان هذا سيجعل Discourse أكثر استقرارًا في الاتجاه من اليمين إلى اليسار، وما إذا كان أسهل في الصيانة على المدى الطويل. أنا حقًا لا أعلم.
بالطبع - لا شك في ذلك - ربما يكون ضروريًا - بالنسبة ل CSS المطبقة على المحتوى الذي ينشئه المستخدم والذي يمكن أن يكون في كلا الاتجاهين (عادةً باستخدام dir="auto").
أيضًا، على الرغم من أنني لا أستطيع التفكير في مثال على الفور، أحيانًا تريد حقًا تعيين خاصية left بشكل صريح لشيء ما بغض النظر عن اتجاه التخطيط. في تلك الحالات، rtlcss سيفعل الشيء الخطأ، إلا إذا قمت بعمل استثناءات لذلك بطريقة ما.
العناصر الإضافية <span> داخل العناصر <td> ضرورية لجعل الجدول يعرض بالتخطيط المطلوب. في سياق من اليمين إلى اليسار (RTL)، يأتي العنصر الزائف ::before على اليمين، لذلك إذا كان td نفسه من اليمين إلى اليسار، فإن علامة = التي تفصل المفتاح والقيمة ستأتي بدلاً من ذلك في نهاية صف الجدول (الجانب الأيمن).
بشكل أساسي، تحتاج أحيانًا إلى تداخل عنصر إضافي لإعطائه اتجاهًا منفصلاً عن العنصر الأب. ولكن قد يكون هذا شيئًا جيدًا اعتمادًا على وجهة نظرك.
لا أعتقد أن الأمر يستحق الجهد المبذول لتحديث ملف CSS الخاص بنا عبر core والإضافات والقوالب فقط لإزالة اعتمادنا على rtlcss. يمكن أن تكون خطوة وسيطة صحية هي استخدام CSS غير حساس للاتجاه للمناطق التي تحتوي على محتوى تم إنشاؤه بواسطة المستخدم مثل المشاركات والسير الذاتية، وبالنسبة لكل شيء آخر، سيقوم rtlcss بالمهمة.