No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
function Flags.icon(flagString, category) | function Flags.icon(flagString, category) | ||
local flagKey = Flags._convertToKey(flagString) | local flagKey = Flags._convertToKey(flagString) | ||
if flagKey then | if flagKey then | ||
local flagData = MasterData.data[flagKey] | local flagData = MasterData.data[flagKey] | ||
local link = 'Category:'.. category .. '/' .. flagData.name | local link = '' | ||
if category then | |||
local link = 'Category:'.. category .. '/' .. flagData.name | |||
return '<span class="flag">[[' .. flagData.img .. '|' .. flagData.name .. '|link=' .. link .. '|]]</span>' | |||
else | |||
return '<span class="flag">[[File:' .. flagData.img .. '|' .. flagData.name .. ']]</span>' | |||
end | |||
else | else | ||
mw.log('Unknown flag: ', flagName) | mw.log('Unknown flag: ', flagName) |
Revision as of 09:15, 6 October 2022
Documentation for this module may be created at Module:Flags/doc
local MasterData = mw.loadData('Module:Flags/MasterData')
local Flags = {}
function Flags.icon(flagString, category)
local flagKey = Flags._convertToKey(flagString)
if flagKey then
local flagData = MasterData.data[flagKey]
local link = ''
if category then
local link = 'Category:'.. category .. '/' .. flagData.name
return '<span class="flag">[[' .. flagData.img .. '|' .. flagData.name .. '|link=' .. link .. '|]]</span>'
else
return '<span class="flag">[[File:' .. flagData.img .. '|' .. flagData.name .. ']]</span>'
end
else
mw.log('Unknown flag: ', flagName)
return false
end
end
-- Converts a country name, flag code, or alias to a standardized country name
function Flags.CountryName(flagName)
if (flagName == nil or flagName == '') then
return ''
end
local flagKey = Flags._convertToKey(flagName)
if flagKey then
return MasterData.data[flagKey].name
else
mw.log('Unknown flag: ', flagName)
return mw.text.trim(mw.text.split(Template.safeExpand(mw.getCurrentFrame(), 'Flag/' .. flagName), '|', true)[2] or '')
end
end
function Flags._convertToKey(flagName)
flagName = flagName:gsub(' ', ''):lower()
return MasterData.twoLetter[flagName]
or MasterData.threeLetter[flagName]
or MasterData.aliases[flagName]
or (MasterData.data[flagName] and flagName)
end
return Flags