انتقل إلى المحتوى

وحدة:Arguments with aliases/شرح

من ويكي مصدر، المكتبة الحرة

هذه الوحدة مهمة في تعريب وسائط الوحدات المعتمدة على وحدة:Arguments، فإذا استودرت وحدة من الإنجليزية تعتمد على وحدة:Arguments فاتبع هذه الخطوات في التعريب:

  1. اجعل الاستدعاء إلى وحدة وحدة:Arguments with aliases بدلا من وحدة:Arguments.
    غالبا ما تستدعى الوحدة بنص يشبه:
    getArgs = require('Module:Arguments').getArgs
    
    عدله إلى:
    getArgs = require('Module:Arguments with aliases').getArgs
    
  2. أنشئ جدولا للوسائط يكون مفتاح الجدول هو الوسيط الذي تتعامل معه الدالة(يمكن معرفة تفاصيل الوسائط من توثيق القالب الذي يستند إلى الوحدة)، وقيمته هو نص أو جدول يحوي البدائل العربية:
    aliases = {
    		child = {'طفل','فرع'},
    		name = {'اسم','اسم القالب','الاسم' },
    		style = 'نمط'
    		}
    
    إذا كان للوحدة وحدة فرعية للتخصيصات فمن الأفضل وضع الجدول فيها وإلا فإنه يوضع في الوحدة الأصلية إما في بدايتها أو في الوظيفة التي تستدعي الوسائط.
  3. في الوظيفة التي تستدعي دالة أضف جدول الوسائط إلى جدول الوسيط الثاني بالمفتاح aliases:
    args = getArgs(frame, {aliases = aliases})
    
    ويمكن الإدخال جدول الوسائط مباشرة في الدالة خاصة إذا كانت قليلة:
    args = getArgs(frame, {aliases ={
    		child = {'طفل','فرع'},
    		name = {'اسم','اسم القالب','الاسم' },
    		style = 'نمط'
    		}})
    
  4. إذا كانت هناك وسائط مرقمة فيمكن إدخالها في جدول منفصل تحت مفتاح numbered_aliases ويوضع مكان الرقم علامة شباك # في المقتاح وفي البدائل مثلا:
    numbered_aliases = {
    		['list#'] = 'قائمة#',
    		['list#style'] = 'نمط_قائمة#'
    	}
    
    ثم تدرج في سطر الاستدعاء هكذا:
    args = getArgs(frame, {aliases = aliases, numbered_aliases = numbered_aliases})
    
الأولوية في القيمة عند وجود أكثر من وسيط مطابق

تحمل الوحدة قيمة أول وسيط موجود في جدول الوسائط العادية ثم الوسائط المرقمة، ثم الوسيط الأصلي. لكن هذه النتيجة لن تكون مضمونة عند استعمال حلقة do على الوسائط. لا حاجة لكتابة الوسيط الأصلي ضمن البدائل إلا كنت تريد التحكم في أولوية تحميل القيمة عند تعدد الوسائط المطابقة.