مكتبة قوية لتحويل لغة Python كاملة إلى العربية مع دعم اللهجات المختلفة
Project description
pyarabify
مكتبة لتحويل Python كاملة للعربية
المطور: MERO
المحتويات
- نظرة عامة
- المميزات
- ما الجديد في 2.2.0
- التثبيت
- البدء السريع
- الاستخدام التفصيلي
- اللهجات المدعومة
- أوامر سطر الأوامر
- البحث في GitHub
- المساعد الذكي
- تحويل المعادلات
- الرسوميات
- مولد المشاريع
- دعم المكتبات الشهيرة
- الأمثلة والدروس
- API المرجعي
- المساهمة
نظرة عامة
pyarabify هي مكتبة Python وقوية تتيح لك كتابة وتنفيذ أكواد Python بالكامل باللغة العربية. تدعم المكتبة جميع إصدارات Python من 2.7 وحتى أحدث إصدار، وتوفر ترجمة لجميع الكلمات المحجوزة، الدوال المدمجة، أنواع الأخطاء، والوحدات الشائعة.
الإصدار 2.2.0 يمثل قفزة نوعية في المكتبة، حيث يضيف:
- لهجتين عربيتين جديدتين (فلسطيني وعراقي)
- مساعد للإجابة على الأسئلة البرمجية
- نظام البحث المتقدم في GitHub
- تحويل المعادلات العربية إلى أكواد قابلة للتنفيذ
- دعم الرسوميات باستخدام Turtle
- مولد مشاريع جاهزة للاستخدام
- تصحيح إملائي تلقائي
- دعم لجميع مكتبات Python
لماذا pyarabify؟
- تعليم البرمجة بالعربية: مثالية للمبتدئين الذين يفضلون التعلم بلغتهم الأم
- قاموس ضخم: أكثر من 12,000+ كلمة مترجمة تغطي كامل لغة Python
- ست لهجات عربية: فصحى، مختصر، مصري، خليجي، فلسطيني، عراقي
- **مساعد يجيب على أسئلتك البرمجية بالعربية
- بحث في GitHub: ابحث عن المستودعات والمشاريع مباشرة
- مولد مشاريع: ابدأ مشروعك بكود جاهز بالعربية
- قابلة للتوسع: أضف كلماتك المخصصة بسهولة
- أخطاء بالعربية: رسائل خطأ مفهومة ومترجمة بالكامل
- ترجمة عكسية: حول أكوادك العربية لإنجليزية والعكس
- متوافقة 100%: تعمل مع جميع مكتبات Python القياسية
- دعم Git: 57 دالة لإدارة المستودعات بالعربية
- دعم الويب: افتح الروابط، احصل على المحتوى، حمل الملفات
المميزات
1. ترجمة كاملة للكلمات المحجوزة
import → استرداد / استورد / جيب
from → من
def → دالة / وظيفة / فنكشن
class → صنف / فئة
if → اذا / لو
for → لكل / ل
while → طالما / بينما
try → حاول / جرب
except → ماعدا / إلا
return → ارجع / رجع
True → صحيح / صح
False → خطأ / غلط
None → لاشيء / فارغ / ماكو
2. دعم جميع الدوال المدمجة
print() → اطبع() / قول()
input() → ادخال() / ادخل()
len() → طول()
range() → نطاق()
open() → افتح()
sum() → مجموع()
max() → اكبر()
min() → اصغر()
type() → نوع()
str() → نص()
int() → عدد_صحيح()
float() → عدد_عشري()
list() → قائمة()
dict() → قاموس()
3. ترجمة الأخطاء والاستثناءات
ValueError → خطأ_قيمة
TypeError → خطأ_نوع
SyntaxError → خطأ_صيغة
NameError → خطأ_اسم
IndexError → خطأ_فهرس
KeyError → خطأ_مفتاح
FileNotFoundError → خطأ_ملف_غير_موجود
ZeroDivisionError → خطأ_قسمة_على_صفر
4. ست لهجات عربية مختلفة
- الفصحى (formal): اللغة العربية الفصيحة
- مختصر (short): كلمات مختصرة للكتابة السريعة
- مصري (egyptian): اللهجة المصرية
- خليجي (gulf): اللهجة الخليجية
- فلسطيني (palestinian): اللهجة الفلسطينية
- عراقي (iraqi): اللهجة العراقية
ما الجديد في 2.2.0
المميزات الجديدة
1. لهجتان عربيتان جديدتان
تمت إضافة دعم للهجتين الفلسطينية والعراقية:
اللهجة الفلسطينية:
جيب math
فنكشن حساب(رقم):
لو رقم > 0:
اطبع("موجب")
والا:
اطبع("سالب")
اللهجة العراقية:
جيب random
فنكشن لعبة():
اذا العدد == ماكو:
اطبع("ماكو عدد")
2. البحث المتقدم في GitHub
ابحث عن المستودعات، المستخدمين، والأكواد مباشرة من المكتبة:
from pyarabify import ghb
نتائج = ghb.بحث_في_جيتهب("python machine learning", "repositories", 10)
ghb.عرض_نتائج_البحث(نتائج)
تفاصيل = ghb.تفاصيل_المستودع("username/repo")
من سطر الأوامر:
pyarabify بحث "python machine learning"
3. المساعد الذكي
احصل على إجابات لأسئلتك البرمجية:
from pyarabify import hlp
جواب = hlp.اسأل("ما فائدة دالة range؟")
اطبع(جواب)
شرح = hlp.شرح_كود('''
لكل i في نطاق(5):
اطبع(i)
''')
اطبع(شرح)
نصائح = hlp.اقتراحات(كودك_هنا)
من سطر الأوامر:
pyarabify اسأل "ما فائدة دالة range"
4. تحويل المعادلات العربية
حول المعادلات المكتوبة بالعربية إلى أكواد قابلة للتنفيذ:
from pyarabify import mth
معادلة_عربية = "خمسة زائد ثلاثة ضرب اثنان"
معادلة_برمجية = mth.حول_معادلة(معادلة_عربية)
نتيجة = mth.احسب(معادلة_عربية)
اطبع(نتيجة) # 11
الأرقام المدعومة:
صفر, واحد, اثنان, ثلاثة, اربعة, خمسة, ستة, سبعة, ثمانية, تسعة
عشرة, عشرون, ثلاثون, مئة, الف
العمليات المدعومة:
زائد (+), ناقص (-), ضرب (*), قسمة (/)
اس (**), باقي (%), جمع, طرح, مضروب
5. دعم الرسوميات (Turtle Graphics)
ارسم أشكالاً هندسية باستخدام أوامر:
from pyarabify import drw
سلحفاة = drw.انشئ_سلحفاة()
سلحفاة.ارسم_دائرة(100)
سلحفاة.ارسم_مربع(150)
سلحفاة.ارسم_مثلث(200)
سلحفاة.ارسم_نجمة(5, 150)
سلحفاة.ارسم_مستطيل(200, 100)
سلحفاة.لون_القلم("أحمر")
سلحفاة.سمك_القلم(3)
سلحفاة.سرعة(5)
سلحفاة.انتظر()
6. مولد المشاريع الجاهزة
ابدأ مشروعك بكود جاهز بالكامل بالعربية:
from pyarabify import prj
prj.قائمة_المشاريع()
prj.انشئ_مشروع("آلة_حاسبة")
prj.انشئ_مشروع("قائمة_مهام")
prj.انشئ_مشروع("لعبة_تخمين")
من سطر الأوامر:
pyarabify انشئ_مشروع آلة_حاسبة
cd آلة_حاسبة
pyarabify main.py
المشاريع الجاهزة:
- آلة_حاسبة: آلة حاسبة كاملة بجميع العمليات
- قائمة_مهام: نظام إدارة مهام تفاعلي
- لعبة_تخمين: لعبة تخمين الأرقام
7. تصحيح إملائي تلقائي
يصحح الأخطاء الإملائية تلقائياً:
from pyarabify import spl
كود_خاطئ = "اطبغ('مرحباً')" # خطأ إملائي
كود_صحيح = spl.تصحيح(كود_خاطئ)
اطبع(كود_صحيح) # اطبع('مرحباً')
8. عرض الأخطاء بالعربية (edat)
نظام جديد لعرض رسائل الأخطاء بالعربية مع تحديد مكان الخطأ:
from pyarabify import edat
edat()
اسم_غير_موجود
الناتج:
============================================================
خطأ: اسم غير معرف
============================================================
الملف: "test.py", السطر: 4
in <module>
التفاصيل: name 'اسم_غير_موجود' is not defined
============================================================
الأخطاء المدعومة:
- NameError → خطأ: اسم غير معرف
- SyntaxError → خطأ في بناء الجملة
- TypeError → خطأ في النوع
- ValueError → خطأ في القيمة
- ZeroDivisionError → خطأ: قسمة على صفر
- FileNotFoundError → خطأ: ملف غير موجود
9. دعم للمكتبات الشهيرة
ترجمة كاملة لأهم مكتبات Python:
numpy:
- array → مصفوفة
- zeros → اصفار
- ones → احاد
- sum → مجموع
- mean → متوسط
pandas:
- DataFrame → جدول_بيانات
- read_csv → اقرأ_csv
- groupby → جمع_حسب
matplotlib.pyplot:
- plot → ارسم
- scatter → نثر
- bar → اعمدة
- xlabel → عنوان_س
- ylabel → عنوان_ص
requests:
- get → احصل
- post → ارسل
datetime:
- datetime → تاريخ_وقت
- now → الان
- today → اليوم
math:
- sqrt → جذر
- sin → جيب
- cos → جيب_تمام
- pi → باي
التثبيت
من PyPI
pip install pyarabify
من المصدر
git clone https://github.com/6x-u/pyarabify.git
cd pyarabify
pip install -e .
التحقق من التثبيت
pyarabify --version
pyarabify اختبر
البدء
1. أول برنامج لك بالعربية
from pyarabify import execute
code = '''
اطبع("hi brooo")
'''
execute(code)
2. استخدام المتغيرات والعمليات
from pyarabify import execute
code = '''
العدد_الأول = 10
العدد_الثاني = 20
المجموع = العدد_الأول + العدد_الثاني
اطبع("المجموع =", المجموع)
'''
execute(code)
3. تنفيذ ملف
أنشئ ملف test.py:
اطبع("مرحباً من الملف!")
دالة جمع(أ, ب):
ارجع أ + ب
النتيجة = جمع(5, 3)
اطبع("5 + 3 =", النتيجة)
نفذ الملف:
pyarabify test.py
الاستخدام
1. الدوال
from pyarabify import execute
code = '''
دالة حساب_المساحة(الطول, العرض):
المساحة = الطول * العرض
ارجع المساحة
دالة طباعة_معلومات(الاسم, العمر):
اطبع("الاسم:", الاسم)
اطبع("العمر:", العمر)
مساحة_المستطيل = حساب_المساحة(10, 5)
اطبع("المساحة =", مساحة_المستطيل)
طباعة_معلومات("أحمد", 25)
'''
execute(code)
2. الأصناف (Classes)
from pyarabify import execute
code = '''
صنف طالب:
دالة __init__(الذات, الاسم, الدرجة):
الذات.الاسم = الاسم
الذات.الدرجة = الدرجة
دالة عرض_المعلومات(الذات):
اطبع("الطالب:", الذات.الاسم)
اطبع("الدرجة:", الذات.الدرجة)
دالة نجح(الذات):
اذا الذات.الدرجة >= 50:
ارجع صحيح
والا:
ارجع خطأ
طالب1 = طالب("محمد", 85)
طالب1.عرض_المعلومات()
اذا طالب1.نجح():
اطبع("ناجح!")
والا:
اطبع("راسب")
'''
execute(code)
3. الحلقات
from pyarabify import execute
code = '''
اطبع("حلقة for:")
لكل رقم في نطاق(5):
اطبع("الرقم:", رقم)
اطبع("\nحلقة while:")
عداد = 0
بينما عداد < 5:
اطبع("العداد:", عداد)
عداد = عداد + 1
'''
execute(code)
4. معالجة الأخطاء
from pyarabify import execute
code = '''
حاول:
النتيجة = 10 / 0
ماعدا خطأ_قسمة_على_صفر:
اطبع("خطأ: لا يمكن القسمة على صفر!")
حاول:
القائمة = [1, 2, 3]
اطبع(القائمة[10])
ماعدا خطأ_فهرس:
اطبع("خطأ: الفهرس خارج النطاق")
'''
execute(code)
5. استخدام المكتبات
from pyarabify import execute
code = '''
استرداد رياضيات كـ ر
استرداد عشوائي كـ ع
دالة حساب_الدائرة(نصف_القطر):
المساحة = ر.pi * ر.pow(نصف_القطر, 2)
المحيط = 2 * ر.pi * نصف_القطر
ارجع المساحة, المحيط
مساحة, محيط = حساب_الدائرة(5)
اطبع("مساحة الدائرة:", مساحة)
اطبع("محيط الدائرة:", محيط)
رقم_عشوائي = ع.randint(1, 100)
اطبع("رقم عشوائي:", رقم_عشوائي)
'''
execute(code)
اللهجات
1. الفصحى (formal)
from pyarabify import execute
code = '''
دالة اهلا():
اطبع("مرحباً بالعربية الفصحى")
اهلا()
'''
execute(code, dialect='formal')
2. المختصر (short)
from pyarabify import execute
code = '''
دل اهلا():
قول("مرحباً بالاختصارات")
اهلا()
'''
execute(code, dialect='short')
3. المصري (egyptian)
from pyarabify import execute
code = '''
وظيفة اهلا():
اطبع("أهلاً باللهجة المصرية")
اهلا()
'''
execute(code, dialect='egyptian')
4. الخليجي (gulf)
from pyarabify import execute
code = '''
دالة اهلا():
اطبع("هلا باللهجة الخليجية")
اهلا()
'''
execute(code, dialect='gulf')
5. الفلسطيني (palestinian)
from pyarabify import execute
code = '''
فنكشن اهلا():
لو صح:
اطبع("أهلين باللهجة الفلسطينية")
والا:
اطبع("مش صح")
اهلا()
'''
execute(code, dialect='palestinian')
6. العراقي (iraqi)
from pyarabify import execute
code = '''
فنكشن اهلا():
القيمة = ماكو
اذا القيمة == ماكو:
اطبع("مرحبا باللهجة العراقية")
والا:
اطبع("ماكو مشكلة")
اهلا()
'''
execute(code, dialect='iraqi')
أوامر سطر الأوامر
1. تنفيذ ملف
pyarabify program.py
pyarabify program.py --dialect palestinian
pyarabify program.py --show-english
2. الترجمة
pyarabify ترجم hello world
pyarabify ترجم "def add(a, b): return a + b"
3. عرض الأمثلة
pyarabify مثال الحلقات
pyarabify مثال الدوال
pyarabify مثال الشروط
pyarabify مثال القوائم
pyarabify مثال الأصناف
4. الاختبار
pyarabify اختبر
5. البحث في GitHub
pyarabify بحث "python machine learning"
pyarabify بحث numpy
pyarabify بحث django
6. إنشاء مشروع
pyarabify انشئ_مشروع آلة_حاسبة
pyarabify انشئ_مشروع قائمة_مهام
pyarabify انشئ_مشروع لعبة_تخمين
7. السؤال
pyarabify اسأل "ما فائدة دالة range"
pyarabify اسأل "كيف استخدم الحلقات"
8. الوضع (REPL)
pyarabify
pyarabify --dialect palestinian
مثال:
>>> اطبع("مرحباً")
مرحباً
>>> س = 10
>>> ص = 20
>>> اطبع(س + ص)
30
>>> خروج()
البحث في GitHub
ابحث عن المستودعات والمشاريع مباشرة:
من Python
from pyarabify import ghb
اطبع("البحث عن مستودعات Python:")
نتائج = ghb.بحث_مستودعات("python machine learning", 5)
ghb.عرض_نتائج_البحث(نتائج, "repositories")
اطبع("\nالبحث عن مستخدمين:")
مستخدمين = ghb.بحث_مستخدمين("python developer", 3)
ghb.عرض_نتائج_البحث(مستخدمين, "users")
اطبع("\nالبحث في الكود:")
كود = ghb.بحث_كود("def main", 5)
ghb.عرض_نتائج_البحث(كود, "code")
اطبع("\nتفاصيل مستودع:")
تفاصيل = ghb.تفاصيل_المستودع("torvalds/linux")
من سطر الأوامر
pyarabify بحث "python"
pyarabify بحث "machine learning"
pyarabify بحث "django rest framework"
المساعد
احصل على إجابات فورية وشروحات:
من Python
from pyarabify import hlp
جواب = hlp.اسأل("ما فائدة دالة range؟")
اطبع(جواب)
جواب = hlp.اسأل("كيف استخدم الحلقات؟")
اطبع(جواب)
جواب = hlp.اسأل("ما الفرق بين list و tuple؟")
اطبع(جواب)
كود = '''
لكل i في نطاق(5):
اطبع(i)
'''
شرح = hlp.شرح_كود(كود)
اطبع("شرح الكود:")
اطبع(شرح)
اقتراحات = hlp.اقتراحات(كود)
اطبع("اقتراحات التحسين:")
اطبع(اقتراحات)
من سطر الأوامر
pyarabify اسأل "ما فائدة range"
pyarabify اسأل "كيف استخدم for"
pyarabify اسأل "ما هو lambda"
تحويل المعادلات
حول المعادلات العربية إلى أكواد:
from pyarabify import mth
معادلة1 = "خمسة زائد ثلاثة"
نتيجة1 = mth.احسب(معادلة1)
اطبع(معادلة1, "=", نتيجة1)
معادلة2 = "عشرة ضرب اثنان"
نتيجة2 = mth.احسب(معادلة2)
اطبع(معادلة2, "=", نتيجة2)
معادلة3 = "مائة قسمة خمسة"
نتيجة3 = mth.احسب(معادلة3)
اطبع(معادلة3, "=", نتيجة3)
معادلة4 = "اثنان اس عشرة"
نتيجة4 = mth.احسب(معادلة4)
اطبع(معادلة4, "=", نتيجة4)
معادلة_مركبة = "خمسة زائد ثلاثة ضرب اثنان"
نتيجة_مركبة = mth.احسب(معادلة_مركبة)
اطبع(معادلة_مركبة, "=", نتيجة_مركبة)
رقم = mth.حول_نص_لرقم("خمسة")
اطبع("خمسة =", رقم)
رقم2 = mth.حول_نص_لرقم("عشرون")
اطبع("عشرون =", رقم2)
الرسوميات
ارسم أشكالاً مذهلة باستخدام Turtle:
from pyarabify import drw
سلحفاة = drw.انشئ_سلحفاة()
سلحفاة.لون_القلم("أزرق")
سلحفاة.سمك_القلم(3)
سلحفاة.سرعة(5)
اطبع("رسم دائرة...")
سلحفاة.ارسم_دائرة(100)
سلحفاة.ارفع_القلم()
سلحفاة.اذهب_الى(200, 0)
سلحفاة.اخفض_القلم()
اطبع("رسم مربع...")
سلحفاة.لون_القلم("أحمر")
سلحفاة.ارسم_مربع(150)
سلحفاة.ارفع_القلم()
سلحفاة.اذهب_الى(-200, 0)
سلحفاة.اخفض_القلم()
اطبع("رسم نجمة...")
سلحفاة.لون_القلم("أخضر")
سلحفاة.ارسم_نجمة(5, 150)
اطبع("رسم مثلث...")
سلحفاة.ارفع_القلم()
سلحفاة.اذهب_الى(0, -200)
سلحفاة.اخفض_القلم()
سلحفاة.لون_القلم("برتقالي")
سلحفاة.ارسم_مثلث(200)
سلحفاة.انتظر()
رسم بالتعبئة:
from pyarabify import drw
س = drw.انشئ_سلحفاة()
س.لون_القلم("أسود")
س.لون_التعبئة("أصفر")
س.سمك_القلم(2)
س.ابدأ_التعبئة()
س.ارسم_دائرة(100)
س.انهي_التعبئة()
س.انتظر()
مولد المشاريع
ابدأ مشروعك الآن بكود جاهز:
من Python
from pyarabify import prj
اطبع("المشاريع المتاحة:")
prj.قائمة_المشاريع()
اطبع("\nإنشاء مشروع آلة حاسبة:")
prj.انشئ_مشروع("آلة_حاسبة")
اطبع("\nإنشاء مشروع قائمة المهام:")
prj.انشئ_مشروع("قائمة_مهام", "./مشاريعي")
اطبع("\nإنشاء لعبة تخمين:")
prj.انشئ_مشروع("لعبة_تخمين")
من سطر الأوامر
pyarabify انشئ_مشروع
pyarabify انشئ_مشروع آلة_حاسبة
pyarabify انشئ_مشروع قائمة_مهام
pyarabify انشئ_مشروع لعبة_تخمين
المشاريع الجاهزة
1. آلة_حاسبة
آلة حاسبة كاملة بجميع العمليات الحسابية (جمع، طرح، ضرب، قسمة)
2. قائمة_مهام
نظام إدارة مهام تفاعلي مع إضافة وحذف وعرض المهام
3. لعبة_تخمين
لعبة تخمين الأرقام مع نظام محاولات ونتائج
دعم المكتبات الشهيرة
جميع المكتبات الشهيرة مدعومة بترجمات كاملة:
NumPy
استرداد numpy كـ np
مصفوفة = np.مصفوفة([1, 2, 3, 4, 5])
اصفار = np.اصفار((3, 3))
احاد = np.احاد((2, 2))
المجموع = np.مجموع(مصفوفة)
المتوسط = np.متوسط(مصفوفة)
الاكبر = np.اكبر(مصفوفة)
Pandas
استرداد pandas كـ pd
بيانات = {
'الاسم': ['أحمد', 'محمد', 'فاطمة'],
'العمر': [25, 30, 28],
'الراتب': [5000, 6000, 5500]
}
جدول = pd.جدول_بيانات(بيانات)
اطبع(جدول.راس())
اطبع(جدول.وصف())
Matplotlib
استرداد matplotlib.pyplot كـ plt
س = [1, 2, 3, 4, 5]
ص = [2, 4, 6, 8, 10]
plt.ارسم(س, ص)
plt.عنوان_س('المحور السيني')
plt.عنوان_ص('المحور الصادي')
plt.عنوان('رسم بياني')
plt.اعرض()
Requests
استرداد requests كـ req
استجابة = req.احصل('https://api.github.com')
اطبع(استجابة.json())
بيانات = {'key': 'value'}
استجابة = req.ارسل('https://api.example.com', json=بيانات)
DateTime
استرداد datetime
الان = datetime.تاريخ_وقت.الان()
اطبع("التاريخ والوقت الحالي:", الان)
اليوم = datetime.تاريخ.اليوم()
اطبع("التاريخ:", اليوم)
Math
استرداد math كـ ر
جذر_25 = ر.جذر(25)
جيب_90 = ر.جيب(ر.باي / 2)
اس_2_10 = ر.اس(2, 10)
اطبع("جذر 25 =", جذر_25)
اطبع("جيب 90 =", جيب_90)
اطبع("2 أس 10 =", اس_2_10)
الأمثلة والدروس
تشغيل الأمثلة
من سطر الأوامر:
python -m pyarabify.examples.المتغيرات
python -m pyarabify.examples.الحلقات
python -m pyarabify.examples.الدوال
python -m pyarabify.examples.الشروط
python -m pyarabify.examples.القوائم
python -m pyarabify.examples.الأصناف
الأمثلة المتوفرة
- المتغيرات: تعلم كيفية إنشاء واستخدام المتغيرات
- الحلقات: أمثلة على حلقات for و while
- الدوال: كيفية تعريف واستخدام الدوال
- الشروط: الجمل الشرطية (if, elif, else)
- القوائم: التعامل مع القوائم والعمليات عليها
- الأصناف: البرمجة الكائنية (OOP)
API المرجعي
execute
تنفيذ كود Python مكتوب بالعربية
from pyarabify import execute
result = execute(
code='اطبع("مرحباً")',
dialect='formal',
show_english=False,
globals_dict=None,
locals_dict=None
)
المعاملات:
code(str): الكود العربيdialect(str): اللهجة (formal/short/egyptian/gulf/palestinian/iraqi)show_english(bool): عرض الكود المترجمglobals_dict(dict): المتغيرات العامةlocals_dict(dict): المتغيرات المحلية
القيمة المرجعة:
- dict:
{'status': 'success/error', 'english_code': '...'}
execute_file
تنفيذ ملف Python مكتوب بالعربية
from pyarabify import execute_file
execute_file('program.py', dialect='formal', show_english=False)
to_english
تحويل كود عربي إلى إنجليزي
from pyarabify import to_english
arabic = 'اطبع("مرحباً")'
english = to_english(arabic, dialect='formal')
اطبع(english)
to_arabic
تحويل كود إنجليزي إلى عربي
from pyarabify import to_arabic
english = 'print("Hello")'
arabic = to_arabic(english, dialect='formal')
اطبع(arabic)
ArabicParser
فئة المحلل اللغوي
from pyarabify import ArabicParser
parser = ArabicParser(dialect='formal')
parser.add_custom_word('اعرض', 'display')
code = parser.to_english('اعرض("مرحباً")')
الدوال:
parse(code): تحليل وترجمةadd_custom_word(arabic, english, category): إضافة كلمةset_dialect(dialect): تغيير اللهجةget_available_dialects(): الحصول على اللهجات
git
دوال Git
from pyarabify import git
git.احصل_على_الحالة()
git.اضف_للتتبع(".")
git.احفظ_التغييرات("رسالة")
git.ادفع_إلى_المستودع()
git.اسحب_التحديثات()
git.استنسخ_مستودع("https://github.com/user/repo.git")
web
دوال الويب
from pyarabify import web
web.افتح_رابط("https://github.com")
محتوى = web.الحصول("https://api.github.com")
web.تحميل("https://example.com/file.pdf", "ملف.pdf")
ghb
البحث في GitHub
from pyarabify import ghb
نتائج = ghb.بحث_في_جيتهب("python", "repositories", 10)
ghb.عرض_نتائج_البحث(نتائج)
تفاصيل = ghb.تفاصيل_المستودع("username/repo")
hlp
المساعد
from pyarabify import hlp
جواب = hlp.اسأل("سؤالك هنا")
شرح = hlp.شرح_كود("كودك هنا")
اقتراحات = hlp.اقتراحات("كودك هنا")
mth
تحويل المعادلات العربية
from pyarabify import mth
نتيجة = mth.احسب("خمسة زائد ثلاثة")
معادلة = mth.حول_معادلة("عشرة ضرب اثنان")
رقم = mth.حول_نص_لرقم("خمسون")
الدوال المتاحة:
احسب(معادلة): حساب معادلة عربية وإرجاع النتيجةحول_معادلة(معادلة): تحويل معادلة عربية لكود Pythonحول_نص_لرقم(نص): تحويل نص عربي لرقم
drw
الرسوميات باستخدام Turtle
from pyarabify import drw
سلحفاة = drw.انشئ_سلحفاة()
سلحفاة.ارسم_دائرة(100)
سلحفاة.ارسم_مربع(150)
سلحفاة.ارسم_نجمة(5, 100)
سلحفاة.انتظر()
الدوال المتاحة:
انشئ_سلحفاة(): إنشاء كائن رسمارسم_دائرة(نصف_القطر): رسم دائرةارسم_مربع(الطول): رسم مربعارسم_مثلث(الطول): رسم مثلثارسم_نجمة(عدد_الرؤوس, الحجم): رسم نجمةارسم_مستطيل(الطول, العرض): رسم مستطيللون_القلم(اللون): تغيير لون القلمسمك_القلم(السمك): تغيير سمك القلمسرعة(السرعة): تغيير سرعة الرسم
prj
مولد المشاريع
from pyarabify import prj
prj.قائمة_المشاريع()
prj.انشئ_مشروع("آلة_حاسبة")
prj.انشئ_مشروع("قائمة_مهام", "./مجلد")
الدوال المتاحة:
قائمة_المشاريع(): عرض المشاريع الجاهزةانشئ_مشروع(اسم, مسار): إنشاء مشروع جاهز
المشاريع المتاحة:
آلة_حاسبة: آلة حاسبة كاملةقائمة_مهام: نظام إدارة مهاملعبة_تخمين: لعبة تخمين الأرقام
spl
التصحيح الإملائي
from pyarabify import spl
كود_صحيح = spl.تصحيح("اطبغ('مرحباً')")
اقتراحات = spl.اقتراحات_الكلمات("اطبغ")
الدوال المتاحة:
تصحيح(كود): تصحيح الأخطاء الإملائيةاقتراحات_الكلمات(كلمة): الحصول على اقتراحات
lib
دعم المكتبات
from pyarabify import lib
ترجمات = lib.get_library_translations("numpy")
المكتبات المدعومة:
- numpy
- pandas
- matplotlib
- requests
- datetime
- math
- random
- os
- sys
aut
التثبيت التلقائي
from pyarabify import aut
aut.تثبيت_تلقائي("requests")
aut.استيراد_مع_تثبيت("numpy")
الدوال المتاحة:
تثبيت_تلقائي(اسم_المكتبة): تثبيت مكتبةاستيراد_مع_تثبيت(اسم_المكتبة): استيراد مع التثبيت
edat
عرض الأخطاء بالعربية
from pyarabify import edat
edat()
اسم_غير_موجود
الناتج:
============================================================
خطأ: اسم غير معرف
============================================================
الملف: "test.py", السطر: 5
in <module>
التفاصيل: name 'اسم_غير_موجود' is not defined
============================================================
الأخطاء المدعومة:
NameError→ خطأ: اسم غير معرفSyntaxError→ خطأ في بناء الجملةTypeError→ خطأ في النوعValueError→ خطأ في القيمةAttributeError→ خطأ: خاصية غير موجودةKeyError→ خطأ: مفتاح غير موجودIndexError→ خطأ: فهرس خارج النطاقZeroDivisionError→ خطأ: قسمة على صفرFileNotFoundError→ خطأ: ملف غير موجود
استخدام
from pyarabify import edat
from pyarabify import execute
edat()
code = '''
دالة قسم(أ, ب):
ارجع أ / ب
النتيجة = قسم(10, 0)
'''
execute(code)
APIs
1. API ترجمة الأكواد (Translation API)
to_english - تحويل عربي لإنجليزي
تحويل كود Python المكتوب بالعربية إلى كود إنجليزي
التعريف:
to_english(arabic_code, dialect='formal')
المعاملات:
arabic_code(str): الكود العربي المراد ترجمتهdialect(str): اللهجة المستخدمة (افتراضياً: 'formal')- اللهجات المتاحة:
formal,short,egyptian,gulf,palestinian,iraqi
- اللهجات المتاحة:
القيمة المرجعة:
- (str): الكود الإنجليزي المترجم
أمثلة تفصيلية:
from pyarabify import to_english
كود_عربي_1 = 'اطبع("مرحباً بالعالم")'
كود_انجليزي_1 = to_english(كود_عربي_1)
print(كود_انجليزي_1)
كود_عربي_2 = '''
دالة جمع(أ, ب):
النتيجة = أ + ب
ارجع النتيجة
المجموع = جمع(5, 3)
اطبع(المجموع)
'''
كود_انجليزي_2 = to_english(كود_عربي_2, dialect='formal')
print(كود_انجليزي_2)
كود_عربي_3 = '''
لو العدد > 10:
اطبع("كبير")
والا:
اطبع("صغير")
'''
كود_انجليزي_3 = to_english(كود_عربي_3, dialect='palestinian')
print(كود_انجليزي_3)
حالات استخدام متقدمة:
from pyarabify import to_english
كود_معقد = '''
صنف شخص:
دالة __init__(نفسه, الاسم, العمر):
نفسه.الاسم = الاسم
نفسه.العمر = العمر
دالة عرف_نفسك(نفسه):
اطبع("أنا", نفسه.الاسم)
اطبع("عمري", نفسه.العمر)
احمد = شخص("أحمد", 25)
احمد.عرف_نفسك()
'''
كود_انجليزي = to_english(كود_معقد)
print("الكود المترجم:")
print(كود_انجليزي)
to_arabic - تحويل إنجليزي لعربي
تحويل كود Python الإنجليزي إلى كود عربي
التعريف:
to_arabic(english_code, dialect='formal')
المعاملات:
english_code(str): الكود الإنجليزي المراد ترجمتهdialect(str): اللهجة المستهدفة (افتراضياً: 'formal')
القيمة المرجعة:
- (str): الكود العربي المترجم
أمثلة:
from pyarabify import to_arabic
english_code_1 = 'print("Hello World")'
arabic_code_1 = to_arabic(english_code_1)
print(arabic_code_1)
english_code_2 = '''
def calculate_sum(a, b):
result = a + b
return result
total = calculate_sum(10, 20)
print(total)
'''
arabic_code_2 = to_arabic(english_code_2, dialect='formal')
print(arabic_code_2)
english_code_3 = '''
for i in range(5):
print(i)
'''
arabic_code_3 = to_arabic(english_code_3, dialect='short')
print(arabic_code_3)
مثال - ترجمة برنامج كامل:
from pyarabify import to_arabic
full_program = '''
class Calculator:
def __init__(self):
self.result = 0
def add(self, value):
self.result += value
def subtract(self, value):
self.result -= value
def get_result(self):
return self.result
calc = Calculator()
calc.add(10)
calc.add(5)
calc.subtract(3)
print("Result:", calc.get_result())
'''
arabic_program = to_arabic(full_program, dialect='formal')
print("البرنامج بالعربية:")
print(arabic_program)
2. API التنفيذ (Execution API)
execute - تنفيذ كود عربي
تنفيذ كود Python مكتوب بالعربية
التعريف:
execute(code, dialect='formal', show_english=False, globals_dict=None, locals_dict=None)
المعاملات:
code(str): الكود العربي المراد تنفيذهdialect(str): اللهجة المستخدمة (افتراضياً: 'formal')show_english(bool): عرض الكود المترجم قبل التنفيذ (افتراضياً: False)globals_dict(dict): قاموس المتغيرات العامةlocals_dict(dict): قاموس المتغيرات المحلية
القيمة المرجعة:
- (dict): قاموس يحتوي على:
status: حالة التنفيذ ('success' أو 'error')english_code: الكود الإنجليزي المترجمerror: رسالة الخطأ (إن وجد)
أمثله
from pyarabify import execute
code1 = 'اطبع("هاا")'
result1 = execute(code1)
print("Status:", result1['status'])
code2 = '''
العدد_الأول = 10
العدد_الثاني = 20
المجموع = العدد_الأول + العدد_الثاني
اطبع("المجموع =", المجموع)
'''
result2 = execute(code2, show_english=True)
code3 = '''
دالة حساب_المساحة(الطول, العرض):
المساحة = الطول * العرض
ارجع المساحة
مساحة_المستطيل = حساب_المساحة(5, 10)
اطبع("المساحة =", مساحة_المستطيل)
'''
result3 = execute(code3, dialect='formal')
استخدام مع متغيرات :
from pyarabify import execute
globals_dict = {'x': 100, 'y': 200}
locals_dict = {}
code = '''
المجموع = x + y
اطبع("المجموع =", المجموع)
'''
result = execute(code, globals_dict=globals_dict, locals_dict=locals_dict)
مثال متقدم - برنامج تفاعلي:
from pyarabify import execute
program = '''
صنف آلة_حاسبة:
دالة __init__(نفسه):
نفسه.النتيجة = 0
دالة جمع(نفسه, قيمة):
نفسه.النتيجة = نفسه.النتيجة + قيمة
ارجع نفسه.النتيجة
دالة طرح(نفسه, قيمة):
نفسه.النتيجة = نفسه.النتيجة - قيمة
ارجع نفسه.النتيجة
آلة = آلة_حاسبة()
اطبع("بعد جمع 10:", آلة.جمع(10))
اطبع("بعد جمع 5:", آلة.جمع(5))
اطبع("بعد طرح 3:", آلة.طرح(3))
'''
result = execute(program, show_english=True)
execute_file - تنفيذ ملف عربي
تنفيذ ملف Python مكتوب بالعربية
التعريف:
execute_file(file_path, dialect='formal', show_english=False)
المعاملات:
file_path(str): مسار الملفdialect(str): اللهجة المستخدمةshow_english(bool): عرض الكود المترجم
أمثلة:
from pyarabify import execute_file
execute_file('program.py')
execute_file('calculator.py', dialect='egyptian')
execute_file('game.py', dialect='palestinian', show_english=True)
3. API عرض الأخطاء (Error Display API)
edat - تفعيل معالج الأخطاء العربي
تفعيل نظام عرض الأخطاء بالعربية
التعريف:
from pyarabify import edat
edat()
الاستخدام:
from pyarabify import edat
edat()
اسم_غير_موجود
أمثلة تفصيلية:
from pyarabify import edat, execute
edat()
code = '''
دالة قسمة(أ, ب):
اذا ب == 0:
رفع خطأ_قيمة("لا يمكن القسمة على صفر")
ارجع أ / ب
النتيجة = قسمة(10, 0)
'''
execute(code)
مثال متقدم - معالجة أخطاء متعددة:
from pyarabify import edat, execute
edat()
program = '''
حاول:
قائمة = [1, 2, 3]
اطبع(قائمة[10])
ماعدا خطأ_فهرس:
اطبع("الفهرس خارج النطاق")
حاول:
ملف = افتح("ملف_غير_موجود.txt")
ماعدا خطأ_ملف_غير_موجود:
اطبع("الملف غير موجود")
'''
execute(program)
4. API تحويل المعادلات (Math Equations API)
احسب - حساب معادلة عربية
تقييم معادلة رياضية مكتوبة بالعربية وإرجاع النتيجة
التعريف:
from pyarabify.src.mth import احسب
احسب(معادلة)
المعاملات:
معادلة(str): المعادلة الرياضية بالعربية
القيمة المرجعة:
- (int/float): نتيجة المعادلة
- (str): رسالة خطأ إذا فشلت
الأرقام المدعومة:
صفر, واحد, اثنان, اثنين, ثلاثة, ثلاثه, اربعة, اربعه, أربعة, أربعه
خمسة, خمسه, ستة, سته, سبعة, سبعه, ثمانية, ثمانيه, تسعة, تسعه
عشرة, عشره, عشرون, عشرين, ثلاثون, ثلاثين, اربعون, اربعين
خمسون, خمسين, ستون, ستين, سبعون, سبعين, ثمانون, ثمانين, تسعون, تسعين
مئة, مائة, مئه, مائه, الف, ألف
العمليات المدعومة:
زائد (+), جمع (+), اضافة (+)
ناقص (-), طرح (-)
ضرب (*), مضروب (*), في (*)
قسمة (/), مقسوم (/), على (/)
اس (**), قوة (**)
باقي (%)
أمثلة تفصيلية:
from pyarabify.src.mth import احسب
نتيجة1 = احسب("خمسة زائد ثلاثة")
print(نتيجة1)
نتيجة2 = احسب("عشرة ضرب اثنان")
print(نتيجة2)
نتيجة3 = احسب("مائة قسمة خمسة")
print(نتيجة3)
نتيجة4 = احسب("اثنان اس عشرة")
print(نتيجة4)
نتيجة5 = احسب("خمسة زائد ثلاثة ضرب اثنان")
print(نتيجة5)
نتيجة6 = احسب("عشرون باقي ثلاثة")
print(نتيجة6)
أمثلة معقدة:
from pyarabify.src.mth import احسب
معادلة1 = "خمسون زائد عشرون ضرب اثنان"
print(f"{معادلة1} = {احسب(معادلة1)}")
معادلة2 = "مائة ناقص خمسون قسمة عشرة"
print(f"{معادلة2} = {احسب(معادلة2)}")
معادلة3 = "ثلاثة اس اربعة زائد عشرة"
print(f"{معادلة3} = {احسب(معادلة3)}")
حول_معادلة - تحويل معادلة لكود
تحويل معادلة عربية إلى كود Python قابل للتنفيذ
التعريف:
from pyarabify.src.mth import حول_معادلة
حول_معادلة(معادلة)
أمثلة:
from pyarabify.src.mth import حول_معادلة
كود1 = حول_معادلة("خمسة زائد ثلاثة")
print(كود1)
كود2 = حول_معادلة("عشرة ضرب اثنان")
print(كود2)
حول_نص_لرقم - تحويل نص لرقم
تحويل نص عربي يمثل رقم إلى قيمة رقمية
التعريف:
from pyarabify.src.mth import حول_نص_لرقم
حول_نص_لرقم(نص)
أمثلة:
from pyarabify.src.mth import حول_نص_لرقم
رقم1 = حول_نص_لرقم("خمسة")
print(رقم1)
رقم2 = حول_نص_لرقم("عشرون")
print(رقم2)
رقم3 = حول_نص_لرقم("مائة")
print(رقم3)
إضافة كلمات مخصصة
from pyarabify import ArabicParser
parser = ArabicParser()
parser.add_custom_word('اعرض', 'show', category='builtins')
parser.add_custom_word('سجل', 'log', category='builtins')
code = '''
دالة اعرض(رسالة):
اطبع("عرض:", رسالة)
اعرض("مرحباً")
'''
from pyarabify import execute
execute(code)
القاموس الكامل
إحصائيات القاموس
- إجمالي الكلمات: 12,238+
- الكلمات المحجوزة: 60+
- الدوال المدمجة: 100+
- دوال القوائم والنصوص: 50+
- الاستثناءات: 30+
- المكتبات: 25+
- دوال Git: 57
- دوال الويب: 15+
- اللهجات: 6
المتطلبات
- Python 2.7 أو أعلى
- Python 3.x (جميع الإصدارات)
لا توجد متطلبات خارجية إلزامية
المتطلبات الاختيارية (للمميزات)
turtle(مثبتة افتراضياً مع Python): للرسوميات- اتصال بالإنترنت: للبحث في GitHub
الأسئلة الشائعة
هل يمكنني مزج الكود العربي والإنجليزي؟
نعم، يمكنك استخدام الكود الإنجليزي الأصلي مع الكود العربي
هل تعمل المكتبة مع Python 2؟
نعم، المكتبة متوافقة مع Python 2.7 وجميع إصدارات Python 3
كيف أضيف كلمات جديدة؟
from pyarabify import ArabicParser
parser = ArabicParser()
parser.add_custom_word('كلمتك_العربية', 'english_word')
هل يمكنني استخدام المكتبة في مشاريعي التجارية؟
نعم، المكتبة مرخصة تحت MIT License
هل تدعم المكتبة جميع مكتبات Python؟
المكتبة تترجم أشهر المكتبات، ويمكنك إضافة ترجمات مخصصة لأي مكتبة
كيف أساهم في المشروع؟
راجع قسم المساهمة أدناه
الترخيص
MIT License - انظر ملف LICENSE للتفاصيل
المساهمة
نرحب بمساهماتك
- Fork المشروع
- أنشئ branch جديد
- Commit تغييراتك
- Push للـ branch
- افتح Pull Request
أفكار للمساهمة:
- إضافة لهجات عربية جديدة
- ترجمة مكتبات Python إضافية
- تحسين التصحيح الإملائي
- إضافة أمثلة ودروس جديدة
- تحسين التوثيق
الدعم
- المشاكل التقنية: GitHub Issues
- التواصل: @QP4RM على Telegram
- التوثيق: GitHub Repository
الشكر والتقدير
شكراً لاستخدامك pyarabify. نأمل أن تساعد هذه المكتبة في نشر البرمجة بالعربية وجعلها متاحة للجميع
إذا أعجبتك المكتبة، لا تنسى إعطائها نجمة على GitHub
خارطة الطريق
الإصدارات القادمة
الإصدار 2.3.0 (قريباً):
- دعم Pygame للألعاب
- واجهة (GUI) بالعربية
- المزيد من اللهجات العربية
- دروس تفاعلية متقدمة
الإصدار 3.0.0 (مستقبلاً):
- محرر أكواد متكامل بالعربية
- منصة تعليمية
- دعم الذكاء الاصطناعي
- ربط مع Arduino و Raspberry Pi
تم التطوير بواسطة MERO
نسخة: 2.2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyarabify-2.2.0.tar.gz.
File metadata
- Download URL: pyarabify-2.2.0.tar.gz
- Upload date:
- Size: 112.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8946fe5c28420f4df51b00ddca8c2632f95f0088f7b3088028f3b151d611288
|
|
| MD5 |
c4b6d442b2ad09d2e5c2eda49c655645
|
|
| BLAKE2b-256 |
6ecdbbc9855ba364fdbb668b60259bef3f1cd84346b071e3bdcc4d68f2c734b5
|
File details
Details for the file pyarabify-2.2.0-py3-none-any.whl.
File metadata
- Download URL: pyarabify-2.2.0-py3-none-any.whl
- Upload date:
- Size: 97.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0f19f6ec523fe8c49037ef6929b4209a56aa6cdccde718418e2cd23e51d665f
|
|
| MD5 |
7d38c698a678b636ff25014654a73554
|
|
| BLAKE2b-256 |
9e27ccd5fe62da1c1c6a9c7a623f10b9e78da94f56168c74504d48f40a441d60
|