Skip to content

ArWikiCats - نظام ترجمة تصنيفات ويكيبيديا

نظرة عامة

نظام ArWikiCats هو نظام متكامل لترجمة أسماء تصنيفات ويكيبيديا الإنجليزية إلى أسماء عربية موحدة. يتكون النظام من ثلاث مستودعات مترابطة تعمل معًا لتوفير حل شامل:

  1. المكتبة الأساسية: ArWikiCats
  2. ArWikiCatsWeb - واجهة الويب وواجهة برمجة التطبيقات REST
  3. cats_maker_new - بوت التطبيق على ويكيبيديا العربية

المستودعات

1. المكتبة الأساسية ArWikiCats

الدور: المنطق الأساسي لترجمة أسماء التصنيفات

الوظائف:

  • ترجمة أسماء تصنيفات ويكيبيديا من الإنجليزية إلى العربية
  • توحيد وتطبيع أسماء التصنيفات العربية
  • توفير واجهة برمجية (API) للاستخدام في التطبيقات الأخرى
  • لا يحتوي على واجهة مستخدم أو اتصال بالشبكة

المخرجات:

  • حزمة Python قابلة للتثبيت
  • يمكن استخدامها كمكتبة في مشاريع أخرى

التبعيات:

  • لا يعتمد على المستودعات الأخرى
  • يعمل كوحدة مستقلة

2. واجهة ArWikiCatsWeb (واجهة الويب وواجهة برمجة التطبيقات)

الدور: توفير واجهة ويب وواجهة برمجة REST لوظائف ArWikiCats

الوظائف:

  • واجهة ويب تفاعلية للمستخدمين النهائيين
  • واجهة برمجة REST API عبر HTTP
  • إمكانية الوصول إلى وظائف الترجمة من المتصفح أو عبر طلبات HTTP
  • معالجة الطلبات وإرجاع النتائج بتنسيق JSON

المخرجات:

  • تطبيق ويب قابل للنشر
  • نقاط نهاية (endpoints) لواجهة REST API

التبعيات:

  • يعتمد على: ArWikiCats (يستخدمه كمكتبة)
  • يستورد ويستخدم وظائف الترجمة من ArWikiCats

3. بوت cats_maker_new (بوت ويكيبيديا)

الدور: بوت آلي لترجمة وإنشاء التصنيفات على ويكيبيديا العربية

الوظائف:

  • استخراج أسماء التصنيفات من ويكيبيديا الإنجليزية
  • استخدام ArWikiCats لترجمة أسماء التصنيفات
  • إنشاء التصنيفات المترجمة على ويكيبيديا العربية تلقائيًا
  • معالجة التصنيفات بشكل مجمّع (batch processing)

المخرجات:

  • تصنيفات جديدة على ويكيبيديا العربية
  • سجلات العمليات والتقارير

التبعيات:

  • يعتمد على: ArWikiCats (يستخدمه كمكتبة)
  • يستورد ويستخدم وظائف الترجمة من ArWikiCats
  • يتفاعل مع API ويكيبيديا

تدفق البيانات

+------------------+
| ويكيبيديا        |
| الإنجليزية       |
+--------+---------+
         |
         | أسماء التصنيفات بالإنجليزية
         v
+--------+---------+
|  ArWikiCats      |  <---- المنطق الأساسي
|  (مكتبة Python)  |
+--------+---------+
         |
         | أسماء التصنيفات بالعربية (موحدة)
         |
         +------------------------+------------------------+
         |                        |                        |
         v                        v                        v
+--------+---------+     +--------+---------+     +--------+---------+
| ArWikiCatsWeb    |     | cats_maker_new   |     | تطبيقات أخرى     |
| (واجهة الويب)    |     | (البوت)          |     | (مستقبلية)        |
+------------------+     +--------+---------+     +------------------+
         |                        |
         v                        v
+--------+---------+     +--------+---------+
| المستخدمون       |     | ويكيبيديا العربية|
| عبر المتصفح      |     | (تصنيفات جديدة)  |
+------------------+     +------------------+

العلاقات والتبعيات

البنية الهرمية:

  1. المستوى الأساسي: ArWikiCats

    • لا يعتمد على أي مستودع آخر
    • يوفر الوظائف الأساسية لجميع التطبيقات
  2. المستوى التطبيقي: ArWikiCatsWeb و cats_maker_new

    • كلاهما يعتمد على ArWikiCats
    • يستخدمان نفس المنطق الأساسي
    • مستقلان عن بعضهما البعض

اتجاه التبعيات:

ArWikiCats  (القاعدة - لا تبعيات)
    ↑
    |
    +------------+------------+
    |            |            |
ArWikiCatsWeb   cats_maker_new   (تطبيقات - تعتمد على القاعدة)

سيناريوهات الاستخدام

السيناريو 1: مستخدم نهائي يستخدم واجهة الويب

  1. المستخدم يفتح ArWikiCatsWeb في المتصفح
  2. المستخدم يدخل اسم تصنيف بالإنجليزية
  3. ArWikiCatsWeb يستدعي ArWikiCats للترجمة
  4. ArWikiCats يعيد الاسم المترجم بالعربية
  5. ArWikiCatsWeb يعرض النتيجة للمستخدم

السيناريو 2: البوت ينشئ تصنيفات على ويكيبيديا

  1. يستخرج cats_maker_new قائمة تصنيفات من ويكيبيديا الإنجليزية
  2. لكل تصنيف، يستدعي ArWikiCats للترجمة
  3. ArWikiCats يعيد الأسماء المترجمة بالعربية
  4. cats_maker_new يتحقق من وجود التصنيف على ويكيبيديا العربية
  5. إذا لم يكن موجودًا، ينشئ التصنيف الجديد

السيناريو 3: تطبيق خارجي يستخدم REST API

  1. التطبيق يرسل طلب HTTP إلى ArWikiCatsWeb
  2. ArWikiCatsWeb يستدعي ArWikiCats للترجمة
  3. ArWikiCats يعيد النتيجة
  4. ArWikiCatsWeb يرسل الاستجابة كـ JSON
  5. التطبيق يستخدم البيانات المترجمة

البنية التقنية

المكتبة الأساسية (ArWikiCats)

  • اللغة: Python
  • النوع: مكتبة/حزمة (Package)
  • الواجهة: برمجية (API)
  • النشر: PyPI أو تثبيت محلي

الواجهة (ArWikiCatsWeb)

  • اللغة: Python (مع إطار عمل ويب)
  • النوع: تطبيق ويب
  • الواجهة: HTTP/REST API + واجهة مستخدم
  • النشر: خادم ويب

البوت (cats_maker_new)

  • اللغة: Python
  • النوع: تطبيق سطر أوامر/خدمة
  • الواجهة: سطر أوامر
  • النشر: تشغيل دوري أو مستمر

المزايا الرئيسية لهذه البنية

  1. الفصل بين المسؤوليات: كل مستودع له دور واضح ومحدد
  2. إمكانية إعادة الاستخدام: المنطق الأساسي في ArWikiCats يمكن استخدامه من تطبيقات متعددة
  3. سهولة الصيانة: التغييرات في المنطق الأساسي تحدث في مكان واحد
  4. القابلية للتوسع: يمكن إضافة تطبيقات جديدة تستخدم ArWikiCats دون تعديل المكتبة الأساسية
  5. الاستقلالية: ArWikiCatsWeb و cats_maker_new مستقلان عن بعضهما

التطوير والمساهمة

عند تطوير أو صيانة هذا النظام:

  1. للتغييرات في منطق الترجمة: عدّل ArWikiCats
  2. للتغييرات في واجهة الويب أو API: عدّل ArWikiCatsWeb
  3. للتغييرات في سلوك البوت: عدّل cats_maker_new

الروابط


للنسخة الإنجليزية من هذا المستند، راجع README-en.md

Pinned Loading

  1. ArWikiCats ArWikiCats Public

    Python

  2. ArWikiCatsWeb ArWikiCatsWeb Public

    HTML

  3. cats_maker_new cats_maker_new Public

    Python

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…