(Created page with "local MasterData = mw.loadData('Module:Flags/MasterData') local Template = require('Module:Template') local Logic = require('Module:Logic') local Table = require('Module:Table') local String = require('Module:StringUtils') local FnUtil = require('Module:FnUtil') local Class = require('Module:Class') local Flags = {} -- Returns a flag --[[ supported args are: flag - country name, flag code, or alias of the Flag shouldLink - boolean that decides if the flag should link...") |
mNo edit summary |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local MasterData = mw.loadData('Module:Flags/MasterData') | local MasterData = mw.loadData('Module:Flags/MasterData') | ||
local Flags = {} | local Flags = {} | ||
function Flags.icon(flagString, category) | |||
flagString = mw.text.split(flagString, ',')[1] | |||
local flagKey = Flags._convertToKey(flagString) | |||
function Flags. | |||
local flagKey = Flags._convertToKey( | |||
if flagKey then | if flagKey then | ||
local flagData = MasterData.data[flagKey] | local flagData = MasterData.data[flagKey] | ||
if | -- if category then | ||
-- local link = 'Category:'.. category .. '/' .. flagData.name | |||
-- return '[[' .. flagData.img .. '|' .. flagData.name .. '|link=' .. link .. '|20px]]' | |||
-- else | |||
return '[[' .. flagData.img .. '|' .. flagData.name .. '|20px|link=]]' | |||
-- end | |||
else | |||
else | mw.log('Unknown flag: ', flagString) | ||
return ' | return false | ||
else | |||
mw.log('Unknown flag: ', | |||
return | |||
end | end | ||
end | end | ||
-- Converts a country name, flag code, or alias to a standardized country name | -- Converts a country name, flag code, or alias to a standardized country name | ||
function Flags.CountryName(flagName) | function Flags.CountryName(flagName) | ||
if | if (flagName == nil or flagName == '') then | ||
return '' | return '' | ||
end | end | ||
Line 88: | Line 37: | ||
end | end | ||
function Flags._convertToKey(flagName) | function Flags._convertToKey(flagName) | ||
flagName = flagName:gsub(' ', ''):lower() | flagName = flagName:gsub(' ', ''):lower() | ||
return MasterData.twoLetter[flagName] | return MasterData.twoLetter[flagName] | ||
or MasterData.threeLetter[flagName] | or MasterData.threeLetter[flagName] | ||
Line 153: | Line 45: | ||
end | end | ||
return Flags | |||
return |
Latest revision as of 14:03, 11 March 2024
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)
flagString = mw.text.split(flagString, ',')[1]
local flagKey = Flags._convertToKey(flagString)
if flagKey then
local flagData = MasterData.data[flagKey]
-- if category then
-- local link = 'Category:'.. category .. '/' .. flagData.name
-- return '[[' .. flagData.img .. '|' .. flagData.name .. '|link=' .. link .. '|20px]]'
-- else
return '[[' .. flagData.img .. '|' .. flagData.name .. '|20px|link=]]'
-- end
else
mw.log('Unknown flag: ', flagString)
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