وحدة:Flag
![]() | صُنفت هذه الوحدة على أنها في مرحلة بيتا. عندما تصل الوحدة لهذه المرحلة، يمكن أن يوسع استخدامها في الصفحات الأخرى. لكن يجب توخي الحذر من أن الوحدات في هذه المرحلة ما زالت حديثة العهد لذلك وجب توخي الحذر عند الاستخدام وملاحظة أي أخطاء تنتج عنها. من العرف أن المجتمع سوف يوصل الوحدات في هذه المرحلة للتي بعدها عبر صفحات النقاش الخاصة بالوحدة أو أي مكان يعلن عن هذه الوحدة عبر ملاحظة أن هذه الوحدة تعمل بشكل صحيح والجميع راضٍ عن أدائها. |
![]() | هذه الوحدة مستخدمة في عدد كبير من الصفحات . لتفادي خلق بلبلة على نطاق واسع من الصفحات وزيادة الأعباء على الخوادم، يجب تجربة أي تعديل في هذه الصفحات الفرعية /ملعب أو /تجربة أو في ملعبك. بعدها يمكنك إضافة التعديلات دفعة واحدة، ورجاءً، لا تنسَ مناقشة التعديلات أولًا قبل القيام بها. |
![]() | هذه الوحدة تعتمد على الوحدات الأخرى التالية: |
بديل أصلي بلغة Lua لقوالب الأعلام الشائعة. يمكن استخدامه لتقليل حجم التضمين بعد التوسيع في الصفحات التي تحتوي على الكثير من القوالب، لأنه يتجنب استدعاء القوالب متعددة المستويات.
الاستعمال
عدل- flag أو {{علم}} ← {{#invoke:flag|}}
- flagcountry أو {{علم الدولة}} ← {{#استدعاء:flag|country}}
- flagdeco أو {{علم ديكو}} ← {{#استدعاء:flag|deco}}
- flagicon أو {{رمز علم}} ← {{#استدعاء:flag|icon}}
- flag+link أو {{Flag+link}} ← {{#استدعاء:flag|+link}}
- flag athlete أو {{flag athlete}} ← {{#استدعاء:flag|athlete}}
- flag medalist أو {{Flagmedalist}} ← {{#استدعاء:flag|medalist}}
أمثلة
عدلالقالب | الوحدة | ||||
---|---|---|---|---|---|
الكود | النتيجة | PEIS | الكود | النتيجة | PEIS |
{{flag|CHN}} |
![]() |
443b | {{#استدعاء:flag||CHN}} |
![]() |
128b |
{{flagcountry|CHN}} |
![]() |
577b | {{#استدعاء:flag|country|CHN}} |
![]() |
128b |
{{flagdeco|CHN}} |
![]() |
452b | {{#استدعاء:flag|deco|CHN}} |
![]() |
107b |
{{flagicon|CHN}} |
![]() |
548b | {{#استدعاء:flag|icon|CHN}} |
![]() |
117b |
{{flag+link|History of|CHN}} |
![]() |
663b | {{#استدعاء:flag|+link|History of|CHN}} |
![]() |
139b |
{{flag athlete|أندي موراي|GBR}} |
![]() |
617b | {{#استدعاء:flag|athlete|أندي موراي|GBR}} |
![]() |
210b |
{{flag medalist|أندي موراي|GBR}} |
أندي موراي![]() |
469b | {{#استدعاء:flag|medalist|أندي موراي|GBR}} |
أندي موراي![]() |
129b |
التحذيرات
عدلعند استخدام الوحدة داخل قالب، يتم تمرير المعاملات الخاصة بهذا القالب إلى الوحدة. قد يكون هذا مفيدًا في بعض الحالات، لكنه قد يؤدي إلى تعارضات (على سبيل المثال، إذا كان القالب الرئيسي يحتوي على وسيط |country=
غير متعلق بالعلم المفترض عرضه). لمنع هذا السلوك، أضف وسيط |frameonly=
إلى استدعاء الوحدة، على سبيل المثال: {{#استدعاء:flag|deco|CHN|frameonly=true}}
.
local margs = require('Module:Arguments')
local function _main(frame, name, mode)
local categories = {
['Flag icon'] = '[[Category:Flag icons missing country data templates]]',
['Flag decoration'] = '[[Category:Flag decoration missing country data templates]]',
}
local yesno = require('Module:Yesno')
--Get input arguments
local args = margs.getArgs(frame, {
frameOnly = ((frame.args.frameonly or '') ~= ''), valueFunc =
function(key,value)
if value then
value = mw.text.trim(value)
--Change empty string to nil for all args except 'image' and 'border'
if key=="image" or key=="border" or value~="" then
return value
end
end
return nil
end
} )
local preftext, sufftext = "", ""
if name == 'Flag+link' then
args.pref = args[1]
elseif name == 'Flag athlete' then
args.preftext = args[1]
args[2] = args.code or args[2] or ""
args.variant = args.variant or args[3]
elseif name == 'Flag medalist' then
preftext = (args[1] or "") .. "<br/>"
args[2] = args.code or args[2] or ""
args.variant = args.variant or args[3]
elseif name == 'Flag link' then
args.suff = args[2]
args[2] = args[1] or ""
args.variant = args.variant or args[3]
else
sports = {fb = 'fb', ['fb-rt'] = 'fb', fbicon = 'fb', ru = 'ru'}
if sports[name] then
args.avar = sports[name]
if name == 'fb' and yesno(args.align) == true then
args.align='c'
end
elseif name == "Flag team" and (args.code or args[1]) then
sufftext = ' <span style="font-size:90%;">('..(args.code or args[1])..')</span>'
end
args.variant = args.variant or args[2]
args[2] = args[1] or ""
end
args[1] = mode .. (args.opts or '')
args.missingcategory = categories[name]
args.noredlink = args.noredlink or 'notext'
if args.placeholder and yesno(args.placeholder) ~= true then
args[1] = args[1] .. 'o'
end
if mw.title.getCurrentTitle().namespace == 0 then
local unknown = '[[Category:Pages using ' .. mw.ustring.lower(name) ..
' template with unknown parameters|_VALUE_' .. frame:getParent():getTitle() .. ']]'
else
local unknown = ''
end
check = ''
if name == 'Flag icon' then
local opts = {
unknown=unknown,
preview='Page using [[Template:' .. name .. ']] with unknown parameter "_VALUE_"',
ignoreblank='y',
'1','2','variant','image','size','sz','border','align','al','width',
'w','alt','ilink','noredlink','missingcategory','name','clink','link',
'pref','suff','plink','the','section','altvar','avar','age','nalign',
'nal','text','nodata','opts','placeholder','getParent','frameonly'
}
check = require('Module:Check for unknown parameters')._check(opts,args)
end
return preftext .. require('Module:Flagg').luaMain(frame,args) .. sufftext .. check
end
local p = {
[''] = function (frame) return _main(frame, 'Flag', 'unc' ) end,
decoration = function (frame) return _main(frame, 'Flag decoration', 'uxx' ) end,
icon = function (frame) return _main(frame, 'Flag icon', 'cxxl' ) end,
link = function (frame) return _main(frame, 'Flag link', 'unpe' ) end,
['+link'] = function (frame) return _main(frame, 'Flag+link', 'unpefo') end,
country = function (frame) return _main(frame, 'Flag country', 'unce' ) end,
team = function (frame) return _main(frame, 'Flag team', 'unce' ) end,
athlete = function (frame) return _main(frame, 'Flag athlete', 'unape' ) end,
medalist = function (frame) return _main(frame, 'Flag medalist', 'unce' ) end,
fb = function (frame) return _main(frame, 'fb', 'unpe' ) end,
['fb-rt'] = function (frame) return _main(frame, 'fb-rt', 'unpre' ) end,
fbicon = function (frame) return _main(frame, 'fbicon', 'pxxl' ) end,
ru = function (frame) return _main(frame, 'ru', 'unpe' ) end,
IOC = function (frame) return require('Module:Country_alias').flagIOC(frame:newChild{ title = 'Template:Flag IOC' }) end,
IOC2 = function (frame) return require('Module:Country_alias').flagXYZ(frame:newChild{ title = 'Template:Flag IOC 2', args = {name = margs.getArgs(frame).name or '', type = 'name'} }) end,
IOCathlete = function (frame) return require('Module:Country_alias').flagXYZ(frame:newChild{ title = 'Template:Flag IOC athlete', args = {type = 'athlete-O'} }) end,
}
p['deco'] = p.decoration
p['IOC 2'] = p.IOC2
p['IOC athlete'] = p.IOCathlete
return p