أداة مبنية على Streamlit لترجمة الوثائق التقنية من GitHub إلى اللغة العربية باستخدام نماذج اللغة المتقدمة.
- تحميل الملفات من مستودعات GitHub
- ترجمة الملفات باستخدام مزودي LLM المختلفين
- رفع الملفات المترجمة مرة أخرى إلى GitHub
- دعم أنواع الملفات المتعددة:
- Markdown (.md, .mdx)
- ReStructuredText (.rst, .rstx)
- Python (.py)
- HTML (.html)
- Jupyter Notebooks (.ipynb) - ترجمة خلايا Markdown فقط
- هيكل مجلدات ديناميكي
- الحفاظ على التسلسل الهرمي للملفات الأصلية
- دعم التحميل الجزئي للمستودع
- إمكانية اختيار الملفات للترجمة والرفع
- معالجة خاصة لملفات Jupyter Notebook:
- ترجمة خلايا Markdown فقط
- الحفاظ على خلايا الكود ومخرجاتها دون تغيير
- الحفاظ على تنسيق الملف وبياناته الوصفية
- ثلاث صفحات رئيسية:
- تحميل الملفات:
- عرض أنواع الملفات المدعومة
- تحميل الملفات مع الحفاظ على هيكل المجلدات
- ترجمة الملفات:
- عرض أنواع الملفات المدعومة
- اختيار مزود LLM
- ترجمة ذكية حسب نوع الملف
- رفع الترجمات:
- عرض أنواع الملفات المدعومة
- رفع الملفات مع دعم الملفات الثنائية
- تحميل الملفات:
- أقسام قابلة للتوسيع للمستودعات
- اختيار الملفات مع خيارات الحذف
- تتبع تقدم التحميل والترجمة
pip install -r requirements.txtقم بإنشاء ملف .env في المجلد الرئيسي وأضف المتغيرات التالية:
GEMINI_API_KEY=your_gemini_api_key
COHERE_API_KEY=your_cohere_api_key
GROQ_API_KEY=your_groq_api_key
TOGETHER_API_KEY=your_together_api_key
GITHUB_TOKEN=your_github_token # اختياري، مطلوب للمستودعات الخاصة- قم بتشغيل التطبيق:
streamlit run src/app.py-
في صفحة "تحميل الملفات":
- أدخل رابط مستودع GitHub
- حدد الملفات التي تريد تحميلها
- اختر من قائمة أنواع الملفات المدعومة
- انقر على "تحميل الملفات المحددة"
-
في صفحة "ترجمة الملفات":
- اختر مزود LLM
- حدد الملفات للترجمة
- اختر من قائمة أنواع الملفات المدعومة
- انقر على "ترجمة الملفات المحددة"
-
في صفحة "رفع الترجمات":
- أدخل رابط المستودع الهدف
- حدد الملفات المترجمة
- اختر من قائمة أنواع الملفات المدعومة
- انقر على "رفع الملفات المحددة"
project_root/
├── input_files/ # الملفات المحملة من المستودع
│ └── [repo_path_components]/
├── output_files/ # الملفات المترجمة
│ └── [repo_path_components]/
├── src/
│ ├── app.py # واجهة Streamlit الرئيسية
│ ├── config.py # إدارة الإعدادات والملفات المدعومة
│ ├── github_service.py # التفاعل مع مستودعات GitHub
│ ├── llm_factory.py # إدارة مزودي LLM
│ └── translation_service.py # منطق الترجمة
├── .env # ملف المتغيرات البيئية
├── requirements.txt # متطلبات المشروع
└── README.md # توثيق المشروع
نرحب بمساهماتكم! يرجى اتباع الخطوات التالية:
- Fork المستودع
- إنشاء فرع للميزة الجديدة
- تقديم طلب سحب مع وصف تفصيلي للتغييرات
هذا المشروع مرخص تحت رخصة MIT. راجع ملف LICENSE للمزيد من المعلومات.