أبرز الميزات: تنفيذ وضع الترجمة المباشرة القابل للتبديل

تم تصميم إطار عمل المساعد الصوتي القابل للتوصيل الخاص بنا لتحقيق أقصى قدر من المرونة. يوضح هذا الدليل ميزة قوية: وضع الترجمة المباشرة الذي يمكن تشغيله وإيقافه بأمر صوتي بسيط. تخيل أنك تتحدث إلى مساعدك باللغة الألمانية وتسمع النتيجة باللغة البرتغالية، ثم تعود إلى السلوك الطبيعي على الفور.

لا يتم تحقيق ذلك عن طريق تغيير المحرك الأساسي، ولكن عن طريق التعامل بذكاء مع ملف تكوين القاعدة نفسه.

                                          ### كيفية استخدامه

يتضمن إعداد هذا إضافة قاعدتين إلى ملف FUZZY_MAP_pre.py الخاص بك وإنشاء البرامج النصية المقابلة.

1. قاعدة التبديل: تستمع هذه القاعدة إلى الأمر لتشغيل وضع الترجمة أو إيقاف تشغيله.

# Rule to turn the translation mode on or off
    ('', r'^(portugiesisch|übersetzung|übersetzer) (aktivieren|aktiviert|aktiv|einschalten|deaktivieren|ausschalten|toggle|Dogge|doppelt)\b', 95, {
        'command_flags': re.IGNORECASE,
        'on_match_exec': [CONFIG_DIR / 'toggle_translation_mode.py']
    }),

عندما تقول “Übersetzung einschalten” (تشغيل الترجمة)، يتم تنفيذ البرنامج النصي toggle_translation_mode.py.

2. قاعدة الترجمة: هذه قاعدة “شاملة”، والتي عندما تكون نشطة، تطابق أي نص وترسله إلى نص الترجمة.

    # ANCHOR: The following line is controlled by the toggle script.
    # TRANSLATION_RULE
    ('', r'.+', 5, {'command_flags': re.IGNORECASE,'on_match_exec': [CONFIG_DIR / 'translate_from_to.py']}),

المفتاح هنا هو التعليق # TRANSLATION_RULE. يعمل هذا بمثابة “مرساة” يستخدمها البرنامج النصي للتبديل للعثور على القاعدة الموجودة أسفله وتعديلها.

                      ### كيف يعمل: السحر خلف الستار

بدلاً من استخدام حالة داخلية، تقوم هذه الطريقة بتحرير خريطة القاعدة على نظام الملفات مباشرة. يعمل البرنامج النصي toggle_translation_mode.py كمدير التكوين.

  1. ابحث عن القاعدة: عند تشغيلها، يقرأ البرنامج النصي محتوى FUZZY_MAP_pre.py. فهو يبحث عن التعليق الأساسي الفريد # TRANSLATION_RULE.

                                           2. **تبديل الحالة:**
    
  • للتعطيل: إذا كان سطر القاعدة الموجود أسفل نقطة الارتساء نشطًا، فسيضيف البرنامج النصي # في بداية السطر، مما يؤدي إلى التعليق عليه وتعطيله بشكل فعال.

  • للتمكين: إذا كان سطر القاعدة قد تم التعليق عليه بالفعل، فسيقوم البرنامج النصي بإزالة المسافة البادئة # بعناية، مما يؤدي إلى إعادة تنشيط القاعدة.

  1. حفظ وإعادة تحميل: يحفظ البرنامج النصي المحتوى المعدل مرة أخرى في FUZZY_MAP_pre.py. ثم يقوم بعد ذلك بإنشاء ملف تشغيل خاص (على سبيل المثال، RELOAD_RULES.trigger). تراقب الخدمة الرئيسية باستمرار ملف التشغيل هذا. عندما تظهر الخدمة، تعلم أن تكوينها قد تغير وتعيد تحميل خريطة القاعدة بالكامل من القرص، وتطبق التغيير على الفور.

      ### فلسفة التصميم: المزايا والاعتبارات
    

تم اختيار هذا الأسلوب لتعديل ملف التكوين مباشرةً نظرًا لوضوحه وبساطته بالنسبة للمستخدم النهائي.

                                                     #### المزايا:
  • شفافية عالية: الحالة الحالية للنظام مرئية دائمًا. تكشف نظرة سريعة على الملف FUZZY_MAP_pre.py على الفور ما إذا كانت قاعدة الترجمة نشطة أم تم التعليق عليها.

  • لا توجد تغييرات أساسية في المحرك: تم تنفيذ هذه الميزة القوية دون تغيير سطر واحد من محرك معالجة القواعد الأساسي. يوضح مرونة نظام البرنامج المساعد.

  • بديهي للمطورين: يعد مفهوم تمكين أو تعطيل جزء من التكوين من خلال التعليق عليه نمطًا مألوفًا وبسيطًا وموثوقًا لأي شخص تعامل مع التعليمات البرمجية أو ملفات التكوين.

                                                 #### الاعتبارات:
    
  • أذونات نظام الملفات: لكي تعمل هذه الطريقة، يجب أن تتمتع عملية المساعد بأذونات الكتابة لملفات التكوين الخاصة بها. في بعض البيئات عالية الأمان، قد يكون هذا أحد الاعتبارات.