جدول المحتويات
المتطلبات الفنية لنظام إدارة المحتوى MODX
يتطلب استخدام الترجمة التلقائية مع إطار عمل إدارة المحتوى MODX استخدام سكربت PHP (يمكن تنزيله أدناه). لتثبيت سكربت Linguise ، ستحتاج إلى المتطلبات التالية:
- قم بتشغيل PHP 7+
- خادم Apache، LiteSpeed، NGINX، IIS
- تأكد من تفعيل إعادة كتابة عناوين URL على خادمك
- MODX CMS الإصدار 2.x أو 3 وما فوق
1. إنشاء مفتاح API

بعد ذلك ستحصل على:
- مفتاح API الذي يتحقق من عضويتك
- رابط نص Linguise الخاص بمبدل اللغة

مفتاح واجهة برمجة التطبيقات (API) هو المطلوب لتفعيل الترجمة على موقعك الإلكتروني المبني على نظام إدارة المحتوى MODX . ببساطة، يتحقق مفتاح واجهة برمجة التطبيقات من اللغة المُفعّلة على نطاقك، مما يسمح بالترجمة التلقائية للمحتوى.
في الوقت الحالي، يمكنك نسخ مفتاح API والاحتفاظ به في الحافظة.
2. قم بتحميل وتوصيل نص ترجمة Linguise
يجب تحميل برنامج الترجمة Linguise على الخادم الخاص بك حيث تم تثبيت نظام إدارة المحتوى MODX :
بعد تنزيل البرنامج النصي، قم بفك ضغطه وتحميله إلى المجلد الرئيسي حيث تم تثبيت نظام إدارة المحتوى MODX .
- تأكد من وجوده في المستوى الجذر لموقعك الإلكتروني (حيث توجد ملفات MODX
- تأكد من أن المجلد يحتفظ باسمه الافتراضي " linguise ".

كيفية الوصول إلى واجهة برمجة النصوص Linguise ؟
بعد إتمام Linguise ، يمكنك الوصول إلى لوحة التحكم من خلال زيارة موقعك الإلكتروني باستخدام تنسيق عنوان URL التالي
linguise https://www.domain.com/linguise
غيّر عنوان النطاق ليتوافق مع عنوان موقعك الإلكتروني*
تأكد من أن Linguise لديه صلاحيات القراءة والكتابة المناسبة*
إعداد كلمة المرور والاتصال بقاعدة البيانات
بمجرد دخولك إلى واجهة البرنامج النصي، ستظهر لك شاشة إعداد حيث يمكنك إنشاء كلمة مرور والاتصال بقاعدة البيانات المفضلة لديك.
أنت تستطيع:
- قم بتعيين كلمة مرور، والتي ستكون مطلوبة للوصول إلى هذه الواجهة في المستقبل.
- اختر نوع قاعدة البيانات الخاصة بك - إما MySQL أو SQLite، حسب إعدادك وتفضيلاتك.
يضمن هذا الإعداد الأولي الوصول الآمن ويسمح لك بتكوين البرنامج النصي وفقًا لبيئتك.

اتصال بقاعدة بيانات MySQL
إذا اخترت MySQL، فستظهر واجهة مختلفة تطلب تفاصيل الاتصال التالية لحقول تكوين MySQL أدناه:

تأكد من صحة المعلومات لإنشاء اتصال ناجح بقاعدة بيانات MySQL الخاصة بك.
MySQL مقابل SQLite - ما الفرق؟
يُعد كل من MySQL وSQLite نظامي قواعد بيانات شائعين يُستخدمان لتخزين وإدارة البيانات للمواقع الإلكترونية والتطبيقات. ومع ذلك، فقد صُمما لحالات استخدام مختلفة، ويختلفان في بعض الجوانب الرئيسية:
| ميزة | SQLite | MySQL |
|---|---|---|
| يثبت | سهل للغاية (يتطلب تثبيت SQLite) | يتطلب إعداد الخادم |
| تخزين | ملف واحد | تتم إدارتها بواسطة خادم MySQL |
| أداء | مثالي للتطبيقات الصغيرة | أفضل للأنظمة الكبيرة ذات حركة المرور العالية |
| حالة الاستخدام | تطبيقات محلية، اختبار، مواقع صغيرة | تطبيقات الويب، والتجارة الإلكترونية، وأنظمة المؤسسات |
واجهة برمجة Linguise : إعداد لمنصة PHP
لوحة تحكم الترجمة Linguise ، التي كانت متاحة سابقًا فقط لمنصتي Joomla و WordPress، تدعم الآن لغة PHP ومنصات إضافية. يتيح هذا التحديث للمستخدمين ضبط إعدادات اللغة بسلاسة، مثل خيارات العرض وأنماط العلامات وتخصيص المظهر، مباشرةً من واجهة موحدة، بغض النظر عن نظام إدارة المحتوى أو إطار العمل المستخدم.

يستطيع المسؤولون إدارة إعدادات Linguise بكفاءة أكبر، بفضل ميزات متسقة مثل نوافذ اختيار اللغة المنبثقة، وتأثيرات الظل، وخيارات العلامات الخاصة بكل منطقة. تحافظ لوحة التحكم على تصميمها سهل الاستخدام مع توفير توافق أوسع مع بيئات الويب المتنوعة.


3. إعداد إعادة كتابة عناوين URL لنظام إدارة المحتوى MODX
بشكل افتراضي، تكون خاصية إعادة كتابة عناوين المواقع الإلكترونية مُفعّلة بالفعل في نظام إدارة المحتوى MODX . إذا لم تكن كذلك، يمكنك تفعيلها من خلال مزود خدمة الاستضافة الخاص بك.
يجب ضبط عنوان URL حسب اللغة في ملف .htaccess. ما عليك سوى نسخ الكود أدناه بعد الكود " RewriteEngine on " الموجود في ملف .htaccess الافتراضي لنظام إدارة المحتوى MODX .
RewriteEngine On
RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
وأخيرًا، يجب أن يبدو ملف .htaccess الخاص بنظام إدارة المحتوى MODX الخاص بك على النحو التالي:
RewriteEngine On
RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
# Prevent rewrite the .well-known directory used by LetsEncrypt by rules below of this rule
RewriteRule "^\.well-known/" - [L]
# Prevent dot directories (hidden directories like .git) to be exposed to the public
# Except for the .well-known directory used by LetsEncrypt a.o
RewriteRule "/\.|^\.(?!well-known/)" - [F]
يمكنك الآن تحميل جميع صفحاتك المترجمة باستخدام عنوان URL، على سبيل المثال: www.shop.com /fr/
لنقم الآن بتحميل مُبدِّل اللغة.
4. فعّل مُبدِّل اللغة
4.1 تحميل سكربت Linguise JS
يجب تحميل رابط برنامج Linguise JS النصي على جميع صفحات MODX CMS الخاصة بك لعرض مبدل اللغة مع العلامات وعناوين URL البديلة في رؤوس HTML الخاصة بك (لأغراض تحسين محركات البحث).
لنسخ رابط البرنامج النصي، انتقل من لوحة تحكم Linguise إلى إعدادات النطاق وانسخ رابط البرنامج النصي.

أسهل طريقة لتحميل هذا الكود في MODX هي إضافته داخل رأس موقعك الإلكتروني أو شفرة.
لتحقيق ذلك، افتح MODX / صفحات الإدارة. ثم انتقل إلى العناصر، وحدد BaseTemplate ، وقم بالتمرير لأسفل حتى تجد رمز قالب العرض (HTML)، قم بتحرير الرمز لإضافة رابط البرنامج النصي داخل رمز <head>.
مُبدِّل اللغة هو نافذة منبثقة تتيح لك اختيار اللغة التي تريدها. لتحميله، عليك نسخ الكود الموجود في نهاية إعدادات الموقع إلى قسم <head> في صفحة HTML الخاصة بك. سيتم تحميل مُبدِّل اللغة تلقائيًا بعد ذلك.

سيظهر مُبدِّل اللغة افتراضيًا في أعلى يمين موقعك الإلكتروني. يمكنك تخصيصه كما هو موضح في الفصل التالي.

ملاحظة هامة لتحسين محركات البحث: يؤثر عدد اللغات التي تُضيفها بشكل كبير على تحسين محركات البحث. عند إعداد لغات الترجمة، إذا كان لديك عدد كبير من الصفحات المفهرسة (أكثر من 500 صفحة)، فقد يستغرق محرك البحث وقتًا طويلاً لمعالجتها، مما قد يؤثر سلبًا على تحسين محركات البحث في لغتك الأصلية. لذا، ننصح بإضافة 5 لغات كحد أقصى في البداية، ثم بعد اكتمال فهرسة الموقع، يمكنك إضافة 3 لغات على دفعات شهرية.
إعداد مفتاح تبديل اللغة
يمكن تخصيص مُبدِّل اللغة من لوحة تحكم Linguise > الإعدادات > عرض علامات اللغة. ستنعكس جميع التعديلات التي تُجرى هنا على الموقع الإلكتروني.

على الجانب الأيمن من الشاشة، ستجد معاينة لمبدل اللغة. إليك العناصر التي يمكنك ضبطها:
- ثلاثة تصميمات: جنبًا إلى جنب، أو قائمة منسدلة، أو نافذة منبثقة
- موقع مفتاح تبديل اللغة
- محتوى مفتاح تبديل اللغة
- أسماء اللغات باللغة الإنجليزية أو اللغة الأم
- أشكال الأعلام والحجم
- الألوان وظل الصندوق
قم بتحميل مُبدِّل اللغة في محتوى MODX CMS

لعرض مُبدِّل اللغة في مكان مُحدد ضمن MODX ، يجب ضبط الموضع على "في مكانه".
بعد ضبط الموضع في Linguise ، يُمكنك إضافة الرمز المختصر أدناه لتضمينه. انقر على الرمز أدناه لنسخه إلى الحافظة.
[linguise]
بمجرد إضافته، ستظهر لك أسماء العلم واللغة في واجهة المستخدم في منطقة HTML التي أضفت إليها الكود.
تفعيل خيار نظام التخزين المؤقت المحلي
كخيار إضافي، يمكنك تفعيل نظام التخزين المؤقت المحلي الذي يخزن عناوين URL ومحتواها متعدد اللغات لتسريع تحميل الصفحات. سيساهم التخزين المؤقت المحلي في تقليل نقل البيانات بين خادم Linguise وخادم موقعك الإلكتروني. يُستخدم التخزين المؤقت فقط عندما تكون الصفحة مترجمة مسبقًا ولم يتم تحديثها. وستكون الأولوية في التخزين المؤقت للصفحات متعددة اللغات الأكثر مشاهدة.
بالإضافة إلى ذلك، يمكنك تحديد حجم ذاكرة التخزين المؤقت المخزنة بالميغابايت. في المثال التالي، تم تفعيل ذاكرة التخزين المؤقت، وحجمها المطلوب الاحتفاظ به هو 500 ميغابايت.

/** Basic configuration **/
public $cache_enabled = true;
public $cache_max_size = 500; // In megabyte
الترجمة التلقائية على خوادم NGINX
rewrite ^/(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /linguise/linguise.php?linguise_language=$1&original_url=$2 last;