Jump to content

إضافة: Babel

From mediawiki.org
This page is a translated version of the page Extension:Babel and the translation is 100% complete.
الدليل المرجعي لامتدادات ميدياويكي
Babel
حالة الإصدار مستقر
تنفيذ دوال المحلل اللغوي
بيان تضيف parser function لإبلاغ المستخدمين الآخرين عن مستوى اللغة وتصنيف المستخدمين بنفس المستويات واللغات.
المؤلف/المؤلفون Robert Leverington (RobertLنقاش)
آخر إصدار تحديثات مستمرة
سياسة التوافق النسخة الرئيسية تحافظ على التوافق مع الإصدارات السابقة.
MediaWiki >= 1.41.0
تغييرات قاعدة البيانات نعم
Composer mediawiki/babel
جداول babel
ترخيص رخصة جنو العمومية 2.0 أو ما بعدها
التنزيل مدرج في حزمة تمديدات اللغات
مثال Translatewiki.net
  • $wgBabelMainCategory
  • $wgBabelAutoCreate
  • $wgBabelDefaultLevel
  • $wgBabelCategorizeNamespaces
  • $wgBabelUseUserLanguage
  • $wgBabelCentralDb
  • $wgBabelCategoryNames
  • $wgBabelUseCommunityConfiguration
  • $wgBabelAllowOverride
تنزيلات ربع سنوية 71 (Ranked 72nd)
استخدام مواقع الويكي العمومية 2,416 (Ranked 192nd)
ترجم الامتداد Babel لو كان متوفرا على translatewiki.net
المسائل المهام المفتوحة · الإبلاغ عن عطل تقني

إضافة Babel تضيف parser function لاستبدال النظام القديم لـ Babel الذي اعتمد تمامًا على القوالب. إذا تم تحديد معلمة لغة غير معترف بها، فسيتم التحقق مما إذا كان هناك قالب موجود باسمه وتضمينه.

في مشاريع ويكيميديا، اسم Babel (بالإشارة إلى برج بابل) يشير إلى النصوص على صفحات المستخدمين التي تساعد على التواصل المتعدد اللغات بجعل الاتصال بشخص يتحدث لغة معينة أسهل. الفكرة نشأت على ويكيميديا كومنز وتم تنفيذها أيضًا على العديد من الويكيات الأخرى.

التثبيت

  • نزّل الملف/الملفات وضعها في دليل يحمل اسم ‎Babel داخل مجلد ‎extensions/‎ لديك.
    يجب على مطوري البرمجيات والمساهمين بالكود البرمجي تثبيت الامتداد من غت بدلا من ذلك، مستخدمين:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel
  • أضف الكود التالي في الجزء الأسفل من ملف LocalSettings.php :
    wfLoadExtension( 'Babel' );
    
  • شغل نص التحديث البرمجي الذي سوف ينشئ تلقائيا جداول قاعدة البيانات الضرورية التي يحتاج إليها الامتداد.
  • قم بالتكوين كما هو مطلوب.
  • Yes تم التنفيذ – اذهب إلى Special:Version على موقع الويكي لديك كي تتحقق من أن الامتداد قد ثبت بنجاح.
  • تقع CSS في الملف resources/ext.babel.css. يمكنك تغيير النمط كما ترغب عن طريق تجاوزها في الصفحة MediaWiki:Common.css.
  • إذا تم العثور على الإضافة CLDR ، يتم استخدام أسماء اللغات منها (في حالة عدم توفر الترجمات)، وإلا يتم استخدام أسماء اللغات المدمجة في ميدياويكي والأسماء الافتراضية بالإنجليزية.

الاستخدام

الصيغة الخاصة بدالة المحلل #babel parser function هي كالتالي:

{{#babel: babelcode1 | babelcode2 | ... }}

أضف أحد الرموز التالية لكل لغة تتحدثها أو تفهمها، مفصولة بـ |، حيث أن xx هو رمز اللغة في ميدياويكي language code، رمز ISO 639-1، أو رمز ISO 639-3 للغة. استخدام الرموز بشكل عام هو كما يلي:

xx-0
إذا كنت لا تفهم اللغة على الإطلاق.
xx-1
القدرة الأساسية — تكفي لفهم المواد المكتوبة أو الأسئلة البسيطة في هذه اللغة.
xx-2
القدرة المتوسطة — تكفي للتحرير أو المناقشات في هذه اللغة.
xx-3
مستوى متقدم — بالرغم من أنك تستطيع الكتابة بدون مشاكل في هذه اللغة، قد تحدث بعض الأخطاء الصغيرة.
xx-4
مستوى "قريب من الأصل" — على الرغم من أنها ليست لغتك الأم، إلا أن قدرتك تشبه تلك لدى الناطقين الأصليين.
xx-5
مهارة مهنية.
xx أو xx-N
الناطقون الأصليون الذين يستخدمون اللغة يومياً ولديهم فهم شامل لها، بما في ذلك التعابير العامية والتعبيرات الدالة.

لتضمين أي قالب آخر، قم ببساطة بإضافة اسم القالب، على سبيل المثال، أضف User CSS إذا أردت تضمين Template:User CSS. يمكن إضافة بادئة أو لاحقة إلى أسماء القوالب (مثل User في البداية) تبعاً للتكوين المحلي. يمكن استخدام هذا لتقييد التحديد وتقليل طول المعلمات؛ على سبيل المثال، CSS قد يتضمن Template:User CSS إذا تم تكوينه بهذا الشكل.

المعلمات

لإزالة العنوان والتذييل، استخدم plain=1 كالمعلمة الأولى، على سبيل المثال، {{#babel: plain=1 | babelcode1 | babelcode2 | ... }}. هذا يجعل من السهل استخدام Babel مع صناديق المستخدم الأخرى.

To hide categories, use the nocat=1 parameter as the first parameter, e.g., {{#babel: nocat=1 | babelcode1 | babelcode2 | ... }}.

يرجى ملاحظة أنه مسموح بواحد فقط من المعلمات المذكورة أعلاه. At the moment, it is not possible to use both parameters; for example, {{#babel: nocat=1 | plain=1 | babelcode1 | babelcode2 | ... }} will not work.

Categorization

If categorization is enabled, the extension creates categories using the Babel AutoCreate bot with the text specified in MediaWiki:babel-autocreate-text-levels and MediaWiki:babel-autocreate-text-main. With basic settings, the categories that the bot creates are not categorized, and to fix this, it is recommended to do the following:

  1. Create a template {{Babel category }} that will generate categories.
  2. Replacing text on MediaWiki:babel-autocreate-text-levels with
    {{Babel category|level=$1|language=$2|ISO=$3}}
    
  3. Replacing text on MediaWiki:babel-autocreate-text-main with
    {{Babel category|language=$1|ISO=$2}}
    

This will allow you to categorize categories automatically, and if something happens, you can simultaneously replace the categorization and text in all categories.

التكوين

معلمات التكوين

Babel لديه عدة معلمات تكوين يمكن تعديلها في LocalSettings.php .

$wgBabelLanguageCodesCdb
(string) مسار ملف قاعدة بيانات رمز اللغة، يجب أن يكون الافتراضي كافياً.
$wgBabelLanguageNamesCdb
(سلسلة) مسار ملف قاعدة بيانات اسم اللغة، يجب أن يكون الإعداد الافتراضي كافيًا.
$wgBabelCategoryNames
(array of string or boolean, indexed by the strings "1", "2", … "5", "N") حيث يكون كل إدخال اسمًا لفئة لمستوى المهارة المشار إليه بمؤشره، والعناصر المتغيرة المحتملة هي: %code% (رمز اللغة)، %wikiname% (اسم اللغة في لغة المحتوى في الويكي)، و %nativename% (اسم اللغة في لغتها). لتعطيل إضافة فئة لمستوى معين، ضع قيمة المتغير المقابل لها إلى false.
على سبيل المثال:
$wgBabelCategoryNames = [
	'0' => 'User %code%-0',
	'1' => 'User %code%-1',
	'2' => 'User %code%-2',
	'3' => 'User %code%-3',
	'4' => 'User %code%-4',
	'5' => 'User %code%-5',
	'N' => 'User %code%-N',
];
سيستخدم فئات مثل "Category:User en-0" و "Category:User fr-N". الافتراضي هو فقط "Category:Fr-N" وهكذا.
$wgBabelMainCategory
(string) اسم الفئة الرئيسية (غير المستوى) لكل لغة، حيث يتم إضافة جميع مستخدمي تلك اللغة إليها. قم بتعيينها إلى false لتعطيلها؛ الافتراضي هو الشكل "Category:Fr". تقبل نفس الشكل كـ $wgBabelCategoryNames أعلاه. على سبيل المثال:
$wgBabelMainCategory = 'User %code%';
$wgBabelDefaultLevel
(string) المستوى الافتراضي للقدرة لاستخدامه عندما لا يتم تحديده، يجب أن يكون مؤشرًا من $wgBabelCategoryNames، واحدًا من السلاسل "1"، "2"، ... "5"، "N". الافتراضي هو "N".
$wgBabelUseUserLanguage
(boolean) ما إذا كان استخدام لغة واجهة المستخدم لرسائل العنوان والتذييل. إذا كانت قيمة الخيار false (الافتراضي)، ستكون بلغة محتوى الصفحة. يتم ذلك لتجنب تجزئة ذاكرة التخزين المؤقت للمحلل.
$wgBabelCategorizeNamespaces
مصفوفة تحتوي على أسماء النطاقات الرقمية التي يجب إضافة التصنيف التلقائي إليها فقط. على سبيل المثال، إذا كان $wgBabelCategorizeNamespaces = [ NS_USER ];، فسيقوم Babel بإضافة التصنيفات فقط إلى الصفحات في نطاق المستخدم. الافتراضي هو قيمة فارغة (null)، مما يعني تصنيف جميع النطاقات.
$wgBabelCategoryOverride
ما إذا كان يُسمح بتجاوز فئات Babel على الويكي باستخدام MediaWiki:Babel-category-override
$wgBabelAutoCreate
ما إذا كان يتم إنشاء تصنيفات تلقائيًا.

رسائل النظام

يمكن أيضًا إجراء عدة تخصيصات باستخدام رسائل نطاق ميدياويكي.

MediaWiki:babel-template "Template:مستخدم $1"
صيغة أسماء القوالب عندما يتم تضمين واحدة منها.
MediaWiki:babel-portal ""
صيغة الهدف للرابط من رمز اللغة. قم بتعيين السلسلة الفارغة لعدم ربط رمز اللغة.
MediaWiki:Babel-autocreate-user "إنشاء بابل التلقائي"
اسم المستخدم الذي سيتم استخدامه للإنشاء التلقائي للفئات ذات الصلة ببابل
MediaWiki:babel-autocreate-text-levels "المستخدمون في هذا التصنيف مستوى مهارتهم $1 للغة $2."
النص المدرج في فئات Babel التي يتم إنشاؤها تلقائيًا لمستويات اللغة المختلفة. يجب تغيير هذا إذا أردت تصنيفها تلقائيًا في الفئة الرئيسية للغة المعنية ($wgBabelMainCategory).
MediaWiki:babel-autocreate-text-main "المستخدمون في هذا التصنيف لديهم معرفة باللغة $1."
النص المدرج في فئات Babel التي يتم إنشاؤها تلقائيًا للفئات غير المستوى. يجب تغيير هذا إذا أردت تصنيفها تلقائيًا في فئة أبوية لجميع اللغات.
MediaWiki:babel "معلومات بابل المستخدم"
عنوان صندوق Babel قم بتعيين - لعدم عرض عنوان.
MediaWiki:babel-url "Project:بابل"
اسم الصفحة حيث يمكن العثور على معلومات حول امتداد Babel. اضبط على - لعدم عرض أي رابط في الرأس.
MediaWiki:Babel-footer "المستخدمون حسب اللغة"
التذييل لصندوق Babel قم بتعيين - لعدم عرض تذييل.
MediaWiki:babel-footer-url " :Category:بابل - المستخدمون حسب اللغة"
الصفحة التي يتم الربط إليها في التذييل لصندوق Babel
MediaWiki:Babel-category-override "$1"
يتجاوز أي فئات Babel التي تم إنشاؤها تلقائيًا. المعلمات:
$1 = الفئة التي ستتم إنشاؤها عادةً.
$2 = رمز اللغة
$3 = مستوى Babel
لن يتم إنشاء أي فئات تم تجاوزها باستخدام هذه الطريقة تلقائيًا، لتقليل مخاطر التعدي أو التعديلات الخاطئة على تلك الصفحة.

API

meta=babel (bab)

(main | query | babel)

Get information about what languages the user knows

Specific parameter:
Other general parameters are available.
babuser

User to get information about

This parameter is required.
Type: user, by any of username, IP, Temporary user, IP range and interwiki name (e.g. "prefix>ExampleName")
Example:
Get the Babel information for user Example
api.php?action=query&meta=babel&babuser=Example [open in sandbox]