إضافة: Babel
Babel حالة الإصدار مستقر |
|
---|---|
تنفيذ | دوال المحلل اللغوي |
بيان | تضيف parser function لإبلاغ المستخدمين الآخرين عن مستوى اللغة وتصنيف المستخدمين بنفس المستويات واللغات. |
المؤلف/المؤلفون | Robert Leverington (RobertLنقاش) |
آخر إصدار | تحديثات مستمرة |
سياسة التوافق | النسخة الرئيسية تحافظ على التوافق مع الإصدارات السابقة. |
MediaWiki | >= 1.41.0 |
تغييرات قاعدة البيانات | نعم |
Composer | mediawiki/babel |
جداول | babel |
ترخيص | رخصة جنو العمومية 2.0 أو ما بعدها |
التنزيل | مدرج في حزمة تمديدات اللغات |
مثال | Translatewiki.net |
|
|
تنزيلات ربع سنوية | 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' );
- شغل نص التحديث البرمجي الذي سوف ينشئ تلقائيا جداول قاعدة البيانات الضرورية التي يحتاج إليها الامتداد.
- قم بالتكوين كما هو مطلوب.
- تم التنفيذ – اذهب إلى 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:
- Create a template {{Babel category }} that will generate categories.
- Replacing text on MediaWiki:babel-autocreate-text-levels with
{{Babel category|level=$1|language=$2|ISO=$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)
- This module requires read rights.
- Source: Babel
- License: GPL-2.0-or-later
Get information about what languages the user knows
- 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")
- Get the Babel information for user Example
- api.php?action=query&meta=babel&babuser=Example [open in sandbox]
هذا الامتداد يستخدم على واحد من مشاريع ويكيميديا أو أكثر من واحد. يعني هذا الأمر أن الامتداد مستقر ويعمل/تعمل جيدا بما فيه الكفاية ليستخدم/لتستخدم في مواقع تتمتع بمستوى زيارات مرتفع مثل هذه. ابحث عن اسم هذا الامتداد في ملفات الضبط CommonSettings.php وكذلك InitialiseSettings.php كي ترى أين تنصب. توجد قائمة كاملة بالامتدادات المنصبة على موقع ويكي بعينه على صفحة Special:Version الخاصة بموقع الويكي. |
هذا الامتداد مشمول في الحزم أو مزارع الويكي التالية أو كليهما: هذه ليست قائمة كاملة. بعض مزارع الويكي أو الاستضافة أو حزم البرمجيات قد تحتوي على هذا الامتداد حتى لو كانت غير مدرجة هنا. راجع دائمًا مزرعة الويكي أو المستضيف أو حزمة البرمجيات للتأكد من ذلك. |
- Stable extensions/ar
- Parser function extensions/ar
- Extensions supporting Composer/ar
- GPL licensed extensions/ar
- Extensions in Wikimedia version control/ar
- CommunityConfigurationProvider initList extensions/ar
- LinksUpdate extensions/ar
- LoadExtensionSchemaUpdates extensions/ar
- ParserFirstCallInit extensions/ar
- UserGetReservedNames extensions/ar
- All extensions/ar
- Extensions used on Wikimedia/ar
- Extensions included in Miraheze/ar
- Extensions included in ShoutWiki/ar
- Extensions included in WikiForge/ar
- Localisation extensions/ar