أعتقد أنه قد يجعل النص العبري أو العربي الشرعي غير قابل للقراءة.
كان أحد الحلول التي واجهتها هو تعطيل خوارزميات يونيكود وعرض تمثيل للأحرف غير القابلة للطباعة (أعتقد أنه تم تنفيذه في Pootle).
لذا، الفكرة الأساسية هي تحويل:
هذا النص
إلى:
هذا\\u003cLRM\\u003e\\u003cRLM\u003e النص
بهذه الطريقة يمكن للمستخدم اختيار ما إذا كان هذا خبيثًا أم لا من خلال فهم الأحرف الفعلية واختيار تمكين خوارزميات يونيكود لقراءة النص بشكل صحيح.
شكرا.
شكراً لطرحك هذا الأمر، لقد فكرنا في هذا القلق. الإصلاح الذي أشرت إليه في المنشور الأصلي ينطبق فقط على الأحرف ثنائية الاتجاه (unicode bidirectional characters) في كتل pre و code، سواء كانت مكتوبة يدوياً كـ HTML أو تم إنشاؤها من كتل الأكواد المحاطة بعلامات code ``` code [/code] ، لذلك لا ينبغي أن تكون مشكلة مع النص العبري أو العربي العادي في منشور مُركب.
#include <cstdio.h>
int main() {
/* قل مرحباً؛ سطر جديد /*/ return 0 ;
printf("Hello world.\n");
return 0;
}
#include
int main() {
/* قل مرحباً؛ سطر جديد /*/ return 0 ;
printf("Hello world.\n");
return 0;
}
اختبار: “שלום חבר” - مرحباً يا صديق
بدون BIDI
اختبار: “שלום חבר” - مرحباً يا صديق
Markdown:
اختبار: "שלום חבר" - مرحباً يا صديق
بدون BIDI
اختبار: "שלום חבר" - مرحباً يا صديق
ليس أفضل مثال في العالم، ولكن يجب أن تفهم الفكرة هنا، فهو يؤثر فقط على الكود المصدري الذي يتم نشره في المنتدى. أحرف Bidi في الكود المصدري ليست شيئًا يتم فعله عادةً.
ولكن اقتراحي يكسر الجملة ببعض الإشارات، لذا فإن استبدال RLM و LRM بـ <RLM> أو <LRM> سيُظهر للمستخدم أنه كانت هناك أحرف إضافية والآن يتم عرض النص بدونها مع إبلاغه بأنه قد يكسر التجربة وأن هناك خيارًا للاستبدال يدويًا إذا لزم الأمر، وإزالة الأحرف تمامًا بدون بعض المؤشرات لا تترك مجالًا لاتخاذ قرارات مستنيرة.
وسيمنع أيضًا شيفرة حصان طروادة كما ذكرت لأن المستخدم سيكون قادرًا على رؤية الشيفرة الضارة بالمؤشرات.
سأحاول الحصول على بعض لقطات الشاشة من Pootle، لا أتذكر رؤية خيار السلاسل النصية الخام هذا في العامين الماضيين، لقد كان مفيدًا جدًا عندما بدأنا في إصلاح الترجمة المحلية لـ LibreOffice.