Skip to content

DSYemen/DocTrans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

أداة ترجمة الوثائق التقنية 🌐

أداة مبنية على Streamlit لترجمة الوثائق التقنية من GitHub إلى اللغة العربية باستخدام نماذج اللغة المتقدمة.

المميزات الرئيسية 🚀

1. التكامل مع GitHub

  • تحميل الملفات من مستودعات GitHub
  • ترجمة الملفات باستخدام مزودي LLM المختلفين
  • رفع الملفات المترجمة مرة أخرى إلى GitHub
  • دعم أنواع الملفات المتعددة:
    • Markdown (.md, .mdx)
    • ReStructuredText (.rst, .rstx)
    • Python (.py)
    • HTML (.html)
    • Jupyter Notebooks (.ipynb) - ترجمة خلايا Markdown فقط

2. إدارة الملفات المتقدمة

  • هيكل مجلدات ديناميكي
  • الحفاظ على التسلسل الهرمي للملفات الأصلية
  • دعم التحميل الجزئي للمستودع
  • إمكانية اختيار الملفات للترجمة والرفع
  • معالجة خاصة لملفات Jupyter Notebook:
    • ترجمة خلايا Markdown فقط
    • الحفاظ على خلايا الكود ومخرجاتها دون تغيير
    • الحفاظ على تنسيق الملف وبياناته الوصفية

3. واجهة المستخدم

  • ثلاث صفحات رئيسية:
    1. تحميل الملفات:
      • عرض أنواع الملفات المدعومة
      • تحميل الملفات مع الحفاظ على هيكل المجلدات
    2. ترجمة الملفات:
      • عرض أنواع الملفات المدعومة
      • اختيار مزود LLM
      • ترجمة ذكية حسب نوع الملف
    3. رفع الترجمات:
      • عرض أنواع الملفات المدعومة
      • رفع الملفات مع دعم الملفات الثنائية
  • أقسام قابلة للتوسيع للمستودعات
  • اختيار الملفات مع خيارات الحذف
  • تتبع تقدم التحميل والترجمة

المتطلبات 📋

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  # اختياري، مطلوب للمستودعات الخاصة

الاستخدام 🚀

  1. قم بتشغيل التطبيق:
streamlit run src/app.py
  1. في صفحة "تحميل الملفات":

    • أدخل رابط مستودع GitHub
    • حدد الملفات التي تريد تحميلها
    • اختر من قائمة أنواع الملفات المدعومة
    • انقر على "تحميل الملفات المحددة"
  2. في صفحة "ترجمة الملفات":

    • اختر مزود LLM
    • حدد الملفات للترجمة
    • اختر من قائمة أنواع الملفات المدعومة
    • انقر على "ترجمة الملفات المحددة"
  3. في صفحة "رفع الترجمات":

    • أدخل رابط المستودع الهدف
    • حدد الملفات المترجمة
    • اختر من قائمة أنواع الملفات المدعومة
    • انقر على "رفع الملفات المحددة"

هيكل المشروع 📁

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              # توثيق المشروع

المساهمة 🤝

نرحب بمساهماتكم! يرجى اتباع الخطوات التالية:

  1. Fork المستودع
  2. إنشاء فرع للميزة الجديدة
  3. تقديم طلب سحب مع وصف تفصيلي للتغييرات

الترخيص 📄

هذا المشروع مرخص تحت رخصة MIT. راجع ملف LICENSE للمزيد من المعلومات.

About

أداة ترجمة الوثائق التقنية 🌐 أداة مبنية على Streamlit لترجمة الوثائق التقنية من GitHub إلى اللغة العربية باستخدام نماذج اللغة المتقدمة.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages