Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...
Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...
رقم الخبر | عنوان الخبر | التفاصيل |
---|---|---|
51,786 | إنشاء المشروع والشروع بالترجمة بالاستعانة بـ "Trados" |
توقفنا في المقالة السابقة عند الفرق بين ترجمة ملف واحد وإنشاء مشروع، وشرحت كيفية ترجمة ملف واحد، والآن سأشرح كيفية إنشاء مشروع والخطوات التي تلي إنشاءه. إنشاء مشروع جديداضغط على قسم مشاريع (Projects) من الأقسام التي على اليسار، ثم مشروع جديد (New Project) من قسم الصفحة الرئيسية (Home) بالأعلى، ستظهر نافذة بها عدة مراحل كما التالي: هناك العديد من الحقول بتلك النافذة، سأقتصر على اللازم والهام منها فقط، ستكتب اسم المشروع في حقل (Project Name) وستختار لغة الملف من (Source Language) واللغة الهدف من (Target Language) ثم تضيف المستندات التي ترغب في ترجمتها من الايقونات الموجودة بأسفل (Project Files) التي على اليسار وستختار إما أن تضيف مستندًا مستندًا أو أن تضيف المجلد بأكمله، ثم تضغط التالي (Next) . بعدها ستنتقل إلى الصفحة العامة (General) يمكنك أن تضيف وصفًا للمشروع واسم العميل والتاريخ الذي يتوجب عليك الانتهاء منه، وهذه كلها بيانات اختيارية يمكنك إدخالها أو الانتقال مباشرة إلى مرحلة مصادر الترجمة أو (Translation Resources) وهنا إما أن تختار إنشاء ذاكرة ترجمة جديدة من (Create) أو أن تستخدم ذاكرة ترجمة موجودة. بالطبع لن أكرر خطوات إنشاء ذاكرة الترجمة ويمكنك الرجوع إليها في المقالة السابقة. المرحلة الرابعة من مراحل إنشاء المشروع هي مرحلة قاعدة المصطلحات (Termbases): ستضغط على إنشاء (Create) ستظهر نافذة توضح الخمس خطوات لإنشاء قاعدة المصطلحات، اضغط التالي وانقر على (Create a new termbase definition from scratch) ثم اضغط على التالي.
ثم اختر اسمًا لقاعدة المصطلحات ويمكنك إضافة وصفًا ولمن يرجع حق المؤلف إذا رغبت في ذلك ويمكنك تركهم والضغط مباشرةً على التالي. في المرحلة التالية اختار اللغات من القائمة المنسدلة تحت اللغات (Languages) ثم اضغط التالي، التالي، وأخيرًا إنهاء (Finish). ستجد أن قاعدة البيانات الجديدة قد أُضيفت تلقائيًا وسترجع مرة أخرى لمرحلة قاعدة البيانات بالمشروع، اضغط التالي.
ستنتقل إلى مرحلة GroupShare وهذه ستدخل فيها الخادم (Server) في حالة ما إذا كنت تعمل عليه، أما إذا كنت تعمل على جهازك فاترك تلك المرحلة إلى التالية مباشرةً. المرحلة التالية هي PerfectMatch وهذه المرحلة تستخدمها فقط حال ترجمتك لملف مشابه لملف ترجمته في السابق باستخدام ترادوس لكنك لم تنشيء له ذاكرة ترجمة (translation memory)، وتريد الاستفادة منه في استخراج الترجمات وتطبيقها على ملف المشروع الجديد. في هذه الحالة ستضيف المجلد ثنائي اللغة (ستجده داخل المسار الذي تحفظ به المشاريع داخل مجلد المشروع المشابه وستجد اسمه يتضمن الحرفين الأولين من لغة المصدر واللغة الهدف مثلًا إن كان من الإنجليزية للعربية ستجد اسمه: "En-Ar") عن طريق الضغط على (Add Matching file) ثم تختار الخيار الأول، بعدما تضيف المجلد تنتقل للمرحلة التالية بالضغط على Next. المرحلة السابعة وهي مرحلة المهمات المجمعة (Batch Tasks) يمكنك الاختيار من عدة خيارات من القائمة المنسدلة في تسلسل المهام (Task Sequence) كل خيار ستختاره سيوضح لك المهام التي ينطوي عليها بالمربع الكبير بالأسفل، على سبيل المثال، تحويل الملف وتحليله واقتراح ترجمات له …إلخ. يمكنك تغيير تلك المهام بالحذف أو الإضافة من خلال الضغط على زر تسلسل المهام (Task Sequence) أيضًا الموجود على الناحية اليمنى. ملحوظة: إذا كنت مبتدأً في استخدام ترادوس فإنني أُوصي بشدة بخيار (Prepare) لأنه يحتوي على المهام الأساسية التي تحتاجها دون المزيد من التعقيدات. المرحلتين الأخيريتين في إنشاء المشروع ألا وهما (Summary) و(Preparation) هما مرحلتين يقوم بها البرنامج بناءً على اختياراتك في المراحل السابقة، فالمرحلة (Summary) سيعرض عليك ملخص المشروع حتى إذا رغبت في تعديل أمرًا ما الضغط على السابق (Back) وإجراء التعديلات التي ترغب بها، أما إذا وجدت أن كل شيء على ما يرام، فستضغط إنهاء (Finish) وتنتظر حتى يعد البرنامج المشروع وينقلك مباشرة إليه بعد الانتهاء. ماذا بعد إنشاء المشروعبعد إنشاء المشروع ستنتقل تلقائيًا إلى المحرر حتى تشرع في الترجمة -إذا لم تنتقل تلقائيًا يمكنك الانتقال بالنقر مرتين على المشروع ثم النقر مرتين على الملف الذي ترغب في العمل عليه- ستجد أن الملف قد قُسم إلى العديد من الخلايا وأمام كل خلية من الملف المصدر خلية فارغة لتكتب بها الترجمة المقابلة. هناك أمام كل خلية ستجد رمزًا من ثلاثة رموز: الأول رمز يشبه المستند الأبيض وهذا يعني أن الخلية غير مترجمة، ما أن تشرع في الترجمة سيتحول ذلك الرمز إلى رمز قلم أزرق وهذا يعني مسودة (Draft) بعدما تنتهي من ترجمة الخلية ومراجعتها قم بالضغط على (Ctrl+Enter) لاعتماد الترجمة والانتقال إلى الخلية التي تليها، ستجد أن الرمز تحول إلى قلم أخضر وعلامة صح خضراء وتعني مُترجم، ولابد من تلك الخطوة حتى يبدأ البرنامج في حفظ الترجمة واقتراحها عليك لاحقًا. أثناء عملك قد تجد في بداية الخلية أو في نهايتها علامة أرجوانية كما في الخليتين الثامنة والعاشرة بالصورة أعلاه، وبداخل هذه العلامة الأرجوانية ستجد كلمة تصف ما الذي تدل عليه، ففي الخلية الثامنة ستجد كلمة رابط (Hyperlink)، والخلية العاشرة ستجد كلمة شكل (Shape) عندما تظهر تلك العلامات يجب عليك نقلها للخلية الهدف -التي بها الترجمة- حتى تنتقل كما هي بنفس الشكل في الملف النهائي. ويمكنك نقلها إما عن طريق النسخ واللصق أو عن طريق النقر بالزر الأيمن للفأرة، ستظهر قائمة طويلة اختار منها نسخ المصدر للهدف (Copy source to target). كيفية التعديل على ذاكرة الترجمةإذا كان هناك تشابه بين الخلية المراد ترجمتها ووحدات الترجمة (Translation Units) التي تتكون منها ذاكرات الترجمة (Translation Memories) المخزن عليها الترجمات السابقة، فستظهر نتائج ذاكرة الترجمة في صندوق (Translation Results) الموجود بالأعلى أسفل قسم التنسيق (Formatting) كما ستظهر نسبة التوافق مثلًا في الصورة أدناه نسبة التوافق 83% وهذا يعني أن هناك اختلاف بين الوحدة المخزنة والخلية الجديدة وهذا الاختلاف يوضح بلون مختلف ويكون تحته خط كما في الصورة. في حالة رغبتك في التعديل على الترجمة المخزنة في وحدة الترجمة (Translation Unit) انقر بالزر الأيمن للفأرة على الوحدة المراد تعديلها والموجودة بصندوق نتائج الترجمة (Translation Results)، ستظهر قائمة، اختر منها تعديل وحدة الترجمة (Edit Translation Unit) ستنبثق نافذة جديدة يمكنك من خلالها التعديل ومن ثم الضغط على موافق (OK). الفرق بين قاعدة المصطلحات (Term Base) وذاكرة ترجمة (Translation Memory) الكثيرون لا يعلمون ما أهمية قاعدة المصطلحات (Term Base) مع وجود ذاكرة ترجمة (Translation Memory)، في الحقيقة أن آلية عمل ذاكرة الترجمة هي كالتالي: حفظ الخلايا التي غالبًا ما تحتوي على فقرات وجمل وعبارات، وبالتالي إذا تكرر مصطلح ذُكر في تلك العبارة أو الجملة أو الفقرة مع اختلاف السياق تمامًا ففي الغالب لن يقترح البرنامج ترجمة هذا المصطلح، لعدم وجود نسبة تشابه كبيرة بين الخليتين، تأتي هنا فائدة قاعدة المصطلحات (Term Base) حيث إنها تُخزن المصطلحات بها فقط وليس خلايا كاملة من الفقرات والجمل، الأمر الذي يسهل تعرف البرنامج على المصطلح وبالتالي عند تكرره يسهل اقتراحه عليك. كيفية إضافة مصطلحات جديدة لقاعدة المصطلحاتنأتي لكيفية إضافة مصطلح جديد لقاعدة المصطلحات، ستقوم بالتظليل بالفأرة على المصطلح في اللغة المصدر ثم على ترجمة المصطلح في اللغة الهدف وتضغط (Ctrl+F2) وهذه هي أسهل وأسرع طريقة. البحث في قاعدة المصطلحاتإذا أردت البحث في قاعدة المصطلحات عن مصطلح سبق وأن ترجمته، فعليك الذهاب إلى الصندوق الموجود بالأعلى على اليمين المسمى (Termbase Search) وتكتب المصطلح في خانة البحث ومن ثم سيعرض عليك البرنامج النتيجة. لماذا قد لا تظهر بيانات بوحدات الترجمة؟ وكيفية حل تلك المشكلة؟من الوارد جدًا حدوث العديد من المشكلات أثناء استخدام البرنامج، ولكنني اخترت هذه المشكلة تحديدًا لأنها من أكثر المشكلات شيوعًا خاصة أمام المبتدئين كما إنها محبطة للغاية لأنها تشعرك أنه لا جدوى من استخدام البرنامج لأن ما ترجمته لا يظهر وبالتالي لا يمكنك الاستفادة منه. ملحوظة: المقصود بوحدات الترجمة هي الوحدات التي تتكون منها ذاكرات الترجمة والتي لابد أن تظهر بعد الانتهاء من الترجمة في قسم ذاكرات الترجمة، لمزيد من التوضيح انظر الصورة أدناه. إذا ظهرت لديك تلك المشكلة فتأكد أولًا من إضافتك لذاكرة الترجمة في مشروعك وذلك من خلال ضبط المشروع (Project Settings) الموجود أعلى اليسار في المشروع. ثم تأكد من أن جميع الخلايا التي ترجمتها يظهر أمامها علامة القلم وعلامة الصح الأخضران-نفس الرمز الموضح بالصورة التالية أمام كلمة لا ينطبق- لأن الترجمة لا تنتقل إلى ذاكرة الترجمة إن كانت على وضع المسودة والذي يظهر فيها قلم أزرق أمام الخلية- نفس الرمز الموضح بالصورة التالية أمام كلمة لا.
وأخيرًا عليك تحديث ذاكرة الترجمة العامة وذاكرة ترجمة المشروع من خلال القائمة المنسدلة بالمهام المجمعة (Batch Tasks) واختيار (Update Main Translation Memories) وبعد الانتهاء اختار (Update Project Translation Memories) من نفس القائمة المنسدلة. ومن ثم أعد فتح ذاكرة الترجمة من قسم ذاكرات الترجمة، في الغالب ستجد أن المشكلة قد حُلت وستظهر وحدات الترجمة أمامك. كيفية حفظ ما ترجمته بملف ووردوهنا تأتي المرحلة الأخيرة، فبعد الانتهاء من ترجمة الملف فأنت ترغب في حفظه بملف وورد لإرساله للعميل، يمكنك فعل ذلك بخطوات بسيطة:
من الطبيعي والوارد جدًا حال استخدامك لأي تقنية أو برنامج أن تعترض طريقك بعض المشكلات، لذا سأقترح عليك مصدرين مفيدين في ذلك الأمر- وذلك بخلاف طبعًا صفحات المساعدة المسبقة الموجودة على الموقع الرسمي لترادوس- الأول: قسم الأسئلة في البرامج والتطبيقات في أكاديمية حسوب حيث يمكنك طرح سؤال ليجيب عليه المستخدمون الأخرون للبرنامج، فإذا لم تجد إجابة لسؤالك يمكنك الانتقال للمصدر الأخر-هذا المصدر باللغة الإنجليزية ولا يدعم العربية إلا عن طريق الترجمة الآلية- ألا وهو: مجتمع ترادوس حيث يمكنك البحث عن مشكلتك في المشكلات السابقة ومن ثم تجربة نفس الحل المقترح ويمكنك أيضًا إنشاء منشور جديد لترسل به مشكلتك حتى تجد الدعم من خدمة عملاء ترادوس. الخاتمةبوصولك لهذه السطور وتطبيقك للخطوات السابقة خطوة بخطوة تكون قد تعلمت أساسيات برنامج ترادوس المميز، أقدم وأشهر برامج الترجمة بمساعدة الحاسوب (CAT Tools)، النصيحة التي أود أن أشاركها معك/معكِ في هذه المرحلة، هي أنه في البداية قد تشعر بعدم راحة أثناء استخدام ترادوس نتيجة لاختلاف العمل عليه عن العمل بالطريقة التقليدية، لكن مع مرور الوقت ستعتاد العمل عليه وسيصبح برنامج المفضل، وأنصح باستخدامه يوميًا ولو على ترجمة بضع فقرات فقط وهي نصيحة مبنية على تجربة وخبرة سابقة. اقرأ أيضًا |
51,737 | التعامل مع الأخطاء في PHP |
أخطاء شائعة
استدعاء fetch_assoc على قيمة منطقية
إذا حصلت على خطأ مشابه للتالي: Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\stack\index.php on line 7تتضمن الاختلافات الأخرى شيئًا ما مثل: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given...تعني هذه الأخطاء أنّه يوجد شيء ما خاطئ إما مع الاستعلام (وهذا خطأ PHP/MySQL) أو مع المرجعية. أُنتج الخطأ السابق بسبب الشيفرة التالي: $mysqli = new mysqli("localhost", "root", ""); // لاحظ الأخطاء هنا $query = "SELCT * FROM db"; $result = $mysqli->query($query); $row = $result->fetch_assoc();لإصلاح هذا الخطأ يُنصَح بجعل mysql يرمي استثناءات بدلًا من ذلك: // أضف هذه الشيفرة في بداية السكربت mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);ستؤدي هذه الشيفرة إلى رمي استثناء مع رسالة تساعدك كثيرًا: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELCT * FROM db' at line 1مثال آخر يمكن أن ينتج عنه خطأ مشابه، هو عندما تعطي معلومات خاطئة لدالة mysql_fetch_assoc أو لدالة مشابهة: $john = true; mysqli_fetch_assoc($john, $mysqli); Unexpected $endإذا حصلت على خطأ مشابه للخطأ التالي: Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\stack\index.php on line 4أو قد يكون بالشكل unexpected $end وهذا يعتمد على نسخة PHP، ستحتاج عندها إلى التأكد من جميع فواصل الاقتباس وكل الأقواس الهلالية والمعقوصة والمعقوفة…. تنتج الشيفرة التالية الخطأ السابق: <?php if (true) { echo "asdf"; ?>لاحظ عدم وجود القوس المعقوص وأنّ رقم السطر الموضح في الخطأ لا صلة له بالموضوع، لأنه دائمًا يظهر السطر الأخير من ملفك. تصريف الأخطاء والتحذيرات Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIMالظهور تعني العبارة "Paamayim Nekudotayim" نقطتان مزدوجتان باللغة العبرية، لذا يشير هذا الخطأ إلى الاستخدام غير المناسب للعامل (::)، ويحدث عادةً بسبب محاولة استدعاء تابع ساكن في حين أنّه في الواقع غير ساكن. الحل الممكن $classname::doMethod();إذا سببت الشيفرة السابقة هذا الخطأ فغالبًا أنت تحتاج إلى تغيير طريقة استدعاء التابع: $classname->doMethod();يفترض المثال الأخير أنّ $classname هو كائن من صنف والتابع doMethod() ليس تابعًا ساكنًا من هذا الصنف. Notice: Undefined indexالظهور محاولة الوصول إلى مصفوفة عن طريق مفتاح غير موجود في المصفوفة. الحل الممكن التحقق من التوافرية قبل محاولة الوصول وذلك باستخدام:
الظهور يظهر هذا الخطأ عندما يحاول السكربت إرسال ترويسة HTTP إلى العميل لكن كان هناك خرج بالفعل سابقًا مما يعني أنّ الترويسات قد اُرسلت سابقًا. الأسباب الممكنة
يمكن ضبط الإبلاغ عن الأخطاء بشكلٍ ديناميكي إذا لم يُضبط سابقًا في ملف php.ini وذلك للسماح بعرض معظم الأخطاء. الصيغة int error_reporting ([ int $level ] )أمثلة // يجب أن تُستخدم دائمًا في الإصدارات السابقة للإصدار 5.4 error_reporting(E_ALL); // (1) error_reporting(-1); ?// بدون ملاحظات error_reporting(E_ALL & ~E_NOTICE); // التحذيرات والملاحظات فقط // كمثال فقط، لا يُنصح بالحصول على إبلاغ عن هؤلاء فقط error_reporting(E_WARNING | E_NOTICE);في الموضع (1) يُظهر الوسيط -1 كل خطأ محتمل حتى عندما تُضاف ثوابت ومستويات جديدة في إصدارات PHP المستقبلية، يقوم الوسيط E_ALL بنفس هذا العمل حتى الإصدار 5.4. ستُسجَّل الأخطاء افتراضيًا من قِبل PHP في ملف error.log في نفس مستوى الملف الذي يُنفَّذ، ويمكنك أن تعرضهم على الشاشة في بيئة التطوير: ini_set('display_errors', 1);ويجب أن تصبح الشيفرة في بيئة الإنتاج: ini_set('display_errors', 0);وستظهر رسالة المشكلة بشكلٍ واضح أثناء استخدام معالِج الاستثناء أو الخطأ. تسجيل الأخطاء الفادحةالخطأ الفادح في PHP هو نوع من الأخطاء التي لا يمكن التقاطها، لا يستأنف البرنامج تنفيذه عند التعرض لخطأ فادح، لكن لتسجيل هذا الخطأ أو معالجة الانهيار بطريقةٍ ما يمكنك استخدام register_shutdown_function لتسجيل معالج الإنهاء. function fatalErrorHandler() { // لنحصل على الخطأ الفادح الأخير $error = error_get_last(); // (1) if (null === $error || E_ERROR != $error['type']) { return; } // تسجيل الخطأ الأخير في ملف السجل // لنفرض أنّ السجلات موجودة في مجلد داخل مجلد التطبيق $logFile = fopen("./app/logs/error.log", "a+"); // الحصول على معلومات مفيدة عن الخطأ $type = $error["type"]; $file = $error["file"]; $line = $error["line"]; $message = $error["message"] fprintf( $logFile, "[%s] %s: %s in %s:%d\n", date("Y-m-d H:i:s"), $type, $message, $file, $line); fclose($logFile); } register_shutdown_function('fatalErrorHandler');في الموضع (1) معالج الخطأ هذا فقط من أجل مثالنا، يعني عدم وجود خطأ أنّه لا يوجد أي خطأ وأنّ الإنهاء كان مناسبًا وتأكد أيضًا أنه سيعالج الأخطاء الفادحة فقط. المراجع:
تسمح الدالة var_dump بعرض محتويات المتغير (النوع والمتغير) لتنقيح الأخطاء. مثال $array = [3.7, "string", 10, ["hello" => "world"], false, new DateTime()]; var_dump($array);الخرج array(6) { [0]=> float(3.7) [1]=> string(6) "string" [2]=> int(10) [3]=> array(1) { ["hello"]=> string(5) "world" } [4]=> bool(false) [5]=> object(DateTime)#1 (3) { ["date"]=> string(26) "2016-07-24 13:51:07.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" } } عرض الأخطاءيجب أن تمكّن الإعداد display_errors إذا أردت عرض الأخطاء التي تحدث وقت التنفيذ (runtime errors) على الصفحة وذلك إما في ملف php.ini أو باستخدام الدالة ini_set. يمكنك اختيار الأخطاء التي تريد عرضها باستخدام دالة error_reporting (أو في ملف ini) والتي تقبل الثوابت E_* مجموعةً باستخدام العوامل الثنائية، ويمكن عرض الأخطاء على شكل نص أو بصيغة HTML وذلك حسب الإعداد html_errors. مثال ini_set("display_errors", true); // عرض الأخطاء كنص بسيط ini_set("html_errors", false); // عرض كل شيء باستثناء E_USER_NOTICE error_reporting(E_ALL & ~E_USER_NOTICE); // E_USER_NOTICE trigger_error("Pointless error"); // E_NOTICE echo $nonexistentVariable; // E_ERROR nonexistentFunction();خرج نصي بسيط: (تختلف صيغة HTML بين التنفيذات) Notice: Undefined variable: nonexistentVariable in /path/to/file.php on line 7 Fatal error: Uncaught Error: Call to undefined function nonexistentFunction() in /path/to/file.php:8 Stack trace: #0 {main} thrown in /path/to/file.php on line 8ملاحظة: إذا كان الإبلاغ عن الخطأ معطلًا في ملف php.ini ومكّنته وقت التنفيذ فإنّ بعض الأخطاء (مثل الأخطاء التحليلية) لن تُعرض لأنها حدثت قبل تطبيق إعداد وقت التنفيذ. الطريقة الشائعة لمعالجة error_reporting هي تمكينه بالكامل باستخدام الثابت E_ALL أثناء التطوير وتعطيل عرض الأخطاء للعامة باستخدام display_errors في مرحلة الإنتاج لإخفاء ما يوجد داخل السكربت. phpinfo()تحذير من الضرورري أن تستخدم phpinfo في بيئة التطوير فقط، لا تطلق شيفرة تحوي هذه الدالة في بيئة الإنتاج أبدًا. مقدمة يمكن أن تكون دالة phpinfo البسيطة المضمنة في PHP أداةً مفيدة لفهم بيئة PHP (نظام التشغيل، الإعدادات، الإصدارات، المسارات، الوحدات) التي تعمل فيها خاصةً عند متابعة خطأ. phpinfo();لهذه الدالة معامل واحد $what يسمح بتخصيص الخرج، قيمته الافتراضية INFO_ALL وتسبب عرض كل المعلومات وتُستخدم عادةً أثناء التطوير لمعرفة حالة PHP الحالية، ويمكنك تمرير المعامل ثوابت INFO_* مجموعةً باستخدام العوامل الثنائية للحصول على قائمة مخصصة، يمكنك تنفيذها في المتصفح للحصول على التفاصيل بتنسيقٍ جيد، وتعمل أيضًا في واجهة سطر أوامر PHP حيث يمكنك نقلها بعرضٍ أفضل. مثال phpinfo(INFO_CONFIGURATION | INFO_ENVIRONMENT | INFO_VARIABLES);ستعرض هذه الشيفرة قائمة من موجهات PHP (ini_get)ومتغيرات البيئة ($_ENV) والمتغيرات المعرفة مسبقًا. XdebugXdebug إضافة PHP توفر إمكانيات تنقيح الأخطاء والتحليل، تستخدم بروتوكول تحديد الأخطاء DBGp (DeBugGer Protocol)، من ميزات هذه الإضافة:
إنّ هذه الإضافة مناسبة تمامًا لبيئة التطوير، خاصةً ميزة تنقيح الأخطاء عن بعد التي يمكن أن تساعدك في تنقيح أخطاء شيفرة PHP بدون كتابة العديد من تعليمات var_dump واستخدام عملية تنقيح الأخطاء العادية كما في لغة C++ وجافا. تثبيت هذه الإضافة بسيط جدًا: pecl install xdebug # install from pecl/pearوتفعيلها في ملف php.ini: zend_extension="/usr/local/php/modules/xdebug.so"يمكنك الاطلاع على هذه التعليمات للحالات الأكثر تعقيدًا. يجب أن تتذكر عند استخدام هذه الأداة أنها غير مناسبة لبيئات الإنتاج. الإبلاغ عن الأخطاءاستخدم الدالتين التاليتين معًا: // تضبط هذه الدالة خيار الإعداد في بيئتك ini_set('display_errors', '1'); // ستسمح ?-1 بالإبلاغ عن كل الأخطاء error_reporting(-1); phpversion()مقدمة من الضروري أن تعرف إصدار محلل PHP الحالي أو إحدى الحزم عند العمل مع المكتبات المختلفة والمتطلبات المرتبطة بها. تقبل هذه الدالة معامل اختياري واحد في شكل اسم الإضافة phpversion('extension')، إذا ثُبِّتت الإضافة فإنّ الدالة سترجع سلسلة نصية تتضمن قيمة الإصدار وإلا ستُرجع القيمة FALSE، وإذا لم يتوفر اسم الإضافة ستُرجع الدالة إصدار محلل PHP نفسه. مثال print "Current PHP version: " . phpversion(); // Current PHP version: 7.0.8 print "Current cURL version: " . phpversion( 'curl' ); // Current cURL version: 7.0.8 // أو // false, no printed output if package is missingترجمة -وبتصرف- للفصول [Common Errors - Compilation of Errors and Warnings - Exception Handling and Error Reporting - Debugging] من كتاب ٍ(https://goalkicker.com/PHPBook/) |
51,683 | صفحة إعدادات المناقشة في الووردبريس |
تسمح صفحة إعدادات المناقشة بالتحكم بالخيارات المرتبطة بالتعليقات (تُدعى أيضا بالمناقشة). حيث يُقرر من خلالها المدير تفعيل التعليقات ضمن الموقع أم لا وإن كانت التنبيهات pingbacks والتعقيبات trackbacks مقبولة أم لا وما هي التعليقات التي تُعتبر مزعجة كما يمكنه في الصفحة ذاتها اختيار الحالات التي تُرسل فيها المدونة تنبيهات بريد إلكتروني للمدير لأحداث معينة على الموقع. الإعدادات الافتراضية للمقاليمكن تجاوز هذه الإعدادات فرديًا لكل مقال.
يتيح الخياران التاليان التحكم بالأحداث التي يتلقى فيها المؤلفون والمدير تنبيهات عن التعليقات التي تنتظر المراجعة واستخدام "لي" هنا يشير إما إلى مؤلف المقال أو المدير (الشخص الذي يُستخدم بريده الإلكتروني لأغراض إدارية).
يمكن لمدير الموقع باستخدام هذه الطريقة مراجعة التعليقات المقبولة أو المرفوضة من قبل المؤلفين. قبل ظهور التعليقتوفر هذه الإعدادات تحكم أوسع بما يتعلق بالتعليقات التي يتم نشرها.
يمكن تحديد هذه الخيارات ضمن قسم إدارة التعليقات للتعامل مع التعليقات المزعجة.
عبارة عن صور تُلازم صاحب حساب ووردبريس من مدونة لأخرى حيث تظهر بجانب اسمه عند إرسال تعليق ضمن موقع يستخدم الصور الرمزية. يسمح هذا القسم تفعيل عرض الصور الرمزية للزوار عند كتابة تعليق ضمن المدونة ويستخدم ووردبريس افتراضيًا Gravatars للصور التي تظهر بجانب التعليقات. يمكن استبدال Gravatars باستخدام الإضافات. عرض الصورة الرمزية
يسمح هذا الخيار بتحديد مستوى الصور التي يُسمح بعرضها على المدونة.
يُمكن عرض الشعار أو توليد صورة بالاعتماد على عنوان بريدهم الإلكتروني للمستخدم الذي لا يمتلك صورة رمزية خاصة به.
لحفظ التغييرات يجب الضغط على خيار حفظ التغييرات حيث يظهر بعدها في أعلى الصفحة نص يؤكد عملية الحفظ مباشرة بعد الضغط عليه. ترجمة -وبتصرف- للمقال Settings Discussion Screen من موقع ووردبريس. |
51,656 | كيفية إنشاء دورات تعليمية على منصة مساق وبيعها |
يتضمن هذا المقال معلومات تفصيلية عن كيفية التسجيل ضمن المنصة وإنشاء أكاديمية خاصة وهذا يتضمن إضافة دورات ودروس وطلاب وتصنيفات. أيضًا كيفية إضافة مقالات تُساعد في الترويج للأكاديمية من خلال محركات البحث وقواعد تحسين محركات البحث SEO. تبدأ الخطوة الأولى بالتوجه لمنصة مساق والضغط على الزر الموجود في أعلى الصفحة من جهة اليسار "أنشئ أكاديميتك" وذلك لإنشاء حساب على منصة مساق والذي يقود تلقائيًا لإنشاء أكاديمية تعليمية على المنصة. يُطلب منك الآن إدخال الاسم الكامل والمقصود به هنا هو اسمك الشخصي وليس اسم الأكاديمية لكني استخدمت في هذا المقال اسم أكاديمية حسوب كاسم شخصي، بعدها عليك إدخال عنوان بريد إلكتروني فعال وتمتلك صلاحيات الدخول له. يُمكن أن يكون البريد الإلكتروني من مزود خدمة معروف مثل جيميل وOutlook أو عنوان بريد إلكتروني تابع لنطاق خاص بك مثل [email protected]. بقي عليك اختيار كلمة مرور يسهل عليك حفظها ولكن يصعب توقعها ويُفضل أن تتضمن أرقام وأحرف وإشارات ترقيم وليست ذات معنى مفهوم مثل passwordformsaaq بل استخدم برامج توليد وحفظ كلمات المرور مثل KeePass. اضغط الآن على "أنشئ أكاديميتك". توجه إلى صندوق الوارد للبريد الإلكتروني الذي استخدمته في الخطوة السابقة، في حالتي سوف أتفقد صندوق وارد البريد الذي سجلت فيه وفي حال كان صندوق الوارد خاليًا من أي رسالة تفعيل من منصة مساق عليك طلب الرسالة من جديد من خلال الرابط المبين في أسفل الصورة التالية أو التأكد من مجلد البريد المهمل (السبام). اضغط على رابط "التحقق من عنوان البريد الالكتروني" ضمن الرسالة الواردة لبريدك الإلكتروني ليتم تحويلك لمنصة مساق من جديد لإكمال خطوات إنشاء الأكاديمية. وصلت للخطوة الأخيرة حيث عليك اختيار اسم الأكاديمية وعنوان البريد الإلكتروني الخاص بها، أيضًا عليك اختيار النطاق الفرعي ضمن منصة مساق والذي سوف يُمثل الرابط لأكاديميتك. طبعًا يجب أن يكون الاسم المُختار باللغة الإنكليزية ويُمكن أن يتضمن أرقام أو إشارة "–" أو" _" فقط. على فرض أنك اخترت اسم example للنطاق الفرعي عندها يكون الرابط الذي يشير لأكاديميتك هو example.msaaq.net. تستطيع اختيار اللون الأساسي والثانوي مع الشعار وأيقونة المتصفح الآن أو تأجيل الأمر إن كنت لا تملك أيًا مما سبق. لمن لا يعلم ما هي أيقونة المتصفح فهي الأيقونة الصغيرة التي تظهر في شريط المتصفح في الأعلى وهي ذات أبعاد مربعة 512×512 بكسل. عند اختيار الألوان تستطيع إدخالها بنظام RGB اللوني أو الترميز الست عشري للون HEX أو الاختيار يدويًا. اضغط الآن على "أنشئ أكاديميتك". تظهر لك الآن صفحة تأكيد الانتهاء من إنشاء أكاديميتك مع رابط الوصول للأكاديمية واسم المستخدم وكلمة المرور الخاصة بها وهنا عليك التفريق بين بيانات الدخول للأكاديمية الموجودة هنا وبين بيانات الدخول التي اخترناها في الخطوة الأولى للدخول لحسابك على منصة مساق. أصبح لديك الآن حساب شخصي على منصة مساق وحساب أكاديمية، تستطيع من خلال الحساب الشخصي تغير الاسم والبريد الإلكتروني وكلمة المرور الخاصة بهذا الحساب إضافة إلى اختيار الخطة المناسبة للأكاديمية. أما حساب الأكاديمية يسمح لك بإضافة الدورات والدروس والمقالات والتصنيفات والطلاب وتحديد كلفة الدورات كما أنه يُقدم لك ملخص عن الدورات التي بيعت والأرباح التي تُحققها. مقتطفات من الحساب الشخصي على منصة مساقتتضمن الصفحة الرئيسية لحسابك الشخصي اسم الأكاديمية التي أنشأتها ورابطًا مباشرًا للوحة التحكم الخاصة بها مع إمكانية تعديل النطاق الذي اخترته سابقًا. يُمكنك استخدام نطاق خاص بأكاديميتك أي عنوان موقع مخصص بدلًا من الفرعي التابع لنطاق منصة مساق، لكن في هذه الحالة عليك إجراء بعض التعديلات على النطاق وDNS الخاص به. تستطيع الاطلاع على نصائح أساسية تزوَّد بها قبل شراء نطاق جديد ومقال متجر ووكومرس الخطوات الابتدائية لإنشاء متجرك الإلكتروني: عنوان المتجر وحجز النطاق (Domain) لمزيد من المعلومات عن النطاق. تُوفر منصة مساق ثلاث خُطط يمكنك الاختيار بينها وهي خطة المعلم وخطة المدرسة وخطة الأكاديمية والدفع إما شهريًا أو سنويًا عبر أحد طرق الدفع المدعومة من قبل المنصة والمتاحة في بلدك. لوحة تحكم أكاديميتك على منصة مساقتحتوي لوحة التحكم التي توفرها منصة مساق على كل ما تحتاج إليه للانطلاق بدوراتك أو حتى بأكاديميتك حيث تعرض اللوحة الرئيسية فيها ملخصًا عن أداء أكاديميتك من عدد الطلبات والطلاب وقيمة الأرباح وعدد التعليقات، من هم الطلاب الأكثر شراءً وما هي المنتجات الأكثر مبيعًا إضافة إلى التوزع الجغرافي للطلاب. الأعضاءيتضمن هذا القسم الطلاب والطاقم الإداري وإمكانية استيراد قائمة بالطلاب في حال كنت تعمل على نقل نشاطك من الواقع الحقيقي إلى الواقع الافتراضي كما هو حال معظم المؤسسات التعليمية حاليًا في ظل جائحة كوفيد-19 المُنتشرة. الطلابتجد في قسم الطلاب بيانات حسابات الطلاب وحالتها حيث تكون الحالة الافتراضية للحساب هي "فعال" ويجب على كل طالب تأكيد بريده الإلكتروني المُستخدم في التسجيل بنفس الطريقة التي أكدت فيها حسابي على منصة مساق. يُفيد آخر ظهور للطالب في معرفة نشاطه في الأكاديمية وهل هو حاليا يتصفح محتوى الأكاديمية أم لا. لأسباب عديدة قد لا تصل رسالة تأكيد البريد الإلكتروني لصاحب الحساب وفي هذه الحالة يمكنك تحديد الحساب المطلوب من خلال وضع إشارة ضمن المربع بجانب الاسم وتحديد الأمر "أرسل تأكيد البريد الإلكتروني" ثم الضغط على "إرسال". أيضًا إن كان المُستخدم لا يستطيع تذكر كلمة مرور حسابه يمكنك بنفس الطريقة السابقة مُساعدته ولكن عبر اختيار الأمر "أرسل استعادة كلمة المرور" ثم الضغط على "إرسال". امتلاك قائمة كبيرة بالطلاب يجعل من الصعب إيجاد حساب الطالب لذلك عليك استخدام مربع البحث الموجود في الأعلى حيث تستطيع البحث باستخدام الاسم أو البريد الإلكتروني أو اسم المستخدم. سوف أنتقل الآن للكلام على عن وظيفة النقاط الثلاث الموجودة في الجهة اليُسرى من حساب الطالب، فعند الضغط عليها سوف تظهر قائمة تتضمن ثلاث خيارات هي "تعديل" و"نقل إلى الطاقم الإداري" و"تعطيل الحساب". تستطيع تعطيل الحساب عند استخدامه بطريقة غير صحيحة مثل التعليق بكلام مسيء ضمن قسم التعليقات في الدروس أو في حال اكتشفت خرقه شروط الاستخدام مثل مشاركة الحساب مع عدة أشخاص أو محاولته تسجيل الدروس الخاصة بك وإعادة بيعها. الخيار الثاني يسمح لك بإضافة أعضاء للطاقم الإداري الخاص بأكاديميتك لمتابعة الطلاب وطلباتهم وتقدمهم ضمن الدورات وهكذا يبقى الخيار الأول والذي يسمح بتعديل كافة بيانات حساب الطالب. يُطلب منك تأكيد عمليتي تعطيل الحساب ونقله للطاقم الإداري أما عملية التعديل فتُحولك إلى صفحة جديدة تتضمن المعلومات التي أدخلها الطالب لحسابه ولك حرية التعديل فيها كما تشاء. تمتلك الصلاحيات الإدارة التي تخولك بتعديل كافة معلومات الطالب من صورة الشخصية واسم وغيرها الكثير. بالنسبة للمستوى التعليمي يوجد أربع خيارات هي "ابتدائي" و"متوسط" و"جامعي" و"بروفيسور" حيث لا تستطيع إضافة خيارات جديدة الأمر الذي لا ينطبق على المهارات حيث تُضاف المهارة بالضغط على زر Enter بعد كل مهارة تكتبها ضمن الحقل. تُقدم لك منصة مساق إمكانية ترقية حساب المستخدم من طالب إلى “Writer” يستطيع كتابة مقالات ضمن أكاديمتيك أو “Instructor” يستطيع إضافة دورات ودروس وواجبات أو “Admin” يستطيع إدارة الموقع بالكامل والتحكم بطرق الدفع وتنفيذ وظائف مرتبطة بإضافة الدورات وإضافة أعضاء للطاقم الإداري وتغيير صلاحياتهم أو “Super-admin” والذي يقوم حاليًا بنفس وظيفة Admin مع فرق بسيط وهو قدرة صاحب صلاحية Super-admin على حذف الحسابات ذات صلاحية Admin أما العكس غير ممكن. الجزء الأخير من هذه الصفحة هو لحالة الحساب إما "فعال" أو "غير فعال" ولحفظ أي تعديل ضمن حساب الطالب يجب الضغط على خيار "تعديل" لتظهر بعدها رسالة منبثقة تؤكد حفظ التعديلات. تستطيع تصدير بيانات الطلاب الحاليين لديك وذلك من صفحة الطلاب وخيار "تصدير بيانات الطلاب" في أعلى الصفحة من جهة اليمين، اضغط عليه لتحميل ملف Excel يتضمن معلومات الطالب التي أدخلها في ملفه الشخصي. الطاقم الإدارييُظهر هذا القسم حسابات الطاقم الإداري الذي اخترته لمساعدتك على إدارة الاكاديمية وهو مشابه لقسم الطلاب مع اختلافين، الأول هو وجود خيار "إضافة عضو إداري" وهذا يسمح لك بإضافة من تريد مباشرًة دون الحاجة ليسجل كطالب ثم نقله للطاقم الإداري والاختلاف الثاني خيار "إعادة إلى الطلاب" الذي يظهر عند الضغط على النقاط الثلاث الموجودة بجانب بجانب كل مستخدم. ملاحظة: باقة المعلم تسمح لك بتعيين حساب واحد ضمن الطاقم الإداري و20 حساب في باقة المدرسة وعدد لا محدود في باقة الأكاديمية. استيرادهذا القسم مفيد جدًا في حال كنت تنتقل إلى منصة مساق من منصة مختلفة أو كنت تريد نقل عملية التعليم في أكاديميتك إلى الواقع الافتراضي استجابة للظروف الطارئة ووجوب التقيد بالتباعد الاجتماعي للوقاية من فيروس كوفيد 19. يجب عليك استخدام ملف Excel يستخدم بنية مشابهة للمثال المُقدم من قبل منصة مساق والذي تستطيع تحميله بالضغط على "الملف التالي" باللون الأزرق. يجب رفع الملف بعد الانتهاء منه باستخدام خيار "تصفح الملفات" لرفعه من حاسوبك. يوجد ثلاث خيارات عليك الانتباه لها قبل بدء عملية الاستيراد وهي هل تريد إرسال رسالة تفعيل للطلاب كي يقوم كل طالب بتأكيد حسابه واختيار كلمة المرور الخاصة. هذا الخيار مُفعل افتراضيًا ولكن بإمكانك تعطيله. هل تريد إعطاء الطلاب وصول لأحد منتجاتك؟ هنا تستطيع اختيار المنتج التي تريد ليحصل عليها الطلاب الموجودين ضمن الملف دون دفع أي قيمة مالية مقابل هذه المنتجات والخيار الثالث يتضمن نفس الأمر ولكن يتعلق بالدورات. الطلباتهنا تتم إدارة الطلبات الواردة للأكاديمية ويتألف من قسمين "الكل" و"بانتظار الموافقة" حيث يسمح لك القسم الأول بالاطلاع على الطلبات الواردة للأكاديمية ومعلومات الطلب مُوضحة في الصورة التالية. تستطيع تصدير بيانات الطلبات على شكل ملف Excel بالضغط على الخيار الذي يحمل نفس الاسم في يسار وأعلى الصفحة ليبدأ التنزيل. عمليا فإن القسمين السابقين هما قسم واحد ولكن توفر القائمة وصولًا سريعًا للطلبات التي تحتاج لموافقتك، وعند زيارتك للصفحة سوف تلاحظ أن الشيء الوحيد الذي تغير هو حالة الطلب في قسم البحث والتي تتغير إلى "قيد الانتظار". الحالات المبينة في الصورة الآتية هي الحالات المُمكنة للطلبات ضمن الأكاديمية. الدوراتيتألف هذا القسم من "الكل" حيث تجد الدورات و"الاختبارات" و"التصنيفات" و"المستويات". الكل (الدورات)تستطيع عبر هذا القسم الاطلاع على الدورات الموجودة وكل المعلومات المرتبطة بها من الحالة واسم المدرب والسعر والتصنيف وعدد الملتحقين. كما أن إضافة الدورات متاح عبر النقر على "أضف جديد" في أعلى الصفحة من جهة اليمين. سوف أشرح في قسم لاحق كيفية إضافة دورة لأكاديميتك في منصة مساق. تستطيع تعديل أو استنساخ أو حذف أي دورة موجودة بالضغط على النقاط الثلاث واختيار الأمر المناسب. الاختباراتتجد هنا جميع الاختبارات التي أضفتها للدورات المتوفرة على أكاديميتك والمعلومات المرتبطة بكل اختبار من معدل نجاح وتاريخ الإنشاء وعدد الإجابات. لا يُمكن إضافة الاختبارات من هنا ولكن تستطيع معرفة الآلية من خلال قراءة قسم كيفية إضافة دورة لأكاديميتك في منصة مساق في الأسفل. عند الضغط على عنوان الاختبار سوف يتم تحويلك إلى صفحة تتضمن معلومات عن الطلاب الذين قدموا الاختبار، مثل عدد الأسئلة المحلولة وعدد الإجابات الصحيحة ونتيجة الاختبار وتاريخ البدء والانتهاء لكل طالب. التصنيفاتتساعد التصنيفات على فرز الدورات التي تقدمها وهذا يُسهل على زوار الأكاديمية تصفحها والعثور على الدورات المناسبة لهم. يوجد تصنيف افتراضي عند إنشاء الأكاديمية هو "غير مصنف" لا يحتوي على أي تصنيف فرعي. مثال: على فرض أن الأكاديمية التي تريد إنشاءها مختصة في تدريس العلوم عندها يُمكنك إضافة تصنيف "علوم طبيعية" و"كيمياء" كتصنيفات عامة وإضافة "كيمياء عضوية" كتصنيف فرعي للتصنيف العام "كيمياء". لإضافة تصنيف جديد عليك النقر على خيار "أضف جديد" الظاهر في الصورة التالية. سوف تظهر لك نافذة منبثقة تطلب منك اسم التصنيف والاسم الظاهر الذي يتضمن أحرف وأرقام وإشارة "-" (سوف يظهر في الرابط) ووصف إن وجد إضافة إلى أيقونة تُعبر عن محتوى التصنيف ثم الضغط على "حفظ البيانات". لحذف أو تعديل التصنيف اضغط على النقاط الثلاث بجانب التصنيف ولكن إن أردت إضافة تصنيف فرعي له عليك الضغط على اسم التصنيف (باللون الأزرق) أو خيار "عرض" الظاهر عند الضغط على النقاط الثلاث. سوف تظهر لك الصفحة التالية بعد الضغط على اسم التصنيف ولإضافة تصنيف فرعي عليك النقر على "أضف تصنيف فرعي" في أعلى الصفحة من جهة اليسار. سوف تظهر لك نافذة مماثلة تمامًا لما ظهر عند إضافة تصنيف. المستوياتيساعد القسم السابق على توزيع الدورات تبعًا لطبيعة المحتوى الذي تقدمه وتحت أي مُسمى يندرج ولكن هذا القسم يُساعد في تصنيف الدورات بناءً على صعوبتها وهل يجب على المُتعلم أن يمتلك معرفة سابقة في مجال الدورة أم لا وإن كان الجواب نعم فما مدى عمق هذه المعرفة. ستجد أربع مستويات هي "مبتدئ" و"متوسط" و"محترف" و"كل المستويات" وبالطبع يُمكنك إضافة ما تشاء من مستويات او تعديل المستويات الحالية بنفس الطريقة التي تعاملت بها مع التصنيفات تمامًا. الواجباتتُصنف الواجبات كلٌ أسفل الدورة التابعة لها كما هو مُوضح في الصورة التالية ويظهر عنوان الواجب ومحتواه واسم المحاضر وعدد الطلاب الذين سلموا الواجب. لعرض معلومات الطلاب الذين سلموا الواجب يجب الضغط على عنوان الواجب أو النقاط الثلاث من الجهة اليسرى للواجب واختيار "عرض". سوف تظهر لك الآن صفحة تعرض معلومات الطلاب الذين سلموا الواجب وتاريخ التسليم وحالة الواجب هل هو قيد المراجعة أم مقبول أم مرفوض إضافة إلى الرسالة التي أُرسلت للطالب. المنتجاتتستطيع هنا إضافة منتجات ترغب في ترويجها وبيعها لطلابك ولكن بشرط أن تكون منتجات رقمية. ملاحظة: تسمح لك باقة المعلم بإضافة 7 منتجات كحد أقصى ولكن في باقتي المدرسة والأكاديمية فالعدد غير محدود. لإضافة منتج لأكاديميتك في منصة مساق، عليك بدايةً الضغط على خيار "اضف جديد" الموجود في الجهة اليسرى من الصفحة. عليك الآن إدخال اسم المنتج واسمه ضمن الرابط (يُسمح باستخدام حروف وأقام وشرطة "-" فقط) إضافة إلى السعر (الذي يجب على الطالب دفعه) كما يُمكنك إضافة سعر المقارنة (السعر قبل التخفيض ويجب أن يكون أعلى من حقل السعر). أيضًا يجب عليك إضافة صور للمنتج لأن عملية بيع منتج لا يستطيع الطالب تصور شكله أو فهمه سوف تكون أصعب، بعد ذلك عليك إضافة ملفات المنتج وهي الملفات ذات القيمة والتي يدفع الطالب للحصول عليها ولن تظهر قبل شراء الطالب للمنتج وإتمام عملية الدفع. يجب عليك إضافة وصف للمنتج لتحسين ظهوره في محركات البحث وجذب زيارات له عبر محركات البحث لتبقى أمامك خطوة واحدة وهي الضغط على "حفظ البيانات" لتتم إضافة المنتج لأكاديميتك كمسودة. لتنتقل للخطوة الثانية عليك العودة لبداية الصفحة حيث تظهر الآن ثلاث خطوات هي "المعلومات" و"التخصيص" و"نشر المنتج". اضغط على "التخصيص". أدخل رسالة ما بعد الشراء والتي تصل للطالب بعد شرائه المنتج من أكاديميتك ثم اضغط على "حفظ البيانات" لتُحوَّل بعد ذلك للخطوة الأولى. حيث عليك العودة لأعلى الصفحة والضغط على "نشر المنتج". اختر الآن حالة ظهور المنتج "مسودة" أو "غير مدرجة" أو "منشور (عام)". الحالة الأولى لا يظهر فيها المنتج إلا ضمن لوحة تحكم الأكاديمية ولا يمكن لأي طالب الوصول لها أما في الحالة الثانية فإن المنتج موجود ضمن الأكاديمية ولكن غير ظاهر للطلاب أو لأي أحد لا يمتلك رابط المنتج. الحالة الأخيرة وهي الحالة العامة التي يظهر فيها المنتج ضمن الأكاديمية ويمكن لجميع الطلاب الوصول له وشراؤه. بالعودة إلى صفحة المنتجات سوف تجد المنتج الذي أضفته مع كافة معلوماته. عليك الضغط على عنوان المنتج لمعرفة من قام من الطلاب بشرائه وتاريخ الشراء. الصورة التالية توضح كيف تظهر صفحة المنتج ضمن الأكاديمية. المقالاتأحد أكثر الطرق فعالية للترويج لمنتجاتك ودوراتك سواء كانت الأكاديمية تعمل على نطاق فرعي لنطاق خاص بك (الخيار الأفضل) أو بنطاق تابع لمساق هي من خلال محركات البحث والكلمات المفتاحية التي تُمكنك المقالات من استهدافها وجذب الزوار عبر محركات البحث. هذه العملية ليست بسيطة أو سهلة أو سريعة ولكنها مُستدامة فعند كتابتك لمقال يُركز على كلمة مفتاحية مرتبطة بأحد منتجاتك أو دوراتك وظهوره في الصفحات الأولى لمحركات البحث، سوف يجذب العديد من الزيارات المجانية والمُستمرة طالما تصدر المقال نتائج صفحات البحث. طبعًا إن كتابة مقال وتصدره الصفحات الأولى ليس بالأمر السهل ولكن إن كنت في بداية عملية الترويج لأكاديميتك فهو أوفر من الناحية المالية عند مقارنته بإعلانات جوجل أو فيس بوك أو تويتر. إن أردت إضافة مقال لأكاديميتيك في منصة مساق، توجه إلى قسم "الكل" في قسم "المقالات" من القائمة الجانبية ثم اضغط على الخيار "أضف جديد" الموجود الجهة اليسرى من الصفحة. الآن عليك إدخال عنوان المقال ومحتواه واختيار الناشر من الطاقم الإدراي الخاص بأكاديميتك إلى الوصف والكلمات المفتاحية والتي تساعد على تصدر المقال في الصفحات الأولى لمحركات البحث. عند الانتهاء مما سبق يوجد لديك أحد خيارين إما "حفظ في المسودات" أو "النشر". انتقل الآن لصفحة "الكل" التي تعرض المقالات الموجودة لديك لتجد المقال التي عرضتها ظاهرة بالصورة البارزة التي اخترتها والتصنيف الخاص بها (رقم 1). يمكنك الضغط على النقاط الثلاث (رقم 2) لتعديل أو حذف المقال وتظهر حالة المقال "تم النشر" وتاريخ النشر أسفل عنوان المقال. إضافة التصنيف للمقالات مشابه تمامًا للطريقة التي أضفت فيها التصنيفات للدورات سابقًا. التعليقاتهذا القسم مسؤول عن عرض التعليقات التي يكتبها القارئ لمقالات التي تنشرها ضمن المدونة الخاصة بأكاديميتك وتستطيع عرض هذا التعليق (أي مشاهدته وليس السماح بظهوره) أو حذفه ولكن لا يمكن التعديل عليه وهذا أمر جيد ويعني أن التعليقات الموجودة ضمن أكاديميتك هي تعليقات حقيقية وغير مُعدلة حيث تسمح بعض المنصات الأخرى لمدير الموقع بتعديل التعليقات ضمن الموقع. التقييماتالتقييمات هي الانطباع الذي يُعبر عنه الطالب بعد إنهائه لدورتك وبالطبع الإنطباعات الإيجابية هي ما تصبو له حيث تُساعد التقييمات الإيجابية على جذب المزيد من الطلاب إذ تُصبح الدورة موثوقة بالنسبة لهم بعد قراءة تجربة من سبقهم من طلاب. تستطيع قراءة التقييمات التي حصلت عليها دوراتك ضمن المنصة، أيضًا تستطيع حذفها إن أردت ولكن لا يوجد إمكانية للتعديل. القسائمسوف تكون القسائم عاملًا أساسيًا في عملية التسويق للدورات خصوصًا في مرحلة إطلاق الأكاديمية، حيث تستطيع التواصل مع مدير موقع إلكتروني أو صفحة فيس بوك وطلب الترويج لدوراتك عبر منصاتهم مقابل حصولهم على حسم خاص لزوارهم. قد لا تتم هذه الصفقة مع المنصات القوية ولكنها فعالة مع المنصات التي تسعى للترويج لنفسها أيضًا والتطور لتصبح أقوى في مجالها وهنا يجب ألا تنسى أن مجال عمل المنصة التي تريد منها الترويج لك يجب أن يكون قريب لمجال الدورات التي تريد جذب طلاب لها على أكاديميتك. لإضافة قسائم لأكاديميتك على منصة مساق، عليك أولًا التوجه إلى صفحة "القسائم" ضمن القائمة ثم الضغط على خيار "اضف جديد". الآن عليك ملء الحقول بالمعلومات المطلوبة ويجب الانتباه إلى أن اسم القسيمة يجب أن يكون بدون فراغات وتستطيع استخدام الحروف والأرقام وإشارة "_" فقط. يوجد نوعان للخصم إما باستخدام نسبة مئوية أو قيمة ثابتة، عند اختيار القيمة الثابتة ووضع قيمة 20 في حقل "نسبة الخصم/القيمة" سوف يتم خصم 20$ (باعتبار العملة هي دولار) من قيمة الدورة أما إذا اخترت "نسبة مئوية" فسوف يتم خصم 20% من قيمة الدورة وهي ما أفضله عند استخدام القسائم لاختلاف أسعار الدورات حيث تُصبح قيمة 20 قليلة بالنسبة للدورات ذات القيمة المرتفعة والعكس صحيح. انتقل الآن لتحديد تاريخ انتهاء صلاحية القسيمة حيث لا يمكن للطلاب الاستفادة من هذه القسيمة بعد مضي التاريخ المُحدد هنا، ثم عليك تحديد "حد الاستخدام الكلي" و"حد الاستخدام لكل مُستخدم" حيث تكون القيمة غير محدودة عند الإبقاء على هذه الحقول فارغة ولكن عادة يتم تحديد الحقل الثاني بقيمة 1 لكي يتم استخدام القسيمة مرة واحدة من قبل نفس الطالب أما الحقل الأول فتتغير قيمته حسب اتفاقك مع مدير المنصة التي ستروج لك أو حسب العرض الذي نشرته على صفحات التواصل الاجتماعي الخاصة بك مثل الإعلان عن حسم بقيمة 20% لأول 100 طالب يقوم بالشراء من أكاديميتك باستخدام هذه القسيمة. الخطوة الأخيرة هي الضغط على "حفظ البيانات" والعودة إلى صفحة "القسائم" للتأكد من أن القسيمة قد تمت إضافتها. تستطيع حذف القسيمة أو تعديلها إن أردت بعد إضافتها. لمتابعة من استخدام القسيمة تستطيع الضغط على اسم القسيمة ليتم تحويلك لصفحة جديدة تعرض بيانات أسماء المُستفيدين من القسيمة وعدد مرات الاستخدام وعدد مرات الاستخدام المتبقية. الهوية والألوانتستطيع هنا تغيير شعار الأكاديمية والأيقونة المُصغرة التي تظهر في لسان المتصفح من أعلى، بالإضافة لإمكانية اختيار الصورة التي تظهر عند مشاركة رابط أكاديميتك ضمن وسائل التواصل الاجتماعي. توفر منصة مساق عددًا من الخطوط العربية والتي تستخدمها أكاديميتك في القائمة ونص المقال وعناوين الدورات.
تستطيع التحكم بالألوان الخاصة بأكاديميتك وألوان العناوين والنصوص للتناسب مع الألوان المستخدمة بتصميم شعار الأكاديمية. الصفحاتهذا القسم مفيد جدًا إن كنت لا تملك نطاقًا واستضافة خاصة بك وبالتالي فأنت تستعمل نطاق فرعي من مساق لأكاديميتك لذلك يجب أن تكون قادرًا على إنشاء صفحات مثل سياسة الخصوصية وشروط الاستخدام وسياسة إرجاع الأموال. سوف تجد أربع صفحات عند إنشاء الأكاديمية هي "من نحن" و"شروط الاستخدام" و"سياسة الخصوصية" و"الصفحة الرئيسية". تستطيع تعديل وحذف أي صفحة إلا الصفحة الرئيسية حيث تستطيع تعديلها فقط دون حذفها وهي الصفحة التي تظهر فيها دوراتك ومنتجاتك ومقالاتك. ملاحظة: تستطيع إضافة 7 صفحات ضمن باقة المعلم و25 صفحة ضمن باقة المدرسة وعددًا غير محدود ضمن باقة الأكاديمية. إن أردت إضافة صفحة لأكاديميتك على منصة مساق، اضغط على "أضف جديد": أختر الآن اسم الصفحة والكلمات الظاهرة في الرابط ثم مكان إضافة الصفحة (إلى القائمة العلوية "الهيدر" أم إلى أسفل الموقع "الفوتر"). أضف محتوى للصفحة من خلال الضغط على "أضافة عنصر" ليظهر لك قائمة جانبية تحتوي العديد من الخيارات أذكر منها "المنتجات" و"المقالات" و"الأسئلة الشائعة". تستطيع البحث عما يناسبك وإضافته فقط بالضغط عليه، ولإكمال المثال سوف أختار "نص مع صورة". سوف تتم إضافة العنصر للصفحة، لاحظ الأيقونة المُحاطة بالمستطيل الأحمر تسمح لك بسحب وإفلات العنصر لتغيير ترتيبه ضمن الصفحة أما النقاط الثلاث الموجودة على اليسار تتضمن قائمة ذات خيار واحد فقط هو حذف العنصر. لكن كيف سأقوم بإضافة النص والصورة؟ يجب الضغط على عبارة "نص مع صورة" الموجودة ضمن العنصر لتظهر قائمة منسدلة من العنصر تتضمن حقول المحتوى والتصميم. يتضمن قسم المحتوى بضعة حقول هي العنوان والمحتوى ورابط الصورة (تستطيع رفعها للموقع) وتموضع الصورة بالنسبة للنص. أما القسم الآخر أي المحتوى فيتضمن حقولًا مثل لون الخلفية واختيار صورة للخلفية ولون النص ومحاذاته، تستطيع إضافة كود CSS إن كان لديك بعض الخبرة للتعديل على شكل العنصر. عند الانتهاء مما سبق يجب الضغط على "حفظ البيانات" لحفظ ما سبق من تعديلات وعناصر ضمن الصفحة. تستطيع إضافة العدد الذي تريده من عناصر للصفحة وتعديل ترتيبها حسب ما تراه مناسبًا. ننصحك لمزيد من المعلومات والتفاصيل الرجوع إلى دليل تعديل تصميم صفحات الأكاديمية من قسم التصميم والمظهر الذي توفره منصة مساق في مركز مساعدتها. الإعداداتيوفر هذا القسم إمكانية التحكم بالأكاديمية من كلمات مفتاحية ووصف وعنوان البريد الإلكتروني الذي تصل له التنبيهات وتخصيص رسائل البريد الإلكتروني التي تصل للطلاب إضافة إلى تصميم قوالب الشهادات التي تُمنح للطالب بعد النجاح في الدورة (بشرط كانت الدورة تتضمن شهادة). عامتستطيع من هنا تغيير عنوان الأكاديمية والعنوان الفرعي إضافة إلى البريد الإلكتروني الذي يستقبل تنبيهات المنصة. يُمكنك أيضًا إضافة كلمات مفتاحية ووصف للأكاديمية لمُساعدتك على الظهور ضمن نتائج محركات البحث، كما تستطيع ربط المنصة بمنصات التواصل الاجتماعي التابعة لأكاديميتك. قسم التخصيص الأخير يُستخدم لتغيير العملة المُستخدمة لعرض أسعار الدورات والتحكم بطريقة التسجيل ضمن أكاديميتك إضافة إلى ميزة تقييد الدخول لأكاديميتك من خلال جهاز واحد فقط. يوجد طريقتان لتسجيل الدخل ضمن الأكاديمية الطريقة الأولى وهي الافتراضية وسهلة الاستخدام تسمح للطالب بالتسجيل عبر تقديم عنوان بريده الإلكتروني ليتم إرسال بريد يتضمن معلومات الدخول مع رابط سريع وهذا يوفر عناء العملية التقليدية في التسجيل وتأكيد البريد الإلكتروني. عند تفعيل الخيار لاستخدام آلية التسجيل التقليدية سوف يحتاج الطالب لإدخال عنوان البريد الإلكتروني وكلمة مرور وتأكيد بريده. افتراضيًا فإن ميزة تقييد الدخول غير مُفعلة وعند تفعيلها عليك تنبيه الطلاب كي لا يقعوا في حيرة من أمرهم إن حاولوا تسجيل الدخول من حاسب مُختلف أو هاتف ذكي مُختلف عن الجهاز الذي سجلوا فيه أول مرة. الرسائل البريديةهذا القسم مُخصص للإطلاع على رسائل البريد الإلكتروني المُعدة مُسبقًا والتي تصل للطالب عند تسجيله في الأكاديمية أو دورة معينة. تستطيع عرض وتعديل هذه القوالب من هنا وهما قالبنا فقط لتفعيل الحساب والالتحاق بالدورة ولتتعرف على كيفية استخدام الوسوم الموجودة عند تعديل القالب اطلع على الخطوة الثالثة من كيفية إضافة دورة لأكاديميتك في منصة مساق. قوالب الشهاداتيوجد شهادة افتراضية عند إنشاء حساب أكاديمية على منصة مساق. تستطيع تخصيص القوالب فقط في باقتي المدرسة والأكاديمية أما باقة المُعلم فهذا غير متوفر. لإضافة قالب شهادة لأكاديميتك في منصة مساق، أولا عليك الضغط على خيار "أضف جديد": الآن عليك إدخال اسم قالب الشهادة واستخدام الحقول في قسم المحتوى لتغيير الكلام المكتوب ضمن الشهادة وانتبه هنا مثلًا عند تغيير "تاريخ إصدار الشهادة" فأنت لا تغير التاريخ بل تُغير العبارة المكتوبة فوق التاريخ بينما التاريخ واسم الطالب وما شابه من أمور تتم إضافتها تلقائيًا للشهادة عند إتمام الطالب للدورة. بعد الإنتهاء من تعديل المحتوى تستطيع الانتقال لتعديل التصميم من خلال اختيار لون ونوع للخط وتغيير الشعار الظاهر على القالب وصورة خلفية الشهادة. ملاحظة: عملية التخصيص هذه متاحة فقط في باقتي المدرسة والأكاديمية. اضغط على "حفظ البيانات" بعد الانتهاء من التعديل. التكاملتستطيع في هذا القسم إدارة وسائل الدفع وربط أكاديميتك مع أدوات التحليل المختلفة مثل جوجل أناليتكس Google Analytics وGoogle Tag Manager إضافة لربطها بمنصات للتسويق مثل سناب شات SnapChat وفيس بوك وميل شيمب MailChimp. يوجد تبويبان في هذا القسم الأول هو "الكل" يتضمن جميع ما سبق ما عدا وسائل الدفع الالكتروني وهو عنوان التبويب الثاني. الكللجمع معلومات عن زوار وطلاب الأكاديمية لا بد من الاستعانة بجوجل أناليتكس لذلك عليك إنشاء حساب عليه ثم نسخ كود التتبع ولصقه في المكان المخصص وتفعيل عمله من صفحة "التكامل" للأكاديمية ثم الضغط على "حفظ البيانات". سوف تحتاج أيضًا لأداة Google Tag Manager عند بدء حملات التسويق لأكاديميتك عبر جوجل وذلك لمعرفة العدد الدقيق للزوار الذين دخلوا أكاديميتك بسبب إعلان جوجل مثلًا. تستطيع إضافة هذا الكود باتباع نفس الطريقة السابقة لكود جوجل أناليتكس. يُمكنك أيضًا التسويق لأكاديميتك من خلال منصتي فيس بوك وسناب شات لذلك عليك لصق Pixel ID الخاص بحسابك على منصة فيس بوك ومنصة سناب شات في المكان المخصص وتفعيلهما ثم حفظ البيانات. التسويق باستخدام البريد الإلكتروني هو طريقة قديمة ولكنها فعالة إلى الآن. توفر منصة مساق تكاملية مع منصة ميل شيمب لذلك لاستخدام ميزات ميل شيمب عليك إنشاء حساب عليها ثم إنشاء قائمة بريدية مع API Key وإدخال البيانات اللازمة هنا. أداة المساعدة Zapier متوفرة فقط في خطة المدرسة والأكاديمية وربطها مع الأكاديمية بسيط وسهل وسوف أشرح لك الخطوات الأولى التي أستطيع الوصول لها ثم سوف أرفق مقطع فيديو يشرح باقي الخطوات بالتفصيل الممل. أولا عليك الضغط على زر "التطبيق على Zapier" والذي سوف يفتح نافذة جديدة في المتصفح لموقع Zapier، يجب أن يكون لديك حساب سابق على الموقع. اضغط الآن على الأيقونة المحاطة بالمستطيل الأحمر لاختيار تطبيق وربطه مع تطبيق مساق على Zapier. سوف أختار التطبيق الأول والذي يسمح لي بإرسال بريد إلكتروني لمشتركي أكاديميتي عبر جيميل. عند الضغط على خيار "Try It" سوف تظهر لك الصفحة التالية. اضغط الآن على خيار "Sign in to Msaaq" لتظهر لك نافذة منبثقة تطلب منك إدخال API Key ونطاق الأكاديمية والتي تجلبه من صفحة التكامل في أكاديميتك. لمتابعة خطوات الربط بالتفصيل الممل وبشكل عملي، يمكنك الانتقال إلى هذا الفيديو. ربط الأكاديمية مع تطبيق Zapier سيسمح بأتمتة عدة مهام وربط الأكاديمية مع عدة تطبيقات، لذا ننصحك بالاطلاع على العملية للاستفادة منها. وسائل الدفعيوجد العديد من وسائل الدفع التي تستطيع تضمينها لأكاديميتك وهي حتى الآن: الحوالة البنكية وبادّل Paddle وسترايب Stripe وبيلينك PayLink وتاب Tap Payments وهايبرباي HyperPay وباي بال PayPal. كل وسيلة دفع لها ميزة مختلفة فمثلُا يُمكنك قبول الحوالات البنكية على افتراض أن طلابك يعيشون في نفس الدولة ومن السهل وغير المُكلف استعمال الحوالات البنكية فيه ولكن إن كنت تستهدف طلابًا خارج النطاق الجغرافي لدولتك فسوف تحتاج طريقة دفع أخرى مثل باي بال أو وسائل الدفع الأخرى التي تقبل بطاقتي فيزا وماستركارد. لتفعيل أي من طرق الدفع السابقة يجب عليك الضغط على مفتاح التفعيل الموجود بجانب كل وسيلة دفع ولكن قبل ذلك عليك ضبط الإعدادات وتحقيق الشروط الخاصة بكل وسيلة دفع. لإضافة حساب بنكي لاستقبال الحوالات عليه، أولًا يجب عليك الضغط على الإعدادات الخاصة بها لتظهر لك صفحة مماثلة للصورة التالية. اتبع ترتيب الخطوات المُوضح في الصورة وأضف ما تريد من حسابات بنكية. تحتاج معلومات مختلفة بالنسبة لبادّل مثل Vendor ID و Auth Code و Public Key تجلبها من معلومات حسابك في بادل المراد ربطه مع الأكاديمية. يجب عليك التواصل مع مزودي بوابات الدفع السابقة للاطلاع على الشروط التي يجب عليك تحقيقها لتتمكن من استخدام خدماتهم أما بالنسبة لباي بال فيجب عليك أن تمتلك حساب عمل عمل Business account لأن الحساب الشخصي لن يفي بالغرض. يمكنك الانتقال إلى صفحة بوابات الدفع التي توفرها منصة مساق للاطلاع على تفاصيل مفصلة حول كيفية ربط الأكاديمية بمختلف طرق الدفع المتوفرة. كيفية إضافة دورة لأكاديميتك في منصة مساقيجب عليك قراءة التصنيفات والمستويات لإضافة التصنيفات والمستويات المناسبة للدورة قبل البدء بإنشائها، بعد ذلك عليك التوجه إلى قسم الدورات والضغط على "الكل" ثم انقر على "أضف جديد". الخطوة الأولى: معلومات الدورةيجب عليك في هذه الخطوة ملء عدة أقسام بمعلومات هامة وهي حسب ترتيب ظهورها "عن الدورة" و"تصنيف الدورة" و"متطلبات الدورة" و"الوصف" و"الملفات" و"التخصيص" و"محركات البحث". ملاحظة: جميع الحقول التي تملك إشارة "*" بجانبها هي ضرورية ولا يمكن الانتقال للخطوة الثانية بدون كتابة المحتوى الصحيح فيها.
هل انتهيت من ملء الحقول؟ نعم. إذًا عليك بالضغط على "حفظ البيانات" والانتقال للخطوة الثانية. الخطوة الثانية: إضافة الموادعليك هنا إضافة أقسام الدورة والمواد التعليمية من نصوص ومقاطع فيديو ومقاطع صوتية واختبارات وواجبات. أولًا، اضغط على خيار "أضف قسم جديد". سوف تظهر لك الآن نافذة منبثقة تطلب منك إدخال اسم القسم وذلك ضمن تبويب "معلومات القسم" كما هو مُبين في الصورة التالية. أما التبويب الثاني "المحتوى التدريجي" يتضمن كيفية السماح للطالب بالوصول لمحتويات القسم وهي بالحالة الافتراضية غير مُفعلة ولتفعيلها عليك الضغط على المفتاح بجانب الرقم 1. يوجد خياران لتفعيل القسم وذلك بعد عدد أيام مُحدد ضمن خيار "تفعيل القسم بعد" أما بالنسبة لتاريخ حساب هذه المدة تستطيع الاختيار بين أحد خيارين إما "من تاريخ بدء المشاهدة" أي عند الدخول للقسم أو "من تاريخ الالتحاق" أي بعد التسجيل في الدورة. ملاحظة: عند تفعيل أحد الخيارين يتم تعطيل الخيار الآخر. شخصيًا أجد هذه الخيارات غير كافية للمحتوى التدريجي، فكان الأفضل لو أستطيع تفعيل القسم التالي بناء على اختبار في القسم السابق أو بناء على متابعة القسم السابق وليس من خلال فترة زمنية تُحتسب بدءًا من تاريخ الالتحاق بالدورة أو التوجه للقسم. سوف يتم إرسال إشعار بريد الكتروني للطالب عند تفعيل القسم لذلك عليك اختيار موضوع هذا الإشعار ومحتواه كما هو مُوضح في أسفل الصورة ثم اضغط على "حفظ البيانات". يظهر الآن القسم الذي أضفته والذي لا يتضمن أي مادة تعليمية حاليًا وهذا ظاهر من عدد المواد أسفل اسم القسم (رقم 1)، اضغط الآن على خيار "اضافة مادة" للبدء بملء القسم بالمادة التعليمية. سوف تظهر لك قائمة صغيرة عند الضغط على "اضافة مادة" تتضمن الخيارات المُمكن استخدامها وهي "فيديو" و"اختبار" و"نص" و"صوت" و"واجب". إضافة فيديواضغط على "فيديو" وسوف تظهر لك نافذة منبثقة لإدخال معلومات الفيديو مثل "العنوان" ومصدر الفيديو، هنا يوجد لديك خياران إما أن يكون الفيديو موجود على يوتيوب أو فيميو وبالتالي له رابط تستطيع لصقه في الحقل أو يُمكنك رفع الفيديو بشكل مُباشر من حاسوبك. عليك الآن إدخال مدة الفيديو بالساعات والدقائق (إجباري) إضافة إلى ملخص عن محتوى الفيديو يُعطي الطالب فكرة عما سوف يُشاهده. تستطيع إضافة ملفات مرفقة للفيديو مثل ملف إلكتروني PDF أو نصي Microsoft Word، ربما تكون قائمة بمراجع يُمكن للطالب الاطلاع عليها أو ملف يحتاج الطالب لإكماله كجزء من واجب في نهاية القسم. يُمكن تقديم الدورة من قبل عدة مُدرسين لذلك يوجد خيار لاختيار مُحاضر المادة وبما أني لم أضف أي مُدرس فحسابي الافتراضي سوف يكون الخيار الوحيد المُتوفر. الصلاحيات تسمح لك باختيار من يُمكنه مشاهدة المادة، "المشترك بالدورة" أم "أي شخص" وهذا مفيد من الناحية التسويقية وغالبًا يتم السماح لأي شخص بمشاهدة محتويات القسم الأول والذي يكون مقدمة للدورة لتُساعد الطالب على اتخاذ قرار شراء الدورة. انتهيت من إدخال معلومات الفيديو وبقي الضغط على "حفظ البيانات" لتتم إضافته لقسم "أساسيات الحاسوب وعلومه". أُضيفت الآن مادة جديدة للقسم، يظهر اسم المادة وجزء من الملخص ومدة الفيديو وإلى اليمين (رقم 1) عبارة عن زر للسحب والإفلات لتغيير ترتيب المادة ضمن القسم. إلى اليسار (رقم 2) يوجد ثلاث نقاط عند الضغط عليها تظهر قائمة بخيارين هما التعديل والحذف. انتبه لعدد المواد الذي تغير (رقم 3) أسفل اسم القسم. إضافة نصاضغط مرة ثانية على "إضافة مادة" واختر "نص" لتظهر لك نافذة منبثقة تطلب منك ادخال "العنوان" و"الملخص" و"المرفقات" إن وجدت. لا يظهر في الصورة كامل محتويات النافذة ولكن المتبقي هو "محاضر المادة" و"الصلاحيات" مماثلة لإضافة الفيديو. لا تنس الضغط على "حفظ البيانات" لإضافة هذه المادة للقسم. إضافة صوتأعد الخطوات السابقة ولكن هذه المرة لإضافة صوت، لتلاحظ الاختلاف عن الفيديو أنك تستطيع فقط رفع ملفات صوتية (رقم 1) ولا يُمكن تضمينها من منصة أخرى كما هو حال الفيديو كما أن الصيغ المدعومة (رقم 2) مُحددة ويجب عليك الالتزام بها. ما تبقى من أقسام النافذة المنبثقة لإضافة الصوت مشابه لإضافة الفيديو وعليك الضغط على "حفظ البيانات" لحفظ المادة وإضافتها للقسم. إضافة اختباراضغط على "أضف مادة" ثم اختر "اختبار" لتظهر لك نافذة منبثقة جديدة مختلفة عن السابقات، عليك كتابة "عنوان الاختبار" واختيار معدل النجاح لاجتياز الاختبار من قائمة مُعدة مسبقًا، أي لا تستطيع اختيار المعدل الذي تريد بل التقيد بما هو موجود. ثم تفعيل أو تعطيل خيار "ترتيب الأسئلة بشكل عشوائي" بحيث تظهر لكل طالب بترتيب مختلف. يوجد سؤال سلفًا عند إضافة اختبار والذي لا يمكن حذفه لأن الحد الأدنى لعدد الأسئلة ضمن الاختبار هو واحد. يجب إدخال السؤال ضمن حقل "عنوان السؤال" ثم إضافة شرح ليسهل فهم السؤال وطريقة الإجابة عليه ضمن حقل "شرح السؤال". يوجد نوع واحد من الأسئلة فقط وهو الاختيار من مُتعدد، لذلك عليك إضافة عدة أجوبة بالضغط على "جواب جديد" ثم إدخال "الإجابة" واختيار الإجابة الصحيحة (يمكن اختيار إجابة واحدة صحيحة فقط). بعد الانتهاء من إدخال السؤال يُمكنك الضغط على "أضف سؤال" لإضافة سؤال جديد بنفس الآلية السابقة، ولا يوجد حد واضح لعدد الأسئلة الأعظمي كما أن توزيع الدرجات بين الأسئلة يكون تلقائيًا من خلال تقسم الرقم 100 على عدد الأسئلة. إن كان لديك 20 سؤالًا ضمن الاختبار فإن 100/20 يساوي 5 وبالتالي كل سؤال له 5 درجات. الأقسام المتبقية هي الصلاحيات واسم المحاضر، يمكن اختيارها بنفس الآلية التي اتبعتها في إضافة الفيديو. إضافة واجبإضافة الواجب مشابهة لإضافة النص مع إمكانية إضافة مقطع فيديو لها وفي هذا القسم تُسند للطالب ما عليه القيام لاجتياز القسم فربما يجب عليه إعداد بحث صغير عن أمر معين أو ربما عليه كتابة برنامج بسيط بلغة برمجة معينة. أيًا كان الواجب فإن آلية إضافته بسيطة للغاية وتتم متابعته من قسم الواجبات في لوحة التحكم. بعد إضافة عدة مواد سوف يظهر القسم بالشكل التالي: تستطيع إعادة ترتيب المواد ضمن القسم، حذف المادة التي تريد أو تعديلها أو إضافة مادة جديدة. تستطيع في أي وقت تعديل القسم أو حذفه مع أو بدون المواد الموجودة ضمنه من خلال الضغط على النقاط الثلاث المتواجدة بجانب اسم القسم كما هو موضح في الصورة. أستطيع إضافة المزيد من الأقسام ولكن الهدف من هذا المقال هو تعليمك آلية الإضافة لذلك سوف أنتقل الآن للخطوة التالية بالضغط على خيار "الخطة التالية". الخطوة الثالثة: إطلاق الدورةإن كنت مدربًا مشهورًا ولديك جمهورك، تستطيع إنشاء دورة مؤلفة من قسم واحد والسماح للطلاب بالتسجيل فيها قبل انتهائك من إعدادها من خلال تفعيل الخيار (رقم 1) أو ربما إن كنت تريد الترويج مسبقًا للدورة وتحتاج القسم الأول فقط في هذه المرحلة. عند شراء الطالب للدورة سوف تصله رسالة لبريده الالكتروني، تستطيع كتابة ما تريد فيها واستخدام المتغيرات (رقم 2) ضمن البريد لعرض عنوان الدورة ورابط الدورة والبريد الإلكتروني للأكاديمية كما هو موضح في المثال ضمن الصورة. هل تريد تقديم شهادة للطالب في هذه الدورة؟ هل يجب عليه مشاهدة الدورة كاملة للحصول على الشهادة وهل يجب عليه أيضًا اجتياز جميع الاخبتارات؟ تفعيل الخيار الأول في قسم الشهادة يتيح لك تفعيل الخيارين الآخرين. اطلع على كيفية إضافة قالب شهادة لأكاديميتك في منصة مساق. الخيارات الموجودة ضمن قسم التخصيص واضحة وهي تسمح لك بتفعيل التقييم للدورة للطلاب بعد انهاء الطالب لها إضافة إلى إظهار عدد الطلاب الملتحقين بالدورة وهو أمر إيجابي بعد التحاق عدد جيد من الطلاب بدورتك ولكن ربما تريد تعطيل هذا الخيار في البداية. تستطيع عرض اسم المحاضر ومعلوماته في صفحة المادة وهو أمر مفيد في حال قدم الدورة عدة مُدرسين. تستطيع أيضًا تفعيل التعليقات على الدورة وإيقافها بعد مدة عند جمع ما يكفي من تعليقات إيجابية تُساعدك على جذب المزيد من الطلاب. تتطلب الدورة متابعة مستمرة مع الطلاب وفي حال كنت مُنشغلًا ولا تستطيع ذلك يُمكنك إيقاف التسجيل على الدورة للطلاب الجدد، سبب آخر لذلك قد يكون تحديث محتوى الدورة ولا تريد لطالب أن يتفاجأ بمحتوى مختلف عن حين تسجيله. الخيار الأخير بتفعيله فأنت تسمح للطالب بإرسال واجب جديد عند رفض القديم وتعطيله يمنعه من ذلك. وصلت الآن للقسم الأخير من الخطوة الثالثة وهي حالة الدورة ولها ثلاث خيارات ممكنة إما "مسودة" (تُستخدم عند بناء الدورة وتطويرها) ولا يمكن لأي شخص التسجيل فيها وتظهر لك فقط في لوحة التحكم. الحالة الثانية "غير مدرجة" أي لا تظهر ضمن موقع الأكاديمية ولكن يستطيع من الطلاب من يملك رابط الدورة الالتحاق بها. الحالة الأخيرة "منشورة (عام)" وهي الحالة التي تختارها عند انتهائك من تجهيز الدورة وتريد إظهارها على موقع الاكاديمية ليستطيع من يريد التسجيل فيها، وهذا ما اخترته لدورتي. ملاحظة: لا يمكن اختيار سوى حالة واحدة والتي عند تفعيلها تُلغي تلقائيًا تفعيل الحالتين الأخريين. اضغط الآن على "حفظ التعديلات". الخطوة الرابعة: مشاركة الدورةتظهر بعض معلومات الدورة في هذه الخطوة من الحالة ورابط الدورة إضافة إلى وجود خيارين سريعين لمشاركة الدورة عبر تويتر أو فيس بوك. خاتمةانتهى دوري الآن مع انتهاء هذا المقال وأصبحت أنت المسؤول وفي يديك الأدوات الكافية لتحقيق تغيير في المستقبل. تحدثت في هذه المقال عن منصة مساق وكيفية إنشاء حساب عليها والأقسام المختلفة لهذا الحساب. انتقلت بعد ذلك للغوص في تفاصيل حساب الأكاديمية خطوة بخطوة ليتكون لديك فكرة شاملة عن المزايا والأدوات التي تُقدمها منصة مساق حيث شرحت كيفية إضافة دورة وكيفية إضافة منتج مع متابعة التعليقات والتقييمات التي تكسبها من طلابك. تطرقت أيضًا للقسائم وآلية إضافتها ومتابعة مُستخدميها، وكيفية تخصيص هوية الأكاديمية باختيار شعارها والألوان ونوع الخطوط المُستخدم. النهاية كانت مع طرق الدفع المدعومة والعديدة والتي تُعتبر من أهم ميزات المنصة إضافة لسهولة ربط الأكاديمية مع محرك البحث جوجل وأهم منصات التواصل الاجتماعي التي تُساعدك على التسويق. ابدأ ببناء أكاديميتك الآن وابدأ ببيع دوراتك الاحترافية عبر منصة مساق، بالتوفيق! |
51,641 | سوني تختبر خدمة بث الفيديو Video Pass.. وهذا ما تقدمه |
أكدت شركة سوني أنها تختبر خدمة بث فيديو تسمى Video Pass، مع نسخة تجريبية مدتها عام واحد في بولندا تسمح للمشتركين ببث الأفلام والبرامج التلفزيونية. ويأتي الاختبار في الوقت الذي تبحث فيه عملاقة الإلكترونيات اليابانية عن طرق لتوسيع اشتراكها عبر الإنترنت. وفي حديثه إلى موقع Spider Web البولندي، قال (نيك ماجواير) Nick Maguire، نائب الرئيس لخدمات الاشتراك العالمية في شركة سوني للترفيه التفاعلي: نعلم جيدًا أن لدينا قاعدة كبيرة من اللاعبين في بولندا ملتزمون ونشطون يحبون استخدام منصات الفيديو بحسب الطلب، وبالنسبة لنا، هذا هو المزيج المثالي، والسوق المثالي، لتقديم خدمة اختبارية كجزء من برنامج PlayStation Plus ومعرفة ما يفكر فيه المستخدمون الرئيسيون لدينا. وتحتوي منصات، مثل: PS4 و PS5، على تطبيقات مستضافة منذ فترة طويلة لخدمات الفيديو بحسب الطلب، مثل: نيتفليكس و Hulu و Prime Video والمزيد، وأضاف ماجواير: إن الخدمة ستكون بمثابة تطبيق بث متاح لمالكي PS4 و PS5 مع اشتراك نشط في PlayStation Plus ، دون أي تكلفة إضافية. وتشمل خدمة البث Video Pass على ما يصل إلى 15 فيلمًا وستة برامج تلفزيونية مملوكة لشركة Sony Pictures، مع المزيد في الطريق كل ثلاثة أشهر حتى انتهاء التجربة. ويقول ماجوير: إن الشركة قررت إجراء الاختبار في بولندا بناءً على بيانات محددة، مشيرًا إلى أن الاختبار يسمح لشركة سوني بمعرفة الأفلام والبرامج المتلفزة الأكثر مشاهدة وعدد مرات استخدام مشتركي PlayStation Plus للخدمة. وبالرغم من ذلك، لم يعلق المسؤول التنفيذي في شركة سوني على ما إذا كانت الخدمة قد تطرح في مناطق أخرى. وقد تكون خدمة Video Pass بمثابة طريقة جديدة للشركة لزيادة قيمة خدمة الاشتراك عبر الإنترنت إلى ما هو أبعد من الألعاب. ولا يوجد لدى سوني منافس مباشر لخدمة Xbox Game Pass من شركة مايكروسوفت، وهي خدمة اشتراك تشبه نيتفليكس مخصصة للألعاب مع إمكانية الوصول إلى مكتبة كبيرة من الألعاب الرقمية المتاحة للتنزيل واللعب. وتتمتع سوني بإمكانية الوصول إلى مكتبة كبيرة من الأفلام والبرامج المتلفزة، بما في ذلك الوصول إلى القصص المصورة اليابانية (الأنيمي) عن طريق Funimation و Crunchyroll، التي اشترتها سوني في شهر ديسمبر من AT&T مقابل 1.175 مليار دولار. ومع توقف متجر بلاي ستيشن PlayStation عن بيع وتأجير الأفلام والبرامج التلفزيونية في 31 أغسطس، قد تكون Video Pass طريقة أخرى لمالكي منصات بلاي ستيشن لمشاهدة الأفلام والعروض عبر منصات الألعاب الخاصة بهم. |
51,628 | أنماط التصميم وتصريف الإضافات في PHP |
يوفر هذا الجزء أمثلة عن أنماط التصميم المعروفة المُنفَّذة في PHP. سلسلة التوابع في PHPسَلسَلة التوابع هي تقنية موضحة في كتاب لغات محددة للنطاق لصاحبه Martin Fowler وتُلخص بالشكل التالي: جعل توابع التعديل تُرجع كائن المضيف بحيث يمكن تنفيذ عدة تعديلات في تعبير واحد. بفرض لدينا هذه الشيفرة النظامية الخالية من السَلسَلة (نُقلت إلى PHP من الكتاب المذكور أعلاه) $hardDrive = new HardDrive; $hardDrive->setCapacity(150); $hardDrive->external(); $hardDrive->setSpeed(7200);تسمح لنا سَلسَلة التوابع بكتابة الشيفرة السابقة بطريقةٍ مختصرة: $hardDrive = (new HardDrive) ->setCapacity(150) ->external() ->setSpeed(7200);كل ما تحتاجه هو إضافة return $this إلى التابع الذي نريد سَلسَلته. class HardDrive { protected $isExternal = false; protected $capacity = 0; protected $speed = 0; public function external($isExternal = true) { $this->isExternal = $isExternal; // تعيد غرض الصنف الحالي لتسمح بسَلسَلة التابع return $this; } public function setCapacity($capacity) { $this->capacity = $capacity; // تعيد غرض الصنف الحالي لتسمح بسَلسَلة التابع return $this; } public function setSpeed($speed) { $this->speed = $speed; // تعيد غرض الصنف الحالي لتسمح بسَلسَلة التابع return $this; } } متى نستخدمها؟الحالات الأساسية التي نستخدم فيها سَلسَلة التوابع هي عند بناء لغات خاصة بالنطاق الداخلي، سَلسَلة التابع هي بناء كتلة في باني التعبير والواجهات السلسة. إنّها ليست مرادفة لهما لكن أسلوب السَلسلة يمكّنهما كما يذكر Martin Fowler: "لاحظت مفهومًا خاطئًا شائعًا وهو أنّ العديد من الأشخاص يوازنون بين الواجهات السلسة (fluent interfaces) وسَلسلة التابع، من المؤكد أنّ السَلسلة هي تقنية شائعة الاستخدام مع الواجهات السَلسة لكن السلاسة الحقيقية أكثر من ذلك بكثير". ورغم ذلك يعدّ الكثير من الأشخاص أنّ استخدام سَلسَلة التابع فقط لتجنب كتابة الكائن المضيف مشكلة شيفرة، لأنّه يصنع واجهة برمجة تطبيقات (API) غير واضحة خاصةً عند الدمج مع واجهة برمجة تطبيقات خالية من سَلسَلة التوابع. ملاحظات إضافيةفصل استعلام الأوامر فصل استعلام الأوامر هو مبدأ في التصميم قدّمه Bertrand Meyer وينص على أنّ التوابع التي تغير الحالة (الأوامر) ?يجب ألا ترجع شيئًا، أما التوابع التي ترجع شيئًا ما (الاستعلامات) يجب ألا تغير الحالة. وهذا يجعل من السهل التفكير في النظام. تنتهك سَلسَلة التوابع هذا المبدأ لأننا التابع يغير الحالة ويُعيد شيئًا ما. التوابع الجالبة (getters) يجب الانتباه عند استخدام الأصناف التي تنفذ سَلسَلة التوابع إلى استدعاء توابع الجالب (أي التوابع التي تُرجع شيئًا ما غير $this)، بما أنّ الجالب يجب أن يرجع قيمة ما غير $this فإنّ سَلسلة تابع إضافي على التابع الجالب يجعل الاستدعاء يُنفَّذ على القيمة التي حُصِل عليها وليس على الكائن الأصلي، إلا أنّ هناك بعض الحالات لسَلسلة التوابع الجالبة قد تجعل الشيفرة أقل قابلية للقراءة. قانون ديميتر وتأثيره على الاختبار لا تنتهك سَلسلة التوابع قانون ديميتر كما أنّها لا تؤثر على الاختبار وذلك لأننا نعيد الكائن المضيف وليس بعض المتعاونين. إنّه مفهوم خاطئ شائع عند الأشخاص الذين يخلطون بين سَلسلة التوابع والواجهات السلسة وبناة التعبير، يُنتهك قانون ديميتر فقط عندما تعيد سَلسلة التوابع كائنات أخرى غير الكائن المضيف وينتهي بك الأمر بالحصول على اختبارات وهمية في اختباراتك. تصريف إضافات PHP في نظام لينوكس (Linux)يوجد عدة متطلبات لتصريف إضافة PHP في بيئة لينكس نموذجية:
عمومًا، يوجد طريقتين لتصريف إضافة PHP. يمكنك تصريف الإضافة بشكلٍ ساكن إلى الصيغة الثنائية في PHP أو تصريفها كوحدة مشتركة محملة من قِبل الصيغة الثنائية في PHP عند بدء التشغيل. ومن الأفضل استخدام الوحدات المشتركة لأنها تسمح بإضافة أو حذف الإضافات بدون إعادة بناء كامل صيغة PHP الثنائية، يركز هذا المثال على الخيار المشترك. إذا ثبّت PHP باستخدام مدير الحزم (apt-get install, yum install, etc..) ستحتاج إلى تثبيت حزمة -dev من أجل PHP، والتي ستتضمن ملفات ترويسة PHP وسكربت phpize الضروريين لتعمل بيئة البناء. قد تسمى الحزمة باسم مثل php5-dev أو php7-dev لكن تأكد من استخدام مدير حزمتك للبحث عن الاسم المناسب باستخدام مستودعات التوزيعة الخاصة بك لأنها قد تختلف. إذا بنيت PHP من المصدر فعلى الأغلب أنّ ملفات الترويسة موجودة بالفعل في نظامك، تكون عادةً في المسار /usr/include أو /usr/local/include. خطوات التصريف بعد أن تتأكد من أنّه لديك كل المتطلبات الضرورية للتصريف يمكنك التوجه إلى pecl.php.net واختيار الإضافة التي تريد تصريفها وتحميل ملف tarball الخاص بها.
سيوفر لك الأمر make install مسار التثبيت الذي نُسخت فيه الإضافة، والذي يكون عادةً في /usr/lib/، قد يكون مثلًا /usr/lib/php5/20131226/yaml.so. يعتمد هذا على إعدادات PHP الخاصة بك (مثل --with-prefix) ونسخة واجهة برمجة التطبيقات المحددة. يُضمَّن رقم واجهة برمجة التطبيقات في المسار للحفاظ على الإضافات المبنية لإصدارات واجهات برمجة تطبيقات مختلفة في مواقع مختلفة. تحميل الإضافة في PHP لتحميل الإضافة في PHP، ابحث عن ملف php.ini المحمَّل من أجل واجهة برمجة التطبيقات للخادم (SAPI) المناسبة، وأضف ?السطر extension=yaml.so ثم أعد تشغيل PHP وغيّر yaml.so إلى اسم الإضافة المثبّتة الفعلي. بالنسبة للإضافة Zend فأنت تحتاج إلى توفير المسار الكامل لملف الكائن المشترك، أما في باقي إضافات PHP العادية يُشتق هذا المسار من الموجِّه extension_dir في ملف الإعدادات المحمَّل أو من متغير البيئة $PATH أثناء إعداد التهيئة. ترجمة -وبتصرف- للفصول [Design Patterns - Compile PHP Extensions] من كتاب PHP Notes for Professionals book |
51,617 | مساحات وقياسات العمل التصميمي |
إن أول ما نحدده عند إنشاء أي تصميم هو قياس مساحة التصميم ونموذج الألوان المستخدم والهوامش وغيرها، وقد لاحظنا في مقالات سابقة كيف أن برامج التصميم مثل الفوتوشوب والإليستريتور تطلب تحديد مساحة التصميم قبل فتح مستند جديد للعمل عليه. تحديد المساحة مهم جدًّا لفهم دقة العمل والهدف من العمل، فتصميم بطاقة أعمال لشركة ما يختلف عن تصميم ملصق إعلاني حيث أن الأول بحجم صغير أقل من راحة اليد والآخر بحجم ورقة كبيرة كاملة، وهذا يعني أن التفاصيل والعناصر في بطاقة الأعمال ستكون أقل عددًا وأصغر حجمًا على عكس الملصق الإعلاني. من المهم أن نفهم أن تصاميمنا على الحاسوب ستكون بوحدات قياس مختلفة عن وحدات القياس على أرض الواقع، إلا أن برامج التصميم تحدد النسبة بين الوحدات وهو ما يعرف بالدقة أو دقة التفاصيل، والتي نحددها أيضًا عند فتح مستند تصميم جديد على أحد برامج التصميم مثل النسبة (بكسل / بوصة) وهي تعني عدد وحدات البكسل في البوصة الواحد، وتزداد الدقة بازدياد قيمة هذه النسبة وتزداد معها المساحة التخزينية لملف التصميم كما يزداد معها استهلاك موارد الحاسوب أو أي جهاز نستخدمه للتصميم. فهذه الصورة على سبيل المثال صممت بنوعين من الدقة، الأولى كانت بدقة 300 بكسل/البوصة والثانية بدقة 72 بكسل/البوصة لهذا بلغت المساحة التخزينية للأولى 1.85 ميغا بايت بينما بلغت للثانية 285 كيلو بايت. تلاحظ هنا الفرق بين الصورتين من حيث الجمالية ونعومة الحواف ودقة التفاصيل، فتظهر الصورة إلى اليسار وكأنها هاربة من حاسوب قديم من جيل حواسيب الثمانينات. أنواع ووحدات القياسدرسنا جميعنا وحدات الأطوال المترية في المدارس الإبتدائية، ويعتمد المصممون على هذه الوحدات اعتمادًا أساسيًا لتصميم المطبوعات المختلفة، كما تستخدم من قبل مهندسي البناء والعمارة والديكور وكذلك مصممي النماذج ثلاثية الأبعاد لإنتاج نماذجهم وتصاميمهم بواسطة الطابعات ثلاثية الأبعاد. هناك وحدات تستخدم في القياس الواقعي الحقيقي مثل المتر وهناك وحدات تستخدم لقياس الرسومات والدقة ضمن الشاشات فقط مثل البكسل، لذلك فإن فهم هذه الوحدات ضروري للحصول على نتائج دقيقة وتجنب الأخطاء. المتر mالنظام المتري وتعد وحدة المتر m الوحدة الرئيسية لهذا النظام ومن مضاعفاته الكيلومتر km وتعادل 1000 متر، ونحن لا نستخدم الكيلومتر في التصميم لأنه لا يوجد أي آلة يمكنها طباعة ورقة أو لوحة قماشية بهذا الحجم، لذلك فإن اعتمادنا سيكون على عوامل أو قواسم المتر وهي السنتيمتر cm ويعادل المتر الواحد 100 سنتيمتر، والميليمتر ويعادل المتر واحد 1000 ميليمتر. البوصة (الإنش) inنظام القياس بالبوصة أو الإنش وهو نظام قياس أطوال إنجليزي ما يزال معتمدًا في الولايات المتحدة الأمريكية وبريطانيا، وهو أحد وحدات القياس الإمبراطورية والتي تضم إلى جانبها وحدات القدم والميل وغيرها، وتعادل البوصة الواحدة 2.54 سنتيمتر أي 25.4 ميليمتر. وهذه خريطة توضح أماكن استخدام نظام القياس المتري و الإمبراطوري في العالم. النقطة Pointهي وحدة قياس حجم أشكال الحروف وتباعد الأسطر وهي وحدة صغيرة جدًا حيث أن البوصة الواحدة تعادل 72 نقطة. البيكا Picaهي وحدة قياس مطبعية تم تطويرها في عام 1785. تتألف البيكا من 12 نقطة Point، وتعد البيكا Pica وحدة قياس رئيسية للطباعة اليوم، لكن العديد من المصممين ما زالوا يفضلون استخدام الوحدات المنتشرة على نطاق واسع مثل البوصات والمليمترات. وتستخدم في التصميم لقياس جوانب تخطيط الصفحة وعرض النص والمسافات وما إلى ذلك. عادةً ما يتم تمثيل بيكا بالنقاط على هذا النحو كمثال: 1p2، أي 1 بيكا و2 نقطة وهو يعني وحدة قياس بيكا واحدة مضافًا إليها نقطتين. وبالتالي تساوي في هذه الحالة 14 نقطة، كيف ذلك؟ دعني أشرحها أكثر.
طريقة عرض وحدة البيكا في الإليستريتور بما أن البيكا تعادل 12 نقطة فإن 1p2 تعني 1 بيكا + 2 نقطة وباستبدال البيكا بـ 12 نقطة يصبح القياس هو 12 نقطة + 2 نقطة والمحصلة هي 14 نقطة، وهذه أمثلة أخرى لفهم المعادلة:
وفيما يلي جدول يبين لك وحدات القياس المختلفة ومعادلتها مع بقية الوحدات. جدول يتضمن وحدات القياس المختلفة والمعادلة بينها. البكسل Pixelهي وحدة التصميم القياسية والتي تستخدم للتصميم من أجل العرض على الشاشات فقط مثل تصاميم الويب، أي لتصاميم الرسومات والصور النقطية، ووحدة البكسل مكونة من مربع بطول وعرض حجمه بكسل واحد. وهي لا تستخدم للقياس على الورق لأن وحدات القياس على الورق تختلف عن الشاشات كما تعتمد وحدة القياس هذه على ارتباطها بالنسبة لوحدات القياس الأخرى مثل البوصة والسنتيمتر.
مثال على صورة نقطية بحجم 16×16 بكسل حيث تظهر وحدة البكسل الواحدة في التكبير. ضبط قياسات التصميم والدقةتختلف قياسات التصميم بحسب الغرض من التصميم، في حال كان التصميم من أجل الويب وهو ما يعرض على الشاشات، يجب عندها وضع القياس المناسب لحجم شاشة الهاتف، وإن كان التصميم من أجل قائمة الأطعمة لأحد المطاعم فسيكون علينا استخدام وحدات القياس المناسبة مع حجم المساحة المطلوبة للتصميم. أهم ما في تحديد قياس التصميم هو تحديد دقة التفاصيل للتصميم ولهذه الدقة أنواع منها: ppiيعتمد هذا النوع على نسبة البكسل إلى وحدات القياس الأخرى كالبوصة ويرمز لها ppi أي Pixel per Inch بكسل في البوصة، هي الأكثر استخدامًا ولكن قد نستعمل بكسل مقابل السنتيمتر في حالات أخرى. نستخدم عادة دقة 72ppi للتصاميم العاملة على الشاشات مثل تصاميم الويب ودقة 300ppi للتصاميم الطباعية، فما الفرق بين دقة 72 المنخفضة ودقة 300 العالية في التصميم؟ يظهر هنا الفرق في عدد البكسل ضمن البوصة وهو الفرق بين الدقة العالية والمنخفضة. وفي الصورة التالية مثال واضح على الفرق بين الدقتين في صورة واحدة. هذه صورة توضح الفرق بين الدقتين، حيث أن التصميم على اليمين بدقة 72 فقط بينما التصميم على اليسار بدقة 300 وهو يعني وجود 72 بكسل ضمن البوصة الواحدة أي عدد 72 مربع بكسل صغير ضمن مسافة بوصة واحدة، والدقة العالية تعني تواجد 300 بكسل ضمن البوصة الواحدة. من الصعب إظهار هذا الفرق إلا إن قمت بتصميم الصورتين بحجم متطابق ضمن وحدة القياس البوصة أو السنتيمتر نفسه مع الاختلاف في عدد البكسلات ضمن كل منها ومن ثم نعمل على تكبير الصورتين لاكتشاف الفارق، لذلك لن تظهر هذه الفروقات بسهولة عادة على الشاشات وسيشعر المراقب بأن الدقة هي ذاتها لكلا الصورتين طالما لم نكبّر مشهد العرض. dpiهذا النوع من الدقة يستخدم لقياس دقة الطباعة للطابعات بأنواعها وتعني مقدار النقاط ضمن البوصة الواحدة Dot per Inch وكلما كانت الدقة أكبر وأعلى حصلنا على صور أو رسومات مطبوعة أفضل وكلما كانت أقل ظهرت التشوهات في الطباعة وبتفاصيل أقل. وتختلف القيمة العظمى لهذه الدقة من طابعة لأخرى، وهو ما يؤثر على سعر الطابعة بحيث يرتفع سعرها كلما كانت دقة طباعتها أعلى. وعادة تعمل أغلب الطابعات الليزرية على الطباعة بدقة 600dpi، بينما تبلغ دقة أجهزة فصل الألوان 1200dpi أو أعلى في الطابعات الاحترافية والمراكز الطباعية، وتعتمد الطابعات نفّاثة الحبر على نفث رشّات صغيرة جدًا من الحبر على شكل رذاذ، أي أنها ليست نقاطًا حقيقية، فلا تتجاوز دقة طباعتها 300dpi إلى 720dpi. قياسات التصاميمتختلف القياسات للتصميم من حيث حجم مساحة العمل والدقة المستخدمة في التصميم بحسب الهدف من التصميم، ولكل نوع من التصاميم قياسات معروفة ومتبعة عند المصممين سنتعرّف على أشهرها. قياسات المطبوعاتيتضمن الجدول التالي أكثر المطبوعات شيوعًا والتي تصمم لمختلف الأغراض التجارية والإعلانية: قياسات الشاشاتيتضمن الجدول التالي أهم القياسات المستخدمة لشاشات الحواسيب والهواتف المحمولة والأجهزة اللوحية وشاشات التلفاز. النسب القياسية (3:4 - 16:9- 4:6) ونحوهاتصف نسبة العرض إلى الارتفاع (النسبة القياسية) بالنسبة إلى أي صورة العلاقة التناسبية بين عرض الصورة وارتفاعها. يمكنك العثور على النسب القياسية التي يشيع استخدامها في التصوير الفوتوغرافي والأفلام في العديد من الأدوات من حولك مثل شاشة التلفاز أو الحاسوب أو الهاتف المحمول. ما سبب أهمية النسبة القياسية؟من أهم الأسباب هو تصميم صورة صحيحة لا تتشوه بتغير أحد أبعادها أو قص أجزاء منها عند استخدامها، فإذا قمت بتصميم صورة لشاشة تلفاز حديثة عريضة ثم اكتشفت أن الصورة ستعرض على شاشة تلفاز قديمة غير عريضة فإن الصورة ستظهر إما مضغوطة عرضيًّا أو مقطوعة من الجانبين.
الفروقات بين النسب المختلفة – الصورة بواسطة WikimediaImages من موقع Pixabay سنستعرض تاليًا أمثلة عن صور مختلفة بالنسب القياسية الأشهر. 1:1وهي تعني أن الإطار الخارجي للصورة أو التصميم مربع الشكل، وهذه النسبة تستخدم كثيرًا في الملفات التعريفية على فيس بوك وتويتر وإنستجرام وغيرها.
صورة الملف التعريفي للفيس بوك مربعة الشكل بنسبة قياسية 1:1 3:4وتستخدم في معظم كاميرات التصوير الفوتوغرافي التقليدية والحالية كما أنها المقياس الأساسي لمعظم أجهزة التلفاز قبل ظهور الشاشة المسطحة ذات النسب المختلفة. مشهد من فيلم بياض الثلج والأقزام السبعة معروض بنسبة 3:4 9:16تستخدم هذه النسبة في شريحة واسعة من الهواتف المحمولة وفي غالبية شاشات التلفاز الحديثة المسطحة. مشهد من فيلم The searchers بنسبة 16:9 2.35:1وتستخدم بشكل رئيسي في صالات السينما حيث تصوّر الأفلام الحديثة وفقًا لهذه النسبة والتي تعرض إطارًا عريضًا لمشاهد الفيلم لمشاهدة تفاصيل أكثر. صورة من فيلم ضمن لعبة Fallout 3 بنسبة 2.35:1 خاتمةمن المهم معرفة القياسات والنسب القياسية وتوخي الحذر أثناء تحديد الدقّة قبيل البدء بالعمل على أي مشروع تصميمي مهما كان نوعه. هذه المعلومات ليس مجرد ثقافة عامة يطّلع عليها المصمم، بل هي معلومات أساسية ينبغي على المصمم معرفتها حتى لا يقع في حيرة أو في ارتباك عند التحضير للعمل على مشروع تصميم ما، فبمجرد أن يطلب منه العميل أن يصمم منشورًا إعلانيًا، يحضّر المصمم مستند المشروع معد بناءً على معلوماته المسبقة عن قياسات المنشورات الإعلانية ودقة التصميم المطلوبة ونموذج الألوان الصحيح، ثم يبدأ التصميم بكل ثقة دون ارتباك حول صحة ودقة تفاصيل الإعدادات لبدء المشروع. |
51,575 | محددات أصناف التخزين (Storage class specifiers) وأمثلة على استخدامها في Cpp |
محدّدات أصناف التخزين هي كلمات مفتاحية يمكن استخدامها في التصريحات، ولا تؤثر على نوع التصريح لكنها تعدّل الطريقة التي تُخزّن بها الكيانات. externمحدّدُ صنف التخزين extern يستطيع التصريحَ بإحدى الطرق الثلاث التالية، وذلك وفقًا للسياق، فمثلًا:
يمكن أيضًا التصريح عن الدالّة على أنها extern، لكنّ هذا ليس له أيّ تأثير وإنّما يُستخدم في العادةً كتلميح للقارئ بأنّ الدالّة المُصرَّح عنها هنا ستعُرَّف في وحدة ترجمة أخرى. ففي المثال التالي، يكون ()void f تصريحًا لاحقًا يعني أن f ستُعرَّف في وحدة الترجمة هذه، أما ()extern void g ليس تصريحًا لاحقًا، مما يعني أن g تُعرَّف في وحدة ترجمة أخرى، انظر: void f(); extern void g();في الشيفرة أعلاه، في حال التصريح عن f مع extern والتصريح عن g بدون extern، لن يؤثر ذلك على صحة أو دلالات البرنامج، ولكن من المحتمل أن يربك القارئ. registerالإصدار < C++ 17 ++> register هو محدّد صنف تخزين يخبر االمُصرِّف أنّ المتغيّر سيُستخدَم بكثرة، وتأتي الكلمة "register" من حقيقة أن المُصرِّف قد يختار تخزين هذا المتغيّر في سجل وحدة المعالجة المركزية (CPU register) لتسريع الوصول إليه. وقد أُهمِلت بدءًا من الإصدار C++ 11. register int i = 0; while (i < 100) { f(i); int g = i * i; i += h(i, g); }يُمكن تعريف كلٍّ من المتغيّرات المحلية ومُعامِلات الدوالّ بالكلمة المفتاحية register، ولا تضع C++ قيودًا على ما يمكن فعله بالمتغيّرات المعرّفة بـ register، على عكس لغة C. فكثلًا، يجوز أخذ عنوان متغيّر مصرّح عنه بـ register، لكنّ هذا قد يمنع المُصرِّف من تخزين مثل هذا المتغيّر في السجل (register). الإصدار ≥ C++ 17 الكلمة المفتاحية register غير مستخدمة ومحفوظة، ولا ينبغي استخدامها. staticلدى محدّد التخزين static ثلاث معانٍ مختلفة.
لاحظ أنّه إن كان العضو ساكنًا، ستَنطبق النقطتان 2 و 3 في نفس الوقت، إذ تضع الكلمة المفتاحية static عضو الصنف في عضو بيانات ساكن (static data member)، كما تجعله أيضًا في متغيّر ذي مدة تخزين ساكنة (static storage duration). autoالإصدار ≤ C++ 03 يصرّح هذا المحدّد بأنّ المتغيّر لديه مدة تخزين آلية (automatic storage duration)، وهو غير ضروري نظرًا لأنّ مدة التخزين التلقائي هي الإعداد الافتراضي في نطاق الكتلة، كما لا يُسمح باستخدام المحدّد auto في نطاق فضاء الاسم. void f() { auto int x; auto y; auto int z;في المثال السابق، auto int x تكافئ int x، ولا تجوز auto y في ++C لكنها جائزة في C89، كذلك لا تجوز auto int z، إذ لا يمكن أن تكون متغيرات نطاق فضاء الاسم آلية. تغيّر معنى auto في الإصدار C++ 11 بشكل كامل، ولم تعد محدّدًا للتخزين، وإنّما صارت تُستخدم في استنتاج الأنواع. mutablemutable هو محدّدٌ يمكن تطبيقه على تصريح عضو بيانات من صنف غير ساكن (non-static) وغير مرجعي (non-reference)، والعضو القابل للتغيير في صنفٍ لا يكون غيرَ ثابتٍ حتى لو كان الكائن ثابتًا. class C { int x; mutable int times_accessed; public: C(): x(0), times_accessed(0) {} int get_x() const { ++times_accessed; // لا بأس: يمكن للدوال التابعة الثابتة أن تعدّل أعضاء البيانات غير الثابتة return x; } void set_x(int x) { ++times_accessed; this -> x = x; } };الإصدار ≥ C++ 11 أضيف معنى ثانٍ للكلمة المفتاحية mutable في C++ 11، فعندما تتبع قائمة المُعاملات الخاصة بتعبير لامدا، فإنها تقمع المؤهّل الثباتي const الضمني الموجود في مُعامل استدعاء لامدا (lambda's function call operator). ولذلك يمكن لتعابير لامدا القابلة للتغيير (mutable) أنّ تعدّل قيم الكيانات التي حصلت عليها عن طريق النسخ. std::vector < int > my_iota(int start, int count) { std::vector < int > result(count); std::generate(result.begin(), result.end(), [start]() mutable { return start++; }); return result; }لاحظ أنّ mutable لا تُعدُّ محدّدَ صنف تخزين إذا استخدِمَت بهذه الطريقة لتشكيل تعابير لامدا تقبل للتغيير (أي mutable). هذا الدرس جزء من سلسلة دروس عن C++. ترجمة -بتصرّف- للفصل Chapter 133: Storage class specifiers من كتاب C++ Notes for Professionals |
51,553 | شاهد: يوم "تاريخي" لرحلات الفضاء الأوروبية مع "سبايس إكس" | أول أوروبي يسافر إلى محطة الفضاء الدولية داخل كبسولة، في إنجاز جديد لإيلون ماسك مؤسس شركة "سبايس إكس"، فيما تمكن المهتمون من متابعة الرحلة عبر تصوير مباشر من داخل المركبة. |
51,539 | بدء استخدام ترادوس (Trados) |
إذا كنت تتابع سلسلة مقالات ترادوس منذ أول مقالة، فمن المفترض أنه أصبح لديك الآن برنامج ترادوس-سواء التجربة المجانية أو النسخة المدفوعة كما أنك قد أصبحت على دراية بالأقسام الرئيسية في البرنامج وأنك مستعد الآن للبدء في استخدام البرنامج والتمتع بمزاياه المختلفة. بادئ ذي بدء، هناك طريقين لتبدأ فيهما مع ترادوس، فإما أن تبدأ مباشرة في إنشاء المشاريع وفي تلك الحالة ستكون أول ذاكرة ترجمة (Translation Memory) لديك هي تلك التي ستنشئها مع أول مشروع، وبالتالي ستستفيد منها فقط إذا تكررت نفس الكلمات والعبارات بنفس المشروع كما إنك ستستفيد منها في الملفات الأخرى بنفس المشروع -إن كان يحتوي على عدة ملفات- وأخيرًا ستستفيد منها في المشاريع اللاحقة أيضًا، وهذا الطريق هو الأنسب إذا كنت مترجمًا مبتدئًا. أما إذا كنت مترجمًا متمرسًا لديك عشرات الملفات المترجمة بالفعل والتي ترغب في الاستفادة منها في تغذية ذاكرات الترجمة في البرنامج، فالطريق الثاني هو الأنسب لك، ومن حسن الحظ أن هناك طريقتين للاستفادة من الملفات المترجمة لديك، سأشرحهما تباعًا. طريقتين لتغذية ذاكرات الترجمةملحوظة: إذا لم يكن لديك ملفات مترجمة ولكنك تريد تعلم هذه المهارة، فيمكنك تحميل قرار الأمم المتحدة بالعربية والإنجليزية، والسير على الخطوات التي سأشرحها تاليًا: الطريقة الأولى: المحاذاة التلقائية
بالأسفل ستختار لغة المصدر (Source Language) وهي لغة الملف الذي ترغب في ترجمته -في الصورة السابقة اخترت اللغة الإنجليزية-وبعده (Target Language) وهي اللغة التي ترغب في ترجمة الملف إليها-اخترت اللغة العربية-، ثم تضغط إنهاء (Finish) وتنتظر حتى يكتمل الإنشاء ثم تضغط إغلاق (Close). بذلك سيكون لديك ذاكرة ترجمة جديدة وفارغة وستجد أنها قد أُضيفت تلقائيًا في نافذة المحاذاة التي لا تزال مفتوحة ويبقى عليك فقط إضافة الملف المصدر (Source File) والملف الهدف (Target File) ثم تضغط إنهاء (Finish). *سيمر بعض الوقت ريثما يحاذي البرنامج بين الملفين والمقصود بالمحاذاة هنا، هو تقسيم الملفين إلى عدة خلايا ومن ثم وضع كل خلية أمام ترجمتها، للأسف هذا لن يكون دقيقًا 100% بل ستضطر إلى التعديل عليه بنفسك، كما سنشرح تاليًا، وهذا من عيوب تلك الطريقة في المحاذاة. بعد الانتهاء سيفتح البرنامج تلقائيًا نتيجة المحاذاة ما عليك هو مراجعة تلك المحاذاة والتعديل عليها كما يلي: ستجد أن هناك خطوط توصل كل خلية من خلايا الملف الأصلي بخلية من خلايا الملف الهدف، والأمر لن يخرج عن احتمالين: الأول: أن تكون المحاذاة صحيحة والخليتين الأصلية والترجمة أمام بعضهما البعض وقتها ستضغط على اعتماد (Confirm) من قسم (Confirm) بالأعلى بقسم الصفحة الرئيسية (Home)، أو (Ctrl+Shift+F) أما إذا كانت جميع الخلايا صحيحة -وهذا نادرًا ما يحدث- فعليك الضغط على (Confirm All) أو (Ctrl+Alt+F). الثاني: أن تكون المحاذاة غير صحيحة وقتها ستضطر لتعديلها يدويًا بأن تضغط على الرقم الظاهر أمام كل خلية -سواء في النص الأصلي والمترجم- وتستمر في الضغط حتى تصل إلى الخلية الصحيحة في النص المقابل ثم تفلت الفأرة، وقتها سيظهر خط أخضر غير متقطع يربط بين الخليتين، في بعض الحالات الأخرى ستجد أنه عليك نقل بعض الكلمات من خلية لأخرى عن طريق القطع واللصق حتى يتقابل المعنيين في الخليتين. بعد إجراءك لعدة تعديلات يمكنك الضغط على إعادة المحاذاة (Realign) بقسم المهمات (Tasks) بالأعلى بقسم الصفحة الرئيسية (Home) حتى يعيد المحاذاة مجددًا بعد التعديلات التي أجريتها. بعد الانتهاء من المحاذاة واعتمادك لها، تأتي الخطوة التالية، ألا وهي تصدير نتائج المحاذاة لذاكرة الترجمة وذلك عن طريق حفظ نتائج المحاذاة أولًا من خلال حفظ (Save) بقسم المهمات (Tasks) بالأعلى بقسم الصفحة الرئيسية (Home)، يمكنك حفظ نتائج المحاذاة بصيغتين الأولى (sdlalign) وهذا في حالة رغبتك في مراجعة المحاذاة مرة أخرى في قسم المحاذاة؛ أما إذا كنت قد انتهيت من التعديل على المحاذاة واعتمدتها فالأنسب أن تختار صيغة (sdlxliff). بعد ذلك ستفتح ذاكرة الترجمة التي أنشأتها من قسم ذاكرات الترجمة (Translation Memories) على اليسار، ثم تضغط على استيراد (Import) بقسم المهمات (Tasks) بالأعلى بقسم الصفحة الرئيسية (Home)، وتضيف الملف الذي حفظته للتو من خلال (Add Files) في النافذة التي ستظهر، ثم اضغط إنهاء (Finish).
تلك كانت الطريقة الأولى التي تمكنك من الاستفادة من الملفات المترجمة خارج برنامج ترادوس وإليك الطريقة الثانية المحاذاة اليدوية. الطريقة الثانية: المحاذاة اليدويةوهذه الطريقة هي ببساطة أنك ستسير على خطوات إنشاء المشروع أو ترجمة ملف واحد وإنشاء ذاكرة الترجمة الخاصة به. ثم بدلًا من كتابة ترجمة الملف ستقوم ببساطة بنسخ ولصق ترجمة كل خلية من ترجمة الملف المتوافرة لديك بالفعل. ولأن هذه الطريقة تتضمن معرفة كيفية إنشاء المشروع فعلينا الانتقال لهذه الخطو أولًا. كيفية ترجمة ملف واحد؟ وما الفرق بينه وبين إنشاء المشروع؟الفرق الجوهري بين ترجمة ملف واحد (Translate Single File) وترجمة مشروع هو أنه يمكن في المشروع إضافة العديد من الملفات سواء أثناء إنشائه أو لاحقًا، أما الملف المفرد فهو يفترض أنك ترغب في ترجمة ملف واحد فقط فإذا رغبت بعد ذلك في إضافة ملفات أخرى فعليك إنشاء مشروع وإدخال هذا الملف كجزء منه. لترجمة ملف واحد فيمكنك ببساطة-حتى ولو لم يكن ترادوس مفتوحًا، النقر بالزر الأيمن للفأرة على الملف الذي تريد ترجمته وتختار (Translate in SDL Trados Studio) ثم تختار إما استخدام ذاكرة ترجمة موجودة بالفعل أو إنشاء واحدة جديدة بنفس الخطوات المذكورة أعلاه، وبعد الانتهاء سيُفتح لك الملف في المحرر (Editor) لتشرع في ترجمته. ملحوظة: كثيرًا ما ألجأ لتلك الطريقة السريعة في حالة رغبتي في معرفة ما إذا كان ترادوس قادرًا على دعم ملف ما أم لا، خاصةً في ملفات PDF التي تكون ممسوحة ضوئيًا من ملفات ورقية، حيث يحول ترادوس بعض تلك الملفات ببراعة إلى ملف قابل للترجمة والبعض الأخر لا. الخاتمةبذلك نكون قد تعلمنا طريقتين لتغذية ذاكرات الترجمة ببرنامج ترادوس من الملفات المتوافرة لدينا بالفعل، كما تعلمنا كيفية إنشاء ذاكرة ترجمة وكيفية ترجمة ملف واحد، بقي لدينا تعلم كيفية إنشاء مشروع (Project) وكيفية إنشاء قاعدة المصطلحات (Term Base) هذا ما سنتعلمه -بالإضافة إلى العديد من الوظائف المفيدة الأخرى بالبرنامج- في المقالة القادمة. اقرأ أيضًا
|