x

الفصول الرئيسية

  1. LimeSurvey Cloud مقابل LimeSurvey CE
  2. دليل البدء السريع - LimeSurvey 3.0+
  3. التثبيت - LimeSurvey CE
  4. كيفية تصميم استبيان جيد (دليل)
  5. البدء
  6. إدارة LimeSurvey
  7. الاستبيانات - مقدمة
  8. إعدادات الاستبيان
  9. قائمة المسح
  10. هيكل المسح
  11. الأسئلة - مقدمة
  12. مجموعات الأسئلة - مقدمة
  13. المسوحات - الإدارة
  14. خيارات شريط أدوات الاستبيان
  15. استبيان متعدد اللغات
  16. محرك ExpressionScript - دليل البدء السريع
  17. غير مصنفة والميزات المتقدمة
  18. الأسئلة الشائعة العامة
  19. استكشاف الأخطاء وإصلاحها
  20. حلول بديلة
  21. الترخيص
  22. سجل تغييرات الإصدارات
  23. البرامج المساعدة
 Actions

ترجمة مخصصة

From LimeSurvey Manual

ربما تُرجمت هذه الصفحة آليًا وقد تحتوي على أخطاء. عرض الأصل الإنجليزي · تحسين هذه الترجمة
This page is a translated version of the page Custom translation and the translation is 100% complete.

مقدمة

منذ الإصدار LimeSurvey 5.4.0 يمكنك الحصول على ترجمتك الخاصة لجميع النصوص في جميع اللغات المضمّنة، وذلك عبر الوصول المباشر إلى قاعدة البيانات.

يمكن استخدام هذا النظام إذا كانت الترجمة الحالية غير متوافقة مع احتياجات عملك.

يُفضّل قصره على حالات محددة، لأن تعديلات النصوص في صميم LimeSurvey ستتطلب مرة أخرى تعديل قاعدة البيانات.

بالإضافة إلى ذلك، يمكنك استخدام هذه الطريقة لترجمة النصوص الخاصة بتصميم الاستبيان.

كيف تعمل ترجمات قاعدة البيانات

بالنسبة لترجمات قاعدة البيانات، يستخدم LimeSurvey طريقة مستوحاة من CDbMessageSource من إطار عمل Yii.

  1. ابحث عن النص في جدول SourceMessage ‏lime_source_message->message، واحصل على المعرّف: lime_source_message->id
  2. إذا كان موجوداً، فابحث عن الترجمة المرتبطة في جدول Message ‏lime_message->translation للغة الحالية lime_message->language بالمعرّف الحالي lime_message->id

ينشئ LimeSurvey صفيف الترجمات من ملف po (راجع ترجمة LimeSurvey لمعرفة كيفية تحديث هذا الملف)، ثم يدمجه بعد ذلك مع جميع الترجمات الموجودة في قاعدة البيانات.

بعد ذلك تُعاد ترجمات قاعدة البيانات دائماً إذا كانت موجودة.

مثال على زر "أرسل" بالإنجليزية والفرنسية

تريد عرض _Validate_ بدلاً من _Submit_ على زر الإرسال في جميع استبياناتك (مع تصميم محدد). إذا قمت فقط بتحديث التصميم واستبدال gT('Submit') بـ gT('Validate') فسيظهر _Validate_ دائماً في جميع اللغات.

لجميع الاستبيانات مع كل القوالب

  1. أنشئ رسالة المصدر INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. تحقق من المعرّف (إذا كانت الأولى فالمعرّف هو 1) واستخدمه في التعليمة التالية
  3. أنشئ الترجمة المرتبطة: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

لا تستبدل النص بسلسلة فارغة، وإلا ستعود الترجمة إلى الجملة الإنجليزية الأصلية. يجب أن تضع مسافة واحدة على الأقل.

استخدام تصميمك الخاص (الحل الموصى به)

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

  1. في محرر القالب اختر جزء التنقل
  2. ابحث عن Template:GT("Submit") (في navigator.twig)
  3. استبدله بـ Template:GT("Validate")
  4. أنشئ رسالة المصدر INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. تحقق من المعرّف (إذا كانت الأولى فالمعرّف هو 1) واستخدمه في التعليمة التالية
  6. أنشئ الترجمة المرتبطة: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

يرجى الملاحظة

يجب أن يكون الحقل category في lime_source_message سلسلة فارغة ('') وليس NULL. إذا لم تتطابق الفئة تماماً، فلن تعثر الدالة gT() على رسالة المصدر ولن تُطبَّق ترجمتك. هذا مهم بشكل خاص عند إضافة ترجمات للنصوص الخاصة بالتصميم.