وحدة الإصلاح التلقائي (وضع إدخال القاعدة السريعة)¶
## ماذا يفعل
عند كتابة كلمة عادية (بدون علامات الاقتباس أو بناء جملة Python) في ملف خريطة
مثل FUZZY_MAP_pre.py، يقوم النظام تلقائيًا بتحويلها إلى قاعدة صالحة.
هذه هي أسرع طريقة لإنشاء قواعد جديدة — لا داعي لتذكر التنسيق.
## مثال
اكتب هذا في `FUZZY_MAP_pre.py`:
oma
تكتشف وحدة الإصلاح التلقائي خطأ “NameError” (كلمة مجردة، ليست لغة Python صالحة) ويحول الملف تلقائيا إلى:
# config/maps/.../de-DE/FUZZY_MAP_pre.py
import re # noqa: F401
# too<-from
FUZZY_MAP_pre = [
('oma', 'oma'),
]
الآن قم بتحرير القاعدة إلى ما تحتاجه بالفعل:
('Oma', 'oma'), # capitalize
('Großmutter', 'oma'), # synonym
('Thomas Müller', 'thomas'), # from a phone book
## كيف يعمل
يتم تشغيل الوحدة النمطية scripts/py/func/auto_fix_module.py تلقائيًا
عندما تكتشف Aura خطأ في الاسم أثناء تحميل ملف خريطة.
ومن ثم:
1. يضيف رأس مسار الملف الصحيح
2. يضيف "استيراد إعادة" إذا كان مفقودًا
3. يضيف تعريف القائمة `FUZZY_MAP_pre = [`
تحويل الكلمات المجردة إلى
(\'كلمة'، 'كلمة')،صفوف 5. يُغلق القائمة بـ]## القواعد والحدود
يعمل فقط على الملفات الأصغر من 1 كيلو بايت (حد الأمان)
ينطبق فقط على:
FUZZY_MAP.py،FUZZY_MAP_pre.py،PUNCTUATION_MAP.pyيجب أن يكون الملف موجودًا في مجلد لغة صالح (مثل
de-DE/)يعمل مع كلمات متعددة في وقت واحد (على سبيل المثال من قائمة دليل الهاتف)
المشكلات المعروفة (لم يتم اختبارها بشكل كامل)¶
⚠️ هذه الوحدة عملية ولكن لم يتم اختبارها بشكل شامل. الحالات التالية قد لا تعمل بشكل صحيح:
الأرقام -
5أو6ليست معرفات Python صالحة، وقد لا يتعامل معها الإصلاح التلقائيالأحرف الخاصة - الكلمات التي تحتوي على
-،.، علامات تغير الصوت قد لا تؤدي إلى حدوث خطأ في الاسم.إدخالات متعددة الكلمات - يتسبب
thomas mueller(مع وجود مسافة) في حدوثSyntaxErrorوليسNameError، لذلك قد لا يتم تشغيل الإصلاح التلقائيقيم مفصولة بفواصل - يمكن إدراج
drei, vierكما هو دون أن يصبح صفًا مناسبًا
إذا لم يتم تشغيل الإصلاح التلقائي، أضف القاعدة يدويًا:
('replacement', 'input word'),
## التعليق `# أيضًا<-من`
تتم إضافة هذا التعليق تلقائيًا كتذكير باتجاه القاعدة:
too <- from
المعنى: الإخراج (أيضًا) ← الإدخال (من). الاستبدال يأتي أولا.
بالنسبة إلى PUNCTUATION_MAP.py، يتم عكس الاتجاه: # from->too
## الإدخال بالجملة من القائمة
يمكنك لصق عدة كلمات مرة واحدة:
thomas
maria
berlin
تصبح كل كلمة مجردة قاعدة خاصة بها:
('thomas', 'thomas'),
('maria', 'maria'),
('berlin', 'berlin'),
ثم قم بتحرير كل بديل حسب الحاجة.
## الملف: `scripts/py/func/auto_fix_module.py`