Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

العربية أولا وآخرا #12

Open
MuhammadSawalhy opened this issue Jun 16, 2021 · 17 comments
Open

العربية أولا وآخرا #12

MuhammadSawalhy opened this issue Jun 16, 2021 · 17 comments
Assignees
Labels
documentation / التوثيق Improvements or additions to documentation / اضافة او تحسين التوثيق enhancement / تحسينات New feature or request/ طلب أو شرح فكرة جديدة

Comments

@MuhammadSawalhy
Copy link
Collaborator

MuhammadSawalhy commented Jun 16, 2021

أرجو أن نعجل كل شيء تقريبا باللغة العربية، كل شيء نقدر عليه ونذلل لذلك الصعاب ونخوضها، حتى لو لم تكن الأدوات الأخرى متاحة مثل طرفية تدعم اللغة العربية بشكل جيد، أو محرر للغة العربية.

  1. استخدام الأرقام العربية، أعلم أم البعض يطلقون عليها الأرقام الهندية، لكن لنأخذ الأمر بدراسة أكثر وفحص للواقع، سنجد أن هذه الأرقم التي يسميها البعض الأرقام الهندية هي المستخدمة في المصحف الشريف. أرى أن يتم إتاحة استخدام كلا الرقمين، 234 و٢٣٤ وبالتالي نحل الإشكالية.

    رسالة الخطأ عند محاولة استخدام الأرقام العربية:

     الملف		: /home/ms/myp/alif/examples/helloworld/helloworld.alif
     السطر		: 8
     الخطأ		: بناء الجملة غير مفهوم : ' ٢٣٤ ' 
    
  2. تعريب الحروف الخاصة في النصوص مثل حرف "سطر جديد" \n، فنجعله مثلا ، وهكذا البقية...

  3. ألفت النظر إلى أنني استعملت اتجاه الشرطة المائلة مختلف عن في الإنجليزية وهو ما يسمى بتأثير المرآة، فقد استخدمت وليس . قِس على ذلك العمليات الرياضية: 2 / 4 بالإنجليزية من اليسار لليمين هي نفسها ٢ \ ٤ بالعربية من اليمين لليسار.

  4. إنشاء ملف ثنائي آخر وليكن اسمه ألف والذي يمكن استخدامه داخل الطرفية "العربية" من الطرفيات الموجودة حاليا أو التي سيتم إنشاؤها إن شاء الله.

    مثال على ذلك:

    > ألف --دخل .\الكود.ألف --خرج ملف_ثنائي
    

تعديل

  1. استخدام اسم نطاق عربي مثل قلب.موقع، واسماء.شبكة. جرب كتابتهم في صندوق الرابط والبحث في المتصفح. يمكن وجود أكثر من رابط يعيدوا التوجيه للرابط الأصلي، يعني أن نوفر اسم النطاق العربي إن أمكن بالإضافة للإنجليزي.

  2. نضيف ال ansi colors للقائمة

    #ألف
    
    دالة رئيسية 
        نص كود_اللون = "100"
        نص نص_ليلون = "نص بلون خاص"
        اطبع("\u001b[38;5;" + كود_اللون + "m" + نص_ليلون + "\u001b[0m\n")
    نهاية دالة 
    
  3. لما لا يُتاح استخدام الامتداد .ألف؟ الآن .alif فقط هي المقبولة، وأرى أن التقييد بالامتدادات يمكن التخلي عنه، لأن المهم هو المحتوى، وإن كان بالملف مخالفة لقواعد اللغة ستتوقف الترجمة وتطبع رسالة الخطأ

    كما أن كود ألف يبدأ ب #ألف والتي يمكن أن تُجعل غير إلزامية، أي أن الكود يمكن أن يحتويها أو لا

@MuhammadSawalhy MuhammadSawalhy added the enhancement / تحسينات New feature or request/ طلب أو شرح فكرة جديدة label Jun 16, 2021
@hassandraga
Copy link
Member

١ : الليكسر الخاص بألف يقوم بتحويل الأرقام "الهندية" إلى العربية، وبالثالي يمكن ستعمال كلا الأرقام
عدد ج = 55 + ٤٣ * 44 + ٨٩٧

@hassandraga
Copy link
Member

٢ : نعم ممكن، فكرة جيدة

@hassandraga
Copy link
Member

٣ : الخلط بينهما سيجعل الأمر صعبا علينا، أقترح حاليا الإكتفاء بإتجاه واحد مثلا
2 / 4 هي نفسها ٢ / ٤

@hassandraga
Copy link
Member

٤ : نعم ممكن، يكفي فقط إضافتها إلى السطر رقم ٨٥٦٨

if (vm.count("input")) {

@MuhammadSawalhy
Copy link
Collaborator Author

هذا هو الشكل عندي، لأني لاحظت اختلاف تصيير النصوص من جهاز لآخر ومن برنامج لآخر.

image

@MuhammadSawalhy
Copy link
Collaborator Author

MuhammadSawalhy commented Jun 17, 2021

image

ممكن أن نؤجل تدعيم تأثير المرآة، مع العلم أن بعض الحروف تصّير تلقائا وفقا لاتجاه اللغة مثل الحرف >، أنا لم استعمل سواه في كل الأمثلة التالية، لم استعمل <:

> ألف
عدد أكبر > عدد أقل
bigger number > smaller number

نفس النص دون أي تغيير لكن من اليسار لليمين

> ألف
عدد أكبر > عدد أقل
bigger number > smaller number

@MuhammadSawalhy
Copy link
Collaborator Author

image

@MuhammadSawalhy
Copy link
Collaborator Author

٣ : الخلط بينهما سيجعل الأمر صعبا علينا، أقترح حاليا الإكتفاء بإتجاه واحد مثلا
2 / 4 هي نفسها ٢ / ٤

أظن أننا بحاجة لشكل واحد لعملية القسمة، لأن العمليات الحسابية ستكون من اليمين لليسار ولكن شكل الأرقام هو ما سيختلف، دائما نحسبها من اليمين لليسار:

image

@hassandraga
Copy link
Member

يرجى التغيير والاختبار:

(TOKEN_LAST == "/") ||

(TOKEN_LAST != "/") &&

(TOKEN_LAST != "/") &&

...

@MuhammadSawalhy
Copy link
Collaborator Author

MuhammadSawalhy commented Jun 17, 2021

image

ينتج هذا

 الملف		: /home/ms/myp/alif/examples/helloworld/helloworld.alif
 السطر		: 6

 الخطأ		: بناء الجملة غير مفهوم : ' \ ' %    

التعديلات

diff --git a/src/alif.cpp b/src/alif.cpp
index fde409f..2516778 100644
--- a/src/alif.cpp
+++ b/src/alif.cpp
@@ -1392,7 +1392,7 @@
 				(TOKEN_LAST == "+") ||
 				(TOKEN_LAST == "-") ||
 				(TOKEN_LAST == "*") ||
-				(TOKEN_LAST == "/") ||
+				(TOKEN_LAST == "\\") || // mirror effect for rtl scripts
 				(TOKEN_LAST == "("))
 				return false;
 
@@ -1428,7 +1428,7 @@
 			if ((TOKEN_LAST != "+") &&
 				(TOKEN_LAST != "-") &&
 				(TOKEN_LAST != "*") &&
-				(TOKEN_LAST != "/") &&
+				(TOKEN_LAST != "\\") && // mirro effect for rtl script
 				(TOKEN_LAST != "=") &&
 				(TOKEN_LAST != "("))
 				return false;
@@ -1468,7 +1468,7 @@
 		if ((TOKEN_LAST != "+") &&
 			(TOKEN_LAST != "-") &&
 			(TOKEN_LAST != "*") &&
-			(TOKEN_LAST != "/") &&
+			(TOKEN_LAST != "\\") && // mirro effect for rtl scripts
 			(TOKEN_LAST != "=") &&
 			(TOKEN_LAST != "،") &&
 			(TOKEN_LAST != ",") &&
@@ -8647,4 +8647,4 @@
 		boost::nowide::cout << "File " << argv[1] << " has " << total_lines << " lines" << std::endl;
 		return 0;
 	}
-	*/
\ No newline at end of file
+	*/

@hassandraga
Copy link
Member

أنت بحاجة إلى البحث عن "/" واستبدالها ، هناك حاجة لاستبدال المزيد أيضًا.

@hassandraga
Copy link
Member

أفضل الرجوع لهدا المشكل عند الإنتهاء من تطوير بيئة ألف الجديدة

لنبقي هدا المشكل مفتوحا
شكرا على التبليغ

@MuhammadSawalhy
Copy link
Collaborator Author

MuhammadSawalhy commented Jun 22, 2021

إضافة:

  1. استخدام اسم نطاق عربي مثل قلب.موقع، واسماء.شبكة. جرب كتابتهم في صندوق الرابط والبحث في المتصفح. يمكن وجود أكثر من رابط يعيدوا التوجيه للرابط الأصلي، يعني أن نوفر اسم النطاق العربي إن أمكن بالإضافة للإنجليزي.

@MuhammadSawalhy
Copy link
Collaborator Author

MuhammadSawalhy commented Jun 23, 2021

  1. نضيف ال ansi colors للقائمة
#ألف

دالة رئيسية 
    نص كود_اللون = "100"
    نص نص_ليلون = "نص بلون خاص"
    اطبع("\u001b[38;5;" + كود_اللون + "m" + نص_ليلون + "\u001b[0m\n")
نهاية دالة 

@hassandraga
Copy link
Member

جميل، علينا إجاد طريقة عمل نفس الشيئ في ويندوز

@MuhammadSawalhy
Copy link
Collaborator Author

MuhammadSawalhy commented Jul 21, 2021

لما لا يُتاح استخدام الامتداد .ألف؟ الآن .alif فقط هي المقبولة، وأرى أن التقييد بالامتدادات يمكن التخلي عنه، لأن المهم هو المحتوى، وإن كان بالملف مخالفة لقواعد اللغة ستتوقف الترجمة وتطبع رسالة الخطأ

كما أن كود ألف يبدأ ب #ألف والتي يمكن أن تُجعل غير إلزامية، أي أن الكود يمكن أن يحتويها أو لا

@MuhammadSawalhy
Copy link
Collaborator Author

ونفس المشكلة حصلت عند استخدام امتداد للملف التنفيذي. أظن أن هذه القيود يمكن إلغاؤها

image

@MuhammadSawalhy MuhammadSawalhy added the documentation / التوثيق Improvements or additions to documentation / اضافة او تحسين التوثيق label Dec 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation / التوثيق Improvements or additions to documentation / اضافة او تحسين التوثيق enhancement / تحسينات New feature or request/ طلب أو شرح فكرة جديدة
Projects
None yet
Development

No branches or pull requests

2 participants