الدرس (6): سكربت PHP لمُولد ملفات phrases.xml التلقائي في XenForo
السلام عليكم ورحمة الله وبركاته،
أهلاً بكم أخواني وأعضائنا الكرام في شبكة كود نت.
نختتم معكم اليوم هذه السلسلة البرمجية المخصصة لتسهيل إدارة وتطوير منتديات XenForo، ونقدم لكم الدرس السادس (6) والأخير، والمخصص لتوليد ملفات العبارات والترجمة XML بشكل آلي.
عند تطوير إضافات XenForo أو تعريبها، قد تحتاج إلى إنشاء العبارات المترجمة وتصديرها بصيغة XML متوافقة تماماً مع معايير النظام لتضمينها داخل مجلد _data الخاص بالإضافة أو استيرادها عبر لوحة التحكم. بدلاً من كتابة وسم XML يدوياً لكل عبارة والذي قد يؤدي إلى أخطاء في الرموز أو الترميز (Encoding)، يتيح لك هذا السكربت إدخال العبارات كمصفوفة PHP بسيطة وتحويلها فوراً إلى ملف XML معالَج ومنسق بشكل صحيح.

الكود البرمجي:
كيف يعمل السكربت؟
* إدخال مبسط: يعتمد على مصفوفة Key-Value بسيطة لإدخال مفاتيح العبارات ونصوصها دون التعامل مع أوسمة XML المعقدة.
* ترميز أمن UTF-8: يستخدم SimpleXMLElement و DOMDocument لضمان سلامة الترميز والنصوص العربية من التشويه.
* توليد وتحميل مباشر: يرسل هيدر التنزيل للمتصفح لتتمكن من حفظ ملف phrases.xml الناتج مباشرة بضغطة زر.
طريقة الاستخدام:
1. قم بإنشاء ملف باسم generate_phrases.php في الجذر الرئيسي للمنتدى.
2. ضع الكود أعلاه وعدل العبارات والمعرفات بما يناسب إضافتك.
3. افتح الرابط في المتصفح: https://your-domain.com/generate_phrases.php
4. سيتم تنزيل ملف phrases.xml جاهزاً للاستخدام فوراً.
5. احذف الملف بعد الانتهاء للحفاظ على أمان السيرفر.
أتمنى أن تكون هذه السلسلة الفنية قد قدمت الفائدة المرجوة لمطوري وإداريي منتدى كود نت. نلتقي في سلاسل وشروحات قادمة بإذن الله!
السلام عليكم ورحمة الله وبركاته،
أهلاً بكم أخواني وأعضائنا الكرام في شبكة كود نت.
نختتم معكم اليوم هذه السلسلة البرمجية المخصصة لتسهيل إدارة وتطوير منتديات XenForo، ونقدم لكم الدرس السادس (6) والأخير، والمخصص لتوليد ملفات العبارات والترجمة XML بشكل آلي.
عند تطوير إضافات XenForo أو تعريبها، قد تحتاج إلى إنشاء العبارات المترجمة وتصديرها بصيغة XML متوافقة تماماً مع معايير النظام لتضمينها داخل مجلد _data الخاص بالإضافة أو استيرادها عبر لوحة التحكم. بدلاً من كتابة وسم XML يدوياً لكل عبارة والذي قد يؤدي إلى أخطاء في الرموز أو الترميز (Encoding)، يتيح لك هذا السكربت إدخال العبارات كمصفوفة PHP بسيطة وتحويلها فوراً إلى ملف XML معالَج ومنسق بشكل صحيح.

الكود البرمجي:
<?php
// تحديد معلومات الإضافة ورقم الإصدار
$addonId = 'codeNET/DownloadGate';
$versionId = 1000070; // مثال: 1.0.0
// مصفوفة العبارات والترجمات (عنوان العبارة => النص العربي)
$phrases = [
'codenet_download_gate_title' => 'بوابة التحميل',
'codenet_download_gate_desc' => 'يرجى الانتظار لحين تجهيز رابط التحميل الخاص بك.',
'codenet_download_btn' => 'تحميل الملف الآن',
'codenet_wait_message' => 'سيظهر الرابط خلال {seconds} ثانية...'
];
// إنشاء بناء XML متوافق مع XenForo
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><phrases/>');
foreach ($phrases as $title => $text)
{
$phraseNode = $xml->addChild('phrase', htmlspecialchars($text));
$phraseNode->addAttribute('title', $title);
$phraseNode->addAttribute('version_id', $versionId);
$phraseNode->addAttribute('global_cache', '0');
}
// تنسيق وتسهيل قراءة ملف XML Output
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
header('Content-Type: application/xml; charset=utf-8');
header('Content-Disposition: attachment; filename="phrases.xml"');
echo $dom->saveXML();
exit;
كيف يعمل السكربت؟
* إدخال مبسط: يعتمد على مصفوفة Key-Value بسيطة لإدخال مفاتيح العبارات ونصوصها دون التعامل مع أوسمة XML المعقدة.
* ترميز أمن UTF-8: يستخدم SimpleXMLElement و DOMDocument لضمان سلامة الترميز والنصوص العربية من التشويه.
* توليد وتحميل مباشر: يرسل هيدر التنزيل للمتصفح لتتمكن من حفظ ملف phrases.xml الناتج مباشرة بضغطة زر.
طريقة الاستخدام:
1. قم بإنشاء ملف باسم generate_phrases.php في الجذر الرئيسي للمنتدى.
2. ضع الكود أعلاه وعدل العبارات والمعرفات بما يناسب إضافتك.
3. افتح الرابط في المتصفح: https://your-domain.com/generate_phrases.php
4. سيتم تنزيل ملف phrases.xml جاهزاً للاستخدام فوراً.
5. احذف الملف بعد الانتهاء للحفاظ على أمان السيرفر.
أتمنى أن تكون هذه السلسلة الفنية قد قدمت الفائدة المرجوة لمطوري وإداريي منتدى كود نت. نلتقي في سلاسل وشروحات قادمة بإذن الله!