وحدة:Flagg
![]() |
صنفت هذه الوحدة على أنها في مرحلة بيتا. عندما تصل الوحدة لهذه المرحلة، يمكن أن يوسع إستخدامها في الصفحات الأخرى. لكن يجب توخي الحذر من أن الوحدات في هذه المرحلة ما زالت حديثة العهد لذلك وجب توخي الحذر عند الإستخدام وملاحظة أي أخطاء تنتج عنها. من العرف أن المجتمع سوف يوصل الوحدات في هذه المرحلة للتي بعدها عبر صفحات النقاش الخاصة بالوحدة أو أي مكان يعلن عن هذه الوحدة عبر ملاحظة أن هذه الوحدة تعمل بشكل صحيح والجميع راضا عن أدائها.
|
![]() |
هذا القالب يستعمل لوا: |
قالب {{Flagg}}
(عـلم عـام) هو قالب أعلام عام مع تنسيق الإخراج متغير. يستخدم لغة لوا بدلا من الآلية الموحدة، لأنها تتيح تجاوز اسم الصورة والهدف والارتباط، ويعمل القالب حتى لو كان قالب البلد غير موجود (دون تجاوز أي من حدود القوالب).
محتويات
الوسائط
يتم إعطاء (بدائل القيم) لكل معلمة بين قوسين ().
التنسيق (المعلمة الأولى غير المسماه)
المعلمة الأولى هي رمز أبجدي تحدد شكل ظهور القالب. الحرف الأول يتعلق بالصورة، والثاني بالفاصل، والثالث باسم البلد. تأخذ المعلمة بعين الاعتبار تحسس حالة الأحرف.
اذا كان أي حرف من المعلمة مفقود أو بطابع لا يتطابق مع أحد الخيارات التالية, سيتم استخدام القيمه الافتراضية المحددة أدناه؛ على سبيل المثال اذا كانت المعلمة الأولى مساوية لـi، أو i**، أو izz ستقرأ كالتالي: isc.
الصورة
الصورة (الحرف الأول)
الحرف | المعنى | المعنى | وصفه | مثال |
---|---|---|---|---|
u | unlinked | دون وصلة | صورة غير مرتبطة (إفتراضي) | {{flagg|uxx|France}} ينتج: ← ![]() |
c | country | البلد | وصلة الصورة لصفحة البلد/الكيان. | {{flagg|cxx|France}} ينتج: ← ![]() |
p [f] | prefix/suffix | وصلة الصورة لاسم البلد مع البادئة. "و/أو" نص اللاحقة (افتراضي "علم ...")، يتعين باستخدام |pref= و|suff= (انظر ادناه). |
{{flagg|pxx|France}} ينتج: ← ![]() |
|
i | image page | صفحة الصورة | وصلة الصورة إلى الملف الخاص بها تستخدم مع الصور غير الحرة. | {{flagg|ixx|France}} ينتج: ← ![]() |
d | data template | بيانات القالب | وصلة الصورة إلى قالب بيانات بلد المستخدم، للاستخدام في النقاش/التوثيق. تضيف الوحدة تلقائياً redirect=no اذا كانت الوصلة تحويلة. |
{{flagg|dxx|France}} ينتج: ← ![]() |
x | علامة الشطب | علامة × | لا يتم عرض أي صورة. يستخدم صورة شفافة غير مرتبطة للحفاظ على المسافات في حالة إذا كان الحرف الثاني أي شيء آخر غير x، وأيضاً o لم يتم تحديدها. | {{flagg|xnx|France}} ينتج: ← ![]() |
الفاصل
الفاصل (الحرف الثاني)
الحرف | المعنى | المعنى | وصفه | مثال | ||
---|---|---|---|---|---|---|
s | span box | مربع ممتد (افتراضي) | يتم وضع صورة العلم في <span>، وهذا يعني أن أسماء البلدان منحازة في قوائم عمودية؛ راجع توثيق قالب {{Flaglist}}. | {{flagg|usu|Niger}} ينتج: ← ![]() |
||
n | non-breaking space | مسافة غير منقسمة | يستخدم مسافة غير منقسمة ( ) كما هو الحال في معظم قوالب الأعلام، بما فيها قالب {{علم}}. لاحظ أن لا يمنع في الواقع التفاف بين الصورة والنص في جميع المتصفحات؛ استخدم w كما هو موضح أدناه إذا لزم الأمر. |
{{flagg|unu|Niger}} ينتج: ← ![]() |
||
l | line break | خط مكسور | يستخدم فاصل سطر جديد (<br/> ) كفاصل. |
{{flagg|ulu|Niger}} ينتج: ← ![]() النيجر |
||
t | table cell | خلية جدول | يستخدم فاصل خلية جدول (||). | ![]() |
النيجر | |
x | X mark | علامة × | لا يستخدم أي فاصل. | {{flagg|uxu|Niger}} ينتج: ← ![]() |
الاسم
الاسم (الحرف الثالث)
الحرف | المعنى | المعنى | وصفه | مثال |
---|---|---|---|---|
c | country | البلد (افتراضي) | يضع الوصلة إلى وصلة البلد. | {{flagg|xxc|Chile}} ينتج: ← تشيلي |
p | prefix/suffix | بادئة / لاحقة | وصلة اسم البلد إلى صفحة البلد، مع سابقة و/أو لاحقة (افتراضياً "علم ..."). تحدد باستخدام |pref= ، و|suff= (طالع أدناه). |
{{flagg|xxp|Chile}} ينتج: ← تشيلي |
f | full prefix/suffix | بادئة / لاحقة الكاملة | كما p، لكن في هذه الحالة يتم عرض البادئة و/أو اللاحقة. | {{flagg|xxf|Chile}} ينتج: ← علم تشيلي |
b | both country and prefix/suffix | يضع وصلة البلد ووصلة البادئة واللاحقة، يربط اسم البلد إلى صفحة الدولة، ويضع وصلة أخرى مع البادئة/اللاحقة. | {{flagg|xxb|Chile}} ينتج: ← علم تشيلي |
|
u | unlinked | دون وصلة (انظر. {{flagu}}) | يتم عرض اسم البلد كنص عادي، دون وصلة. | {{flagg|xxu|Chile}} ينتج: ← تشيلي |
d | data template | بيانات القالب | يربط اسم البلد إلى قالب بيانات البلد المستخدم، للاستخدام في صفحات النقاش أو التوثيق. يضع بشكل افتراضي redirect=no اذا كان القالب عبارة عن تحويلة. |
{{flagg|xxd|Chile}} ينتج: ← تشيلي |
x | X mark | علامة × | لا يعرض أي نص. | {{flagg|xxx|Chile}} ينتج: ← |
أخرى
يمكن تمكين بعض الخيارات الإضافية بإلحاق الرسائل التالية إلى الأحرف الثلاثة، في أي أمر:
الحرف | معنى | معنى | وصفه | مثال |
---|---|---|---|---|
a | alt | نص بديل | يضيف اسم البلد (معلمة "name"، وإن لم تكن متوفرة يستخدم المعلمة الثانية الغير مسماة) كـ نص بديل للصورة يظهر عند تمرير الفأرة على الصورة، إذا استخدمت المعلمة |alt= لتخصيص نص بديل للصورة، فهذا لا يحتاج إلى تعيينه بصورة منفصلة. |
{{flagg|uxxa|Pakistan}} ينتج: ← ![]() |
e | expands | اسم مختصر | يستخدم الاسم المنصوص عليه في قالب بيانات بلد (بدلا من المعلمة الأولى) للعرض، كما في قالب {{علم الدولة}}. | {{flagg|unue|PAK}} ينتج: ← ![]() |
o | Omits | يتجاهل الصورة والمسافات في حالة كانت الصورة غير مرئية، بحيث يظهر التباعد في حالة تم عرض العلم. مفيد للاستعمال في حالة التضمين في سطر أو في قوائم أفقية، حيث ليست هناك حاجة لمحاذاة الاسم. | {{flagg|unuo|Pakistan|image=}} ينتج: ← باكستانCompare with: {{flagg|unu|Pakistan|image=}} ينتج: ← ![]() |
|
r | right | يعكس ترتيب العناصر, حيث يضع الصورة يمين الاسم كما قالب {{علم يمين}}. ولا يؤثر هذا على ترتيب الأحرف في التنسيق. | {{flagg|uncr|Pakistan}} ينتج: ← باكستان ![]() |
|
w | wrapping | يتجنب الالتفاف بإضافة <span class="nowrap"></span> حول الناتج. |
{{flagg|unuw|Pakistan}} ينتج: ← ![]() |
الكيان/البلد (المعلمة الثانية الغير مسماة)
المعلمة الثانية هي اسم البلد أو الكيان. يستخدمها القالب لقراءة بيانات العلم من "قالب:بيانات بلد"؛ إذا لم يوجد القالب، سيتم استخدام نفس المعلمة افتراضياً كاسم البلد ولن يتم عرض أي صورة، وتعرف المعلمة اسم العرض الافتراضي اذا لم تستخدم المعلمة e.
وسائط الصورة
|variant=
[المعلمة الثالثة غير المسماة]- يحدد صورة متغير العلم، كما هي محددة في قالب بيانات بلد. على سبيل المثال،
{{flagg|ixx|Germany|naval}}
ينتج: ←يستخدم المتغير "naval بحري" في قالب:بيانات بلد ألمانيا.
|image=
- تخصيص اسم الصورة تحتوي أو لا تحتوي "File:" .يمكن استخدامها إذا كانت الصورة المطلوبة ليست متوفرة كمتغير للكيان (يمكنك بدلا من ذلك تطلب ذلك يمكن ان تضاف في صفحة نقاش القالب البيانات التي تخصها)، أو في حالة عدم وجود قالب بيانات. قم بتعيينها إلى "none" أو ["blank" أو قيمة فارغة] لاستخدام صورة شفافة غير موصولة (عمليا مطابقة لتنسيق الوسيط x).
|size=
و[|sz=
]- يحدد حجم الصورة؛ الافتراضي هو 23×15 بكسل (أكبر في بعض الكيانات). يمكنك استخدام حجم صريح في بكسل (مثل 30x20px; اللاحقة "px" هي اختيارية) أو واحد من الأحجام النسبية "xs" (نصف الأبعاد الافتراضية)، "s" و"m" و"l" و"xl" (ضعف الحجم الافتراضي).
|border=
- افتراضيا، يتضمن رمز العلم حدود، إلا إذا تم تعطيله في قالب بيانات بلد في الوسيط
|border=
يمكن تعيينه لـ "yes" أو ["y" ًأو "1"] لفرض الحدود عند استبعاده افتراضيا، أو يمكن تعيينه لـ "no" أو ["n" أو "0" أو سلسلة فارغة] لمنع ذلك. |align=
و[|al=
]- قم بتعيينها إلى
- "left" أو ["l"] أو
- "center" أو ["centre" أو "c" أو "middle" أو "m"]
- أو "right" أو ["r"]
لضبط محاذاة صورة لتنسيق المربع الممتد (s) وتنسيق خلية الجدول (t). بالنسبة للوسيط t فانه افتراضياً محاذاة الوسط، أما s فهو محاذاة إلى اليمين، إن لم تحدد قيمة لـ r وإلا فأنه سيكون محاذاة لليسار.
|width=
و[|w=
]- يحدد عرض المربع الممتد المحيط حول الصورة (s) بالبكسل، بدون "px" يتم احتساب قيمة افتراضية بواسطة وحدة:Flaglist/size ويعتمد على حجم الصورة.
|alt=
- يحدد نص بديل ونص يظهر عند مرور الفأرة فوق صورة العلم،إذا كان النص المطلوب يساوي اسم الكيان، استخدم الخيار a المذكور أعلاه.
|ilink=
- تجاوز وصلة الصورة (استخدم هذا فقط إذا لم يتيح أي من خيارات التنسيق أعلاه بربط الصفحة المطلوبة).
وسائط النص والوصلة
|name=
- تغيير اسم البلد المعروض. لاحظ أنه مع تنسيق f، وهذا يشمل البادئة و / أو لاحقة.
- [
|link=
] و|clink=
- الكتابة فوق الارتباط إلى مقالة البلد؛ يتم استخدام هذه أيضا لبناء وصلة بادئة / لاحقة للخيارات التالية: f، وp، وb .
|pref=
و|suff=
و|plink=
|pref=
و|suff=
تعيين البادئة واللاحقة لاستخدامها في بادئة / لاحقة الروابط (شكل الحروف f، وp وb). افتراضياً،إذا لم يتم تحديد ذلك، سيكون "علم_" بادئة (راجع {{flagof}}) ولن يتم استخدام لاحقة. يمكن استخدام المعلمة|plink=
لتجاوز الارتباط المشترك.|the=
- قم بتعيينها إلى "yes" أو ["y"، أو "1"] لتضمين "the" قبل اسم البلد في بادئة/لاحقة الروابط . مثال:
{{flagg|usf|Philippines|the=1}}
ينتج: ←علم ال الفلبين. استعمل
|pthe=
إذا كان الرابط يحتاج ذلك، "و" لكن في الاسم ليس كذلك، واستخدم|nthe=
إذا كان الاسم يحتاج ذلك، ولكن الرابط لا يحتاج ذلك. |section=
- وصلة لقسم من أقسام المقالة، دون عرض اسم المقطع في الاسم، في حالة تم استخدام وصلة البلد وأيضاً بادئة/لاحقة الوصلة قم باستخدام
|csection=
للقسم في المقالة، واستخدم|psection=
للقسم المسبوق/المتبوع من المقالة.
|altvar=
، و[|avar=
]، و|age=
- إمكانية استخدام لاحقة قياسية محددة مسبقاً، كوصلة لفريق رياضي أو فرع عسكري. يتم تحميل بيانات altvar واللاحقة من وحدة:Flagg/Altvar data. القيم الممكنة للمعلمات هي الأسماء الأساسية للقوالب المخصصة المقابلة؛ قيم الاسم المستعار من أسم الرياضة الكاملة الموجودة (أنظر الأمثلة الواردة أدناه وصفحة البيانات).
بالنسبة لبعض الكيانات أو العناصر، هذا يغير الصورة أيضاً لمحدد بديل variant إلى رياضة أو فرع عسكري؛ على سبيل المثال: {{flagg|usp|Ireland|avar=ru}}
ينتج: ← أيرلندا يستخدم علم اتحاد الرغبي لتمثيل فريق اتحاد الرجبي الأيرلندي. لفرق الشباب في بعض الألعاب الرياضية (انظر صفحة البيانات)، الحد الأدنى للسن لا بد وأن يتم تعيينه باستخدام الوسيط
|age=
.
|nalign=
، و[|nal=
]- تعيين محاذاة النص في شكل خلية الجدول (t). افتراضياً محاذاة لليسار؛ القيم الممكنة هي نفسها بالنسبة لـ
|align=
. |text=
- تجاوز النص بالكامل؛ فقط يستخدم عند الضرورة لأي صيغ غير قياسية. بدلا من ذلك يمكنك تعيين الحرف الثالث من المعلمة تنسيق لـ x (دون نص) وقم بإضافة النص المخصص خارج القالب.
أمثلة
التنسيقات:
{{flagg|usc|Fiji}}
ينتج: ←فيجي (التنسيق الافتراضي)
{{flagg||Fiji}}
ينتج: ←فيجي (التنسيق الافتراضي)
{{flagg|pnbr|Fiji}}
ينتج: ← علم فيجي<span style="display:inline-block;text-align:center;">{{flagg|ilf|Fiji|sz=xl}}</span>
→
علم فيجي
تنسيق الجدول والمحاذاة:
{{flagg|utu|Jamaica}} |
![]() |
جامايكا |
{{flagg|utur|Jamaica}} |
جامايكا | ![]() |
{{flagg|utu|Jamaica|al=l|nal=l}} |
![]() |
جامايكا |
{{flagg|utu|Jamaica|al=c|nal=c}} |
![]() |
جامايكا |
{{flagg|utu|Jamaica|al=r|nal=r}} |
![]() |
جامايكا |
{{flagg|usu|Switzerland}}
ينتج: ←سويسرا
{{flagg|usu|Switzerland|al=l}}
ينتج: ←سويسرا
{{flagg|usu|Switzerland|al=c}}
ينتج: ←سويسرا
{{flagg|usu|Switzerland|al=r}}
ينتج: ←سويسرا
معايير الصورة الافتراضية واسماء المعلمات:
{{flagg|isc|Myanmar}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|border=}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|1974}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|variant=1974}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|name=Burma|variant=1974}}
ينتج: ←Burma
{{flagg|isc|Burma|variant=1974}}
ينتج: ←بورما
{{flagg|isc|Myanmar|sz=30}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|size=30}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|size=30px}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|size=30x18px}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|size=xs}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|size=xl}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|width=30|size=xs}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|image=}}
ينتج: ←ميانمار
{{flagg|isc|Myanmar|image=Flag of None.svg}}
ينتج: →ميانمار
{{flagg|isc|Myanmar|image=File:Flag of None.svg}}
ينتج: →ميانمار
الوصلات والـ altvars:
{{flagg|psp|Egypt}}
ينتج: ←مصر
{{flagg|psf|Egypt}}
ينتج: ←علم مصر
{{flagg|psb|Egypt}}
ينتج: ←علم مصر
{{flagg|psb|Philippines|the=1}}
ينتج: ←علم ال الفلبين
{{flagg|csc|Egypt|section=History}}
ينتج: ←مصر
{{flagg|csb|Egypt|csection=History}}
ينتج: ←علم مصر
{{flagg|psb|Egypt|psection=Kingdom of Egypt (1922–1953)|variant=1922}}
ينتج: ←علم مصر
{{flagg|psb|Egypt|plink=List of Egyptian flags}}
ينتج: ←علم مصر
{{flagg|psf|Egypt|pref=تاريخ}}
ينتج: ←تاريخ مصر
{{flagg|psp|Egypt|suff=at the Olympics}}
ينتج: ←مصر
{{flagg|psp|Egypt|avar=fb}}
ينتج: ←مصر
{{flagg|psp|Egypt|avar=football}}
ينتج: ←مصر
{{flagg|psp|Egypt|avar=fbu|age=20}}
ينتج: ←مصر
{{flagg|psf|Egypt|avar=navy}}
ينتج: ←مصر القوات البحرية
قالب بيانات غير موجود:
{{flagg|isc|Belfast}}
ينتج: ←Belfast
{{flagg|isc|Belfast|image=Flag of Belfast.svg}}
ينتج: ←Belfast
مقارنة مع قوالب أخرى
هذه القوالب تسبق قالب flagg، مع أن أغلبها لا تملك خيارات لتخصيص الوصلات والصور، إلا أنها ربما تكون أسرع لأنها تقوم فقط بوظيفتين دون الاستناد إلى لوا.
قوالب عامة
القالب | قالب {{flagg}} مقابل |
مثال |
---|---|---|
{{العلم|البلد}} |
{{flagg|unc|البلد}} |
{{العلم|China}} ينتج: ← ![]() {{flagg|unc|China}} ينتج: ← ![]() |
{{flagbig|البلد}} |
{{flagg|ulc|البلد|sz=l}} |
{{flagbig|China}} ينتج: ← قالب:Flagbig{{flagg|ulc|China|sz=l}} ينتج: ← ![]() الصين |
{{flagc|البلد}} |
{{flagg|inc|البلد}} |
{{flagc|China}} ينتج: ← ![]() {{flagg|inc|China}} ينتج: ← ![]() |
{{علم الدولة|البلد}} |
{{flagg|unce|البلد}} |
{{علم الدولة|CHN}} ينتج: ← ![]() {{flagg|unce|CHN}} ينتج: ← ![]() |
{{علم ديكو|البلد}} |
{{flagg|uxx|البلد}} |
{{علم ديكو|China}} ينتج: ← ![]() {{flagg|uxx|China}} ينتج: ← ![]() |
{{رمز علم|البلد}} |
{{flagg|cxx|البلد}} |
{{رمز علم|China}} ينتج: ← ![]() {{flagg|cxx|China}} ينتج: ← ![]() |
{{صورة رمز علم|image}} |
{{flagg|uxx|image=image}} |
{{صورة رمز علم|Flag of China.svg}} ينتج: ← ![]() {{flagg|uxx|image=Flag of China.svg}} ينتج: ← ![]() |
{{رابط علم|البلد|لاحقة }} |
{{flagg|unp|البلد|suff=لاحقة }} |
{{رابط علم|China|at the Hopman Cup}} ينتج: ← ![]() {{flagg|unp|China|suff=at the Hopman Cup}} ينتج: ← ![]() |
{{flag+link|بادئة|البلد}} |
{{flagg|unp|البلد|pref=بادئة}} (no existence check) |
{{flag+link|Agriculture in|China}} ينتج: ← ![]() {{flagg|unp|China|pref=Agriculture in}} ينتج: ← ![]() |
{{Flaglist|البلد}} |
{{flagg|usc|البلد}} |
{{Flaglist|China}} ينتج: ← ![]() {{flagg|usc|China}} ينتج: ← ![]() |
{{flagof|البلد}} |
{{flagg|unp|البلد|sz=l}} |
{{flagof|China}} ينتج: ← ![]() {{flagg|unp|China|sz=l}} ينتج: ← ![]() |
{{علم يمين|البلد}} |
{{flagg|uncr|البلد}} |
{{علم يمين|China}} ينتج: ← ![]() {{flagg|uncr|China}} ينتج: ← الصين ![]() |
{{Flagu|البلد}} |
{{flagg|unu|البلد}} |
{{Flagu|China}} ينتج: ← ![]() {{flagg|unu|China}} ينتج: ← ![]() |
{{Noflag|البلد}} |
{{flagg|xnu|البلد}} |
{{Noflag|China}} ينتج: ← China{{flagg|xnu|China}} ينتج: ← ![]() |
{{Noflag|[[country]]}} |
{{flagg|xnc|البلد}} |
{{Noflag|[[الصين]]}} ينتج: ← الصين{{flagg|xnc|China}} ينتج: ← ![]() |
قوالب رياضية/عسكرية
تستخدم الأمثلة قوالب كرة القدم، وبقية الألعاب الرياضية تعمل تبعاً لذلك.
القالب | قالب {{flagg}} مقابل |
مثال |
---|---|---|
{{ك ق|البلد}} |
{{flagg|unpe|البلد|avar=fb}} |
{{ك ق|China}} ينتج: ← ![]() {{flagg|unpe|China|avar=fb}} ينتج: ← ![]() |
{{ك ق|البلد|align=1}} |
{{flagg|uspe|البلد|avar=fb|al=c}} |
{{ك ق|China|align=1}} ينتج: ← ![]() {{flagg|uspe|China|avar=fb|al=c}} ينتج: ← ![]() |
{{ك ق-كبير|البلد}} |
{{flagg|ulpe|البلد|avar=fb|sz=l}} |
{{ك ق-كبير|China}} ينتج: ← ![]() الصين {{flagg|ulpe|China|avar=fb|sz=l}} ينتج: ← ![]() الصين |
{{ك ق-يم|البلد}} |
{{flagg|unpre|البلد|avar=fb}} |
{{ك ق-يم|China}} ينتج: ← الصين ![]() {{flagg|unpre|China|avar=fb}} ينتج: ← الصين ![]() |
{{ك ق ت|عمر|البلد}} |
{{flagg|unpe|البلد|avar=fbu|age=عمر}} |
{{ك ق ت|17|China}} ينتج: ← ![]() {{flagg|unpe|China|avar=fbu|age=17}} ينتج: ← ![]() |
{{ك ق ن|البلد}} |
{{flagg|unpe|البلد|avar=fbw}} |
{{ك ق ن|China}} ينتج: ← ![]() {{flagg|unpe|China|avar=fbw}} ينتج: ← ![]() |
{{Fbwu|عمر|البلد}} |
{{flagg|unpe|البلد|avar=fbwu|age=عمر}} |
{{Fbwu|17|China}} ينتج: ← ![]() {{flagg|unpe|China|avar=fbwu|age=17}} ينتج: ← ![]() |
{{Army|البلد}} |
{{flagg|unfe|البلد|avar=army}} (لا يتجاوز الاسم التلقائي) |
{{Army|China}} ينتج: ← ![]() {{flagg|unfe|China|avar=army}} ينتج: ← ![]() |
{{بحرية|البلد}} |
{{flagg|unfe|البلد|avar=navy}} (لا يتجاوز الاسم التلقائي) |
{{بحرية|China}} ينتج: ←
بحرية جيش التحرير الشعبي{{flagg|unfe|China|avar=navy}} ينتج: ← ![]() |
{{قوات جوية|البلد}} |
{{flagg|unfe|البلد|avar=air force}} (لا يتجاوز الاسم التلقائي) |
{{قوات جوية|China}} ينتج: ← ![]() {{flagg|unfe|China|avar=air force}} ينتج: ← ![]() |
التوثيق في الأعلى مضمن من وحدة:Flagg/شرح. (عدل | تاريخ) يمكن للمحررين تجريب تعديلاتهم على الوحدة في صفحات ملعب (أنشئ | مرآة) و مختبر (أنشئ). من فضلك أضف التصنيفات في الصفحة الفرعية للقالب /شرح. الصفحات الفرعية لـ وحدة. |
local p = {}
function p.main(frame)
--Get input arguments
local args = require('Module:Arguments').getArgs(frame,{valueFunc =
function(key,value)
if value then
value = mw.text.trim(value)
if key=="image" or value~="" then
return value
end
end
return nil
end
})
--Call main function
return p.luaMain(frame,args)
end
function p.luaMain(frame,args)
function emp2nil(x)
if x=="" then return nil else return x end
end
function space2emp(x)
if string.find(x,"^%s*$") then return "" else return x end
end
function nopx(x)
if x~=nil and (string.find(x,"^%d+$") or string.find(x,"^%d+px$")) then return string.gsub(x,"^(.*)px","%1") else return nil end
end
--Country & mode parameters
local mode = string.lower(args[1] or "usc")
local mi = string.sub(mode,1,1)
local ms = string.sub(mode,2,2)
local mn = string.sub(mode,3,3)
local me = string.sub(mode,4,-1)
local find= require('Module:تحويلات بلدان').red ------------------------------------ Just in Arabic
local country = find( args[2] ) or ""
local avar = args["avar"] or args["altvar"]
local clink = args["clink"] or args["link"]
--Get country data & altvar data
local data, alink, amap, asuf , apre
if avar then
local age = args["age"] or ""
local aalias
amap, aalias = require("Module:Flagg/Altvar data").alttable(age)
avar = string.gsub(string.lower(avar or ""),"[ \-]","")
avar = aalias[avar] or avar
if not amap[avar] then error("Unknown avar") end
local apar = {altvar=amap[avar].altvar;mw=amap[avar].mw;age=amap[avar].age;variant=args["variant"] or args[3]}
data = require("Module:CountryData").gettable(frame,country,apar)
asuf = amap[avar].altlink
apre = amap[avar].linkpre
alink = data["link alias-"..amap[avar].altvar] or (apre or '').." "..(clink or data["shortname alias"] or data.alias or country).." "..asuf
else
data = require("Module:CountryData").gettable(frame,country,{variant=args["variant"] or args[3]})
avar = ""
amap = {[""]={altvar=""}}
end
--Name and link parameters
clink = clink or data.alias or country
local pref = args["pref"]
local suff = args["suff"] or asuf
if not pref and not suff then --Default prefix
pref = "علم"
end
local yn_map = {[""]=0; ["0"]=0; ["no"]=0; ["n"]=0; ["1"]=1; ["yes"]=1; ["y"]=1}
local fthe = (args["pthe"] and yn_map[args["pthe"]]~=0) or (args["the"] and yn_map[args["the"]]~=0)
local nthe = (args["nthe"] and yn_map[args["nthe"]]~=0) or (args["the"] and yn_map[args["the"]]~=0)
fthe = fthe and (pref and "ا" or "ا").."ل " or ""
nthe = nthe and (pref and "ا" or "ا").."ل " or ""
local flink = args["plink"] or args["flink"] or alink or space2emp((pref or "").." ")..fthe..clink..space2emp(" "..(suff or ""))
local fsec = args["psection"] or args["section"]
local csec = args["csection"] or args["section"]
fsec = fsec and "#"..fsec or ""
csec = csec and "#"..csec or ""
local name = args["name"]
if string.find(me,"e") then
local cname = data["name alias-"..amap[avar].altvar] or data["shortname alias"] or data.alias or country
if mn == "f" then
name = name or space2emp((pref or "").." ")..nthe..cname..space2emp(" "..(suff or ""))
else
name = name or cname
end
else
if mn == "f" then
name = name or space2emp((pref or "").." ")..nthe..country..space2emp(" "..(suff or ""))
else
name = name or country
end
end
--Image parameters
local pimage = args["image"]
local placeholder = "Flag placeholder.svg"
local variant = args["variant"] or args[3] or ""
local image_map = {[""]=placeholder; ["none"]=placeholder; ["blank"]=placeholder}
if pimage then --Remove namespace
pimage = string.gsub(pimage,"^[Ff][Ii][Ll][Ee]:(.*)$","%1")
pimage = string.gsub(pimage,"^[Ii][Mm][Aa][Gg][Ee]:(.*)$","%1")
end
local iname = image_map[pimage] or pimage
local size = args["size"] or args["sz"]
local size_map = {xs="12x8px"; s="17x11px"; m="23x15px"; l="32x21px"; xl="46x30px"}
if size==nil or string.find(size,"^%d*x?%d+px$")
then --valid EIS size (..px, x..px or ..x..px), or unset
elseif string.find(size,"^%d*x?%d+$")
then size=size.."px" --EIS size without "px" suffix
else size = size_map[size] or nil
end
local border = frame:getParent().args["border"] or frame.args["border"]
if iname then
size = size or "23x15px"
if yn_map[border]==0 then border = "" else border = "|border" end
else
iname = data["flag alias-"..amap[avar].altvar.."-"..variant] or data["flag alias-"..variant] or data["flag alias-"..amap[avar].altvar] or data["flag alias"] or placeholder
size = size or emp2nil(data.size) or "23x15px"
if border then
if yn_map[border]==0 then border = "" else border = "|border" end
else
local autoborder = data["border-"..variant] or data["border-"..amap[avar].altvar] or data.border
if autoborder and autoborder~="border" then border = "" else border = "|border" end
end
end
local am = ""
if args["alt"] or string.find(me,"a") then
am = args["alt"] or args["name"] or country
am = am.."|"..am
end
--Build display name
local naaaa = args["naaaa"] or 'بيانات بلد'
local text = args["text"]
if not text then
if mn=="x" then --no text
text = ""
elseif mn=="p" or mn=="f" then --prefix/suffix link
text = "[["..flink..fsec.."|"..name.."]]"
elseif mn=="b" then --both prefix/suffix and normal country link
if pref and suff then
text = "[["..flink..fsec.."|"..pref.."]] "..nthe.."[["..clink..csec.."|"..name.."]] [["..flink..fsec.."|"..suff.."]]"
elseif pref then
text = "[["..flink..fsec.."|"..pref.."]] "..nthe.."[["..clink..csec.."|"..name.."]]"
elseif suff then
text = nthe.."[["..clink..csec.."|"..name.."]] [["..flink..fsec.."|"..suff.."]]"
else
text = nthe.."[["..clink..csec.."|"..name.."]]"
end
elseif mn=="d" then --data template
--check if redirect
if require('Module:Redirect').luaIsRedirect("Template:" .. naaaa .. " "..country) then
text = "<span class=\"plainlinks\">["..mw.title.new("Template:" .. naaaa .. " "..country):fullUrl("redirect=no").." "..name.."]</span>"
else
text = "[[Template:" .. naaaa .. " "..country.."|"..name.."]]"
end
elseif mn=="u" then --unlinked
text = name
else --country link (default)
text = "[["..clink..csec.."|"..name.."]]"
end
end
--Build image
local ilink = args["ilink"]
if not ilink then
if mi=="x" or (iname==placeholder and pimage~=placeholder) then --no image/invisible image
iname = placeholder
border = ""
ilink = "|link="
am = ""
elseif mi=="i" then --image page link
ilink = ""
elseif mi=="c" then --country link
ilink = "|link="..clink..csec
elseif mi=="p" or mi=="f" then --prefix/suffix link
ilink = "|link="..flink..fsec
elseif mi=="d" then --data template
--check if redirect
if require('Module:Redirect').luaIsRedirect("Template:" .. naaaa .. " "..country) then
ilink = "|link="..mw.title.new("Template:" .. naaaa .. " "..country):fullUrl("redirect=no")
else
ilink = "|link=Template:" .. naaaa .. " "..country
end
else --unlinked (default)
ilink = "|link="
end
end
local image = "[[File:"..iname.."|"..size..border..ilink.."|alt="..am.."]]"
--Combine image and name with separator
local align = args["align"] or args["al"]
local nalign = args["nalign"] or args["nal"]
local align_map = {left="left", l="left", center="center", centre="center", c="center", middle="center", m="center", right="right", r="right"}
local out
if string.find(me,"r") then
--image right of name
if (ms=="x" and mi=="x") or (string.find(me,"o") and iname==placeholder and pimage~=placeholder) then --name only
out = text
elseif ms=="x" then --no separator
out = text.."<span class=\"flagicon\">"..image.."</span>"
elseif ms=="n" then --non-breaking space
out = text.."<span class=\"flagicon\"> "..image.."</span>"
elseif ms=="l" then --line break
out = text.."<span class=\"flagicon\"><br/>"..image.."</span>"
elseif ms=="t" then --table cell
out = "style=\"text-align:"..(align_map[nalign] or "left").."\"|"..text.."||style=\"text-align:"..(align_map[align] or "center")..";\"|<span class=\"flagicon\">"..image.."</span>"
else --fixed-width span box (default)
local width = args["width"] or args["w"] or require("Module:Flaglist/size").luawidth(size)
out = text.."<span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(align_map[align] or "right")..";\">"..image.."</span>"
end
else --image left of name
if (ms=="x" and mi=="x") or (string.find(me,"o") and iname==placeholder and pimage~=placeholder) then --name only
out = text
elseif ms=="x" then --no separator
out = "<span class=\"flagicon\">"..image.."</span>"..text
elseif ms=="n" then --non-breaking space
out = "<span class=\"flagicon\">"..image.." </span>"..text
elseif ms=="l" then --line break
out = "<span class=\"flagicon\">"..image.."<br/></span>"..text
elseif ms=="t" then --table cell
out = "style=\"text-align:"..(align_map[align] or "center")..";\"|<span class=\"flagicon\">"..image.."</span>||style=\"text-align:"..(align_map[nalign] or "left").."\"|"..text
else --fixed-width span box (default)
local width = nopx(args["width"] or args["w"]) or require("Module:Flaglist/size").luawidth(size)
out = "<span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(align_map[align] or "left")..";\">"..image.."</span>"..text
end
end
if string.find(me,"w") then --avoid wrapping
out = "<span class=\"nowrap\">"..out.."</span>"
end
--Tracking categories
local cat = ""
if pimage and not image_map[pimage] and country~="" and data["flag alias"] and not args.demo then
cat = "[[Category:Pages using Flagg with specified image instead of data template image]]"
end
return out..cat
end
return p