ماڈیول:Flag
ظاہری ہیئت
| یہ ماڈیول بیٹا (beta) درجہ میں ہے اور وسیع پیمانے پر استعمال کے لیے تیار ہے۔ چونکہ یہ ابھی نیا ہے، اس لیے اسے قدرے احتیاط سے استعمال کریں تاکہ مطلوبہ نتائج کے حصول میں سہولت ہو۔ |
| یہ ماڈیول متعدد صفحات پر زیر استعمال ہے، اس لیے اس میں کی جانے والی تبدیلیاں بڑے پیمانے پر اثر انداز ہو سکتی ہیں۔ چنانچہ پہلے مطلوبہ تبدیلیوں کا تجربہ ماڈیول کے /تختہ مشق یا /ثابتات کے ذیلی صفحات پر کریں، یا اپنے ذاتی صارف صفحہ کے ذیلی صفحہ پر انھیں آزمائیں۔ نیز تبدیلیوں کے نفاذ سے قبل تبادلۂ خیال صفحہ پر گفتگو بھی فرما لیں تو مناسب ہوگا۔ |
| یہ ماڈیول ان دیگر ماڈیولز پر منحصر ہے: |
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.
Usage
[ترمیم]Generic flag templates
[ترمیم]- {{flag}} → {{#invoke:flag|}}
- {{flag country}} → {{#invoke:flag|country}}
- {{flag decoration}} (or {{flagdeco}}) → {{#invoke:flag|decoration}} (or {{#invoke:flag|deco}})
- {{flag icon}} → {{#invoke:flag|icon}}
- {{flag link}} → {{#invoke:flag|link}}
- {{flag+link}} → {{#invoke:flag|+link}}
- {{flag list}} → {{#invoke:flag|list}}
- {{flagu}} → {{#invoke:flag|u}}
Sports flag templates
[ترمیم]- {{flag team}} → {{#invoke:flag|team}}
- {{flag athlete}} → {{#invoke:flag|athlete}}
- {{flag medalist}} → {{#invoke:flag|medalist}}
- {{flag IOC}} → {{#invoke:flag|IOC}}
- {{flag IOC 2}} → {{#invoke:flag|IOC 2}}
- {{flag IOC athlete}} → {{#invoke:flag|IOC athlete}}
- {{3x3}} → {{#invoke:flag|3x3}}
- {{bb}} → {{#invoke:flag|bb}}
- {{fb}} → {{#invoke:flag|fb}}
- {{fb-rt}} → {{#invoke:flag|fb-rt}}
- {{fba}} → {{#invoke:flag|fba}}
- {{fbw}} → {{#invoke:flag|fbw}}
- {{fbw-rt}} → {{#invoke:flag|fbw-rt}}
- {{fbicon}} → {{#invoke:flag|fbicon}}
- {{fbaicon}} → {{#invoke:flag|fbaicon}}
- {{futsal}} → {{#invoke:flag|futsal}}
- {{futsal-rt}} → {{#invoke:flag|futsal-rt}}
- {{ru}} → {{#invoke:flag|ru}}
Examples
[ترمیم]| Template | Module | ||||
|---|---|---|---|---|---|
| Code | Output | PEIS | Code | Output | PEIS |
{{flag|CHN}} |
443b | {{#invoke:flag||CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 128b | |
{{flag country|CHN}} |
577b | {{#invoke:flag|country|CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 128b | |
{{flag decoration|CHN}}/{{flag deco|CHN}} |
سانچہ:Flag deco | 452b | {{#invoke:flag|decoration|CHN}}/{{#invoke:flag|deco|CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 107b |
{{flag icon|CHN}} |
548b | {{#invoke:flag|icon|CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 117b | |
{{flag link|CHN|at the 2004 Summer Olympics}} |
497b | {{#invoke:flag|link|CHN|at the 2004 Summer Olympics}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 198b | |
{{flag+link|History of|CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ [[چین|چین]]
|
663b | {{#invoke:flag|+link|History of|CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 139b |
{{flag list|SWI}} |
685b | {{#invoke:flag|list|SWI}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 254b | |
{{flagu|CHN}} |
365b | {{#invoke:flag|u|CHN}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 162b | |
{{flag team|GBR}} |
804b | {{#invoke:flag|team|GBR}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 193b | |
{{flag athlete|انڈی مرے|GBR}} |
617b | {{#invoke:flag|athlete|انڈی مرے|GBR}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 210b | |
{{flag medalist|انڈی مرے|GBR}} |
انڈی مرے |
469b | {{#invoke:flag|medalist|انڈی مرے|GBR}} |
لوا خطا ماڈیول:Flagg میں 77 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 129b |
{{flag IOC|CAN|1924 Winter|1}} |
326b | {{#invoke:flag|IOC|CAN|1924 Winter|1}} |
163b | ||
{{flag IOC 2|HKG|1954 Asian Games|1}} |
368b | {{#invoke:flag|IOC 2|HKG|1954 Asian Games|1}} |
184b | ||
{{flag IOC athlete|Mark Spitz|USA|1972 Summer}} |
346b | {{#invoke:flag|IOC athlete|Mark Spitz|USA|1972 Summer}} |
178b | ||
{{fb|CHN}} |
560b | {{#invoke:flag|fb|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 151b | |
{{fb-rt|CHN}} |
China PR |
482b | {{#invoke:flag|fb-rt|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 151b |
{{fbicon|CHN}} |
444b | {{#invoke:flag|fbicon|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 163b | |
{{fba|CHN}} |
625b | {{#invoke:flag|fba|CHN}} |
لوا خطا سطر 71 پر: attempt to call field 'getcachedtable' (a nil value)۔ | 149b | |
{{fbaicon|CHN}} |
{{#invoke:flag|fbaicon|CHN}} || لوا خطا سطر 71 پر: attempt to call field 'getcachedtable' (a nil value)۔ || 159b
| ||||
{{fbw|CHN}} |
318b | {{#invoke:flag|fbw|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 183b | |
{{fbw-rt|CHN}} |
چین |
506b | {{#invoke:flag|fbw-rt|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 190b |
{{futsal|CHN}} |
سانچہ:Futsal | 476b | {{#invoke:flag|futsal|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 149b |
{{futsal-rt|CHN}} |
سانچہ:Futsal-rt | 476b | {{#invoke:flag|futsal-rt|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 156b |
{{ru|CHN}} |
646b | {{#invoke:flag|ru|CHN}} |
لوا خطا ماڈیول:Flagg میں 73 سطر پر: attempt to call field 'getcachedtable' (a nil value)۔ | 210b | |
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. {{#invoke:flag|deco|CHN|frameonly=true}}.
| اوپر دی گئی دستاویز صفحہ ماڈیول:Flag/دستاویز سے شامل کی گئی ہے۔ (ترمیم | تاریخچہ) صارفین ماڈیول کے تختہ مشق (تخلیق | آئینہ) اور ثابتات (تخلیق) میں تجربات کرسکتے ہیں۔ اس ماڈیول کے ذیلی صفحات۔ |
local margs = require('Module:Arguments')
local notblank = function (v) return (v or '') ~= '' end
local function _main(frame, name, mode, key)
local categories = {
['Flag icon'] = '[[زمرہ:ملک کے ڈیٹا سانچے جن مین پرچم کے آئیکن غائب ہیں]]' ..
frame:expandTemplate{title = 'Preview warning', args = {'Unrecognized country in Template:flag icon'}},
['Flag decoration'] = '[[زمرہ:ملک کے ڈیٹا سانچے جن مین پرچم کے ڈیکوریشن غائب ہیں]]',
}
local yesno = require('Module:Yesno')
--Get input arguments
local args = margs.getArgs(frame, {
frameOnly = notblank(frame.args.frameonly), valueFunc =
function(argkey,value)
if value then
value = mw.text.trim(value)
--Change empty string to nil for all args except 'image' and 'border'
if argkey=="image" or argkey=="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]
elseif key ~= nil then
args.variant = args.variant or args[1]
args[2] = key
else
local sports = {
['3x3'] = '3x3',
bb = 'bb',
fb = 'fb',
fbicon = 'fb',
ru = 'ru',
fba = 'fba',
fbw = 'fbw',
fbaicon = 'fba',
futsal = 'futsal'
}
if sports[name]then
args.avar = args[1] and sports[name] or nil
if name == 'fb' and yesno(args.align) == true then
args.align='c'
elseif sports[name] == 'fba' then
if args[1] then
local list = require("Module:Fba/list")
local old = notblank(args.old) and "_old" or ""
local country = args[1]
local fba = list.fbas[country .. old]
if not fba then -- look for aliases
local countryTable = require('Module:CountryData').getcachedtable(frame, country)
if countryTable and countryTable.alias then
country = countryTable.alias
fba = list.fbas[country .. old]
end
end
if args.name == "code" then
args.name = list.codes[country] or country
elseif args.name == "full" then
args.name = fba
end
if fba then
mode = string.gsub(mode, "p", "c")
args.link = fba
end
args.altlink = args.old
elseif args.name == "code" or args.name == "full" then
args.name = ""
end
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 = notblank(args[2]) and categories[name] or nil
args.noredlink = args.noredlink or 'notext'
if args.placeholder and yesno(args.placeholder) ~= true then
args[1] = args[1] .. 'o'
end
local check = ''
if name == 'Flag icon' and mw.title.getCurrentTitle().namespace == 0 then
local unknown = '[[Category:Pages using ' .. mw.ustring.lower(name) ..
' template with unknown parameters|_VALUE_' .. frame:getParent():getTitle() .. ']]'
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,
u = function (frame) return _main(frame, 'Flag', 'unu' ) end,
country = function (frame) return _main(frame, 'Flag country', 'unce' ) end,
list = function (frame) return _main(frame, 'Flag list', 'usc' ) 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,
['3x3'] = function (frame) return _main(frame, '3x3', 'unpe' ) end,
bb = function (frame) return _main(frame, 'bb', 'unpe' ) end,
fb = function (frame) return _main(frame, 'fb', 'unpe' ) end,
fba = function (frame) return _main(frame, 'fba', 'unpe' ) end,
['fb-rt'] = function (frame) return _main(frame, 'fb', 'unpre' ) end,
fbw = function (frame) return _main(frame, 'fbw', 'unpe' ) end,
['fbw-rt'] = function (frame) return _main(frame, 'fbw', 'unpre' ) end,
fbicon = function (frame) return _main(frame, 'fbicon', 'pxxl' ) end,
fbaicon = function (frame) return _main(frame, 'fbaicon', 'pxxl' ) end,
futsal = function (frame) return _main(frame, 'futsal', 'unpe' ) end,
['futsal-rt'] = function (frame) return _main(frame, 'futsal', 'unpre' ) 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 setmetatable (p, {['__index'] = -- returns table p with the metatable __index set so that, if the table KEY isn't recognized, it returns
function (_, key) -- this anonymous function called as function(p, KEY)
return function (frame) return _main(frame, 'Flag', 'unc', key) end -- which interprets the module call as {{پرچم|KEY}} and passes it to _main()
end
})