عولمة الصفحات النموذجية (تحديث)

يعرض SPIP بتكوينه عناصر الواجهة (التواريخ واسماء الأزرار الخ) باللغة التي يختارها المستخدم.

إنشاء صفحات نموذجية متعددة اللغات

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

ويقدم SPIP السلاسل الأكثر استخداماً (مثل «خريطة الموقع» و«الرد على هذا المقال» الخ).

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

إضافة الى ذلك، يسهل استخدام سلاسل اللغة صيانة الصفحات النموذجية (عندما نقوم بتعديل سلسلة يتم عديل كل الصفحات التي تحتويها تلقائياً).

استخدام ملفات اللغات

إنشاء ملف لغة

مهما كانت البنية المطبقة على الموقع (قسم أساسي لكل لغة اما غير ذلك) يكفي إدخال «سلسلة لغة» هكذا <:سلسلة لغة:> فيقوم SPIP بجلب النص المترجم المناسب لهذه السلسلة في احد ملفات اللغات التي تأتي مع SPIP او في احد ملفات local_xx.php (حيث xx هو رمز اللغة) والتي نكون قد أنشأناها.

يتم استخدام رمز اللغة xx من معايير مقياس ISO. مثلاً يكون رمز اللغة العربية «ar».

يدعم SPIP أيضاً التنوعات المناطقية للغة الواحدة مثلاً «ar_sy» للعربية السورية.

على سبيل المثال، نريد عرض قسم موسيقى في موقعنا

<h4>موسيقى</h4> 

للاستفادة من تعدد اللغات نستبدل كلمة «موسيقى» بسلسلة لغة

<h4><:music:></h4> 

وحسب اللغة النشطة، سيتم عرض السلسلة <:music:>:
— بالعربية هكذا «موسيقى»
— بالإنكليزية هكذا «Music»
— باليابانية هكذا «音楽»
الخ

يجب إذاً إنشاء عدد من ملفات اللغات يعادل عدد اللغات المستخدمة في الموقع. في المثال السابق يتم إنشاء ملفات lang/local_ar.php وlang/local_en.php وlang/local_ja.php

بنية ملف لغة

يتم وضع ملف اللغة في مجلد lang وهو مبني على الشكل التالي:
تحتوي ملفات اللغات على التدجمات المختلفة المستخدمة في الموقع. لنها ملفات بتنسيق PHP ويحتوي كل منها على جدول يقابل كل متغير لغة النص المناسب لكل لغة.

تحذير:
لا يجب ان تحتوي أسماء ملفات اللغات على رمز «_» («underscore») الا اذا استخدم ليفصل بين اسم الملف ورمز اللغة التي يحتويها (ar، en ...). مثلاً يمكن إنشاء ملف «myfile_ar.php» وليس «my_file_ar.php».

وعلى سبيل المثال، تحتوي تلك الملفات

اللغة العربية (lang/my_file_ar.php):

  <?php
  $GLOBALS[$GLOBALS['idx_lang']] = array(
    'uploading' => 'تحميل آخر إصدار',
    'whatsnew' => 'جديد الموقع'
  );

اللغة الانكليزية (lang/my_file_en.php):

  <?php
  $GLOBALS[$GLOBALS['idx_lang']] = array(
    'uploading' => 'Upload the latest version',
    'whatsnew' => 'What\'s new'
  );

كتابة ملفات اللغات
— كل سطر يجب ان ينتهس بفاصلة لكنها ليست ضرورية في السطر الأخير
— في اللغات اللاتينية يجب تحييد الفاصلة العليا (') بوضع خط مائل معاكس (\) قبلها مثل ما يظهر المثال الانكليزي أعلاه
— يمكن عدم تحييد الفاصلة العليا اذا وضعنا الص ضمن علامتي اقتباس مفردة

ملفات اللغات الشخصية

يمكن إنشاء ملفات لغات شخصية إذا اردنا استخدام نصوص لا تأتي في ملفات اللغات الموزعة مع SPIP.
هذه الملفات تشبه ملفات public_xx.php التي تأتي مع SPIP ويتم وضعها في مجلد squelettes/lang (يتم إنشاءه لذلك) ويتم تسميتها local_xx.php حيث xx هو رمز اللغة.
— local_ar.php للغة العربية،
— local_en.php للانكليزية،
— ...

اما الجزء الذي يجب تغذيته في الملف فيتكون من عدة اسطر تحديد لمتغييرات اللغة على الشكل التالي:

    'code' => 'النص الذي سيعرض',

الملحقات وملفات اللغات

العديد من الوظائف تؤمنها الملحقات منها ملحقات نواة SPIP مثل الريشة او الإحصاءات ومنها ملحقات يثبتها المشرف على الموقع لإدخال وظائف محددة يحتاجها. كل تلك الملحاقات تأتي مع ملفات لغات، منها ما خو مترجم بالعديد من اللغات ومنها ما هو مترجم بلغات أقل.

للمزيد

للتعرف اكثر على سلاسل اللغات يمكن زيارة https://programmer.spip.net/-Linguistic-elements-

لمحة تاريخية:

قدمت النسخات القديمة من هذا المقال حلول مختلفة عن ملفات اللغات لجعل الصفحات النموذجية متعددة اللغات. تجدر الإشارة هنا ان هذه الحلول لم تعد نافعة:
- صفحة نموذجية لكل لغة (تتطلب ملحق "squelettes_par_rubrique"): وهو حل معقد ويتطلب الكثير من الصيانة خاصة انه لا ينفع للاستخدام البسيط.
- الكتل متعددة اللغات: هذه الكتل التي تحدد بعلامة <multi> مفيدة جداً في التحرير كعرض عنوان مقال بعدة لغات مثلاً او عرض كلام صور بلغات مختلفة ولكنها لا تنفع في التصميم متعدد اللغات.

مؤلف George نُشر في:

الترجمات: عربي, English, français, Português do Brasil