وحدة:Flag
المظهر
صُنفت هذه الوحدة على أنها في مرحلة بيتا. عندما تصل الوحدة لهذه المرحلة، يمكن أن يوسع استخدامها في الصفحات الأخرى. لكن يجب توخي الحذر من أن الوحدات في هذه المرحلة ما زالت حديثة العهد لذلك وجب توخي الحذر عند الاستخدام وملاحظة أي أخطاء تنتج عنها. من العرف أن المجتمع سوف يوصل الوحدات في هذه المرحلة للتي بعدها عبر صفحات النقاش الخاصة بالوحدة أو أي مكان يعلن عن هذه الوحدة عبر ملاحظة أن هذه الوحدة تعمل بشكل صحيح والجميع راضٍ عن أدائها. |
هذه الوحدة مستخدمة في عدد كبير من الصفحات . لتفادي خلق بلبلة على نطاق واسع من الصفحات وزيادة الأعباء على الخوادم، يجب تجربة أي تعديل في هذه الصفحات الفرعية /ملعب أو /تجربة أو في ملعبك. بعدها يمكنك اضافة التعديلات دفعة واحدة، ورجاءً، لا تنسَ مناقشة أمر التعديلات أوّلًا قبل القيام بها. |
هذه الوحدة تعتمد على الوحدات الأخرى التالية: |
Lua-native alternative to popular flag templates. Can be used to reduce post-expand include size of pages with lots of templates, since it avoids calling multilevel templates.
الاستعمال
[عدل]- 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}}
Examples
[عدل]Template | Module | ||||
---|---|---|---|---|---|
Code | Output | PEIS | Code | Output | PEIS |
{{flag|CHN}} |
CHN | 443b | {{#استدعاء:flag||CHN}} |
الصين | 128b |
{{flagcountry|CHN}} |
الصين | 577b | {{#استدعاء:flag|country}} |
الصين | 128b |
{{flagdeco|CHN}} |
452b | {{#استدعاء:flag|deco}} |
107b | ||
{{flagicon|CHN}} |
548b | {{#استدعاء:flag|icon}} |
117b | ||
{{flag+link|History of|CHN}} |
الصين | 663b | {{#استدعاء:flag|+link}} |
الصين | 139b |
{{flag athlete|أندي موراي|GBR}} |
أندي موراي (GBR) | 617b | {{#استدعاء:flag|athlete}} |
أندي موراي (بريطانيا العظمى) | 210b |
{{flag medalist|أندي موراي|GBR}} |
أندي موراي بريطانيا العظمى |
469b | {{#استدعاء:flag|medalist}} |
أندي موراي بريطانيا العظمى |
129b |
Caveats
[عدل]When used inside a template, parameters from that template are passed to the module. This can be useful in some situations, but can lead to conflicts (for example, if the parent template has a parameter |country=
that is unrelated to the flag it is supposed to display). To prevent this behavior, add the |frameonly=
parameter to the module call, e.g. {{#استدعاء:flag|deco}}
.
local p = {}
function p._main(frame, name, mode, check)
local categories = {
Flagicon = '[[Category:Flag icons missing country data templates]]',
Flagdeco = '[[Category:Flag decoration missing country data templates]]',
}
local yesno = require('Module:Yesno')
--Get input arguments
local args = require('Module:Arguments').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 = ""
if name == 'Flag+link' then
args.pref = args[1]
elseif name == 'Flagathlete' then
args.preftext = args[1]
args[2] = args.code or args[2] or ""
args.variant = args.variant or args[3]
elseif name == 'Flagmedalist' then
preftext = (args[1] or "") .. "<br/>"
args[2] = args.code or args[2] or ""
args.variant = args.variant or args[3]
else
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
if check 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)
else
check = ''
end
return preftext .. require('Module:Flagg').luaMain(frame,args) .. check
end
function p.main(frame) return p._main(frame, 'Flag', 'unc', false) end
p.flag = p.main
p[''] = p.main
function p.deco(frame) return p._main(frame, 'Flagdeco', 'uxx', false) end
p.flagdeco = p.deco
function p.icon(frame) return p._main(frame, 'Flagicon', 'cxxl', true) end
p.flagicon = p.icon
function p.pluslink(frame) return p._main(frame, 'Flag+link', 'unpefo', false) end
p['+link'] = p.pluslink
p['flag+link'] = p.pluslink
function p.country(frame) return p._main(frame, 'Flagcountry', 'unce', false) end
p.flagcountry = p.country
function p.athlete(frame) return p._main(frame, 'Flagathlete', 'unape', false) end
p.flagathlete = p.athlete
function p.medalist(frame) return p._main(frame, 'Flagmedalist', 'unce', false) end
p.flagmedalist = p.medalist
return p