Difference between revisions of "Module:CountryAdjectiveDemonym"
Jump to navigation
Jump to search
blackwiki>BrownHairedGirl (test) |
blackwiki>BrownHairedGirl (fmt) |
||
| Line 50: | Line 50: | ||
CountryNameDemonymDoLoadData() | CountryNameDemonymDoLoadData() | ||
end | end | ||
| − | local retval = " Function: getCountryFromAdjective \n" | + | local retval = "* Function: getCountryFromAdjective \n" |
| − | retval = retval .. " Counter = " .. CountryNameDemonymNameCounter .. "\n" | + | retval = retval .. "* Counter = " .. CountryNameDemonymNameCounter .. "\n" |
| − | retval = retval .. " input = " .. s .. "\n" | + | retval = retval .. "* input = " .. s .. "\n" |
local s2 = countryAdjectivesToNounsTable[s] | local s2 = countryAdjectivesToNounsTable[s] | ||
| − | retval = retval .. "result = " | + | retval = retval .. "* result = " |
if s2 == nil then | if s2 == nil then | ||
retval = retval .. "[nil]" | retval = retval .. "[nil]" | ||
Revision as of 13:12, 7 October 2019
Documentation for this module may be created at Module:CountryAdjectiveDemonym/doc
local CountryNameDemonym = { }
local CountryNameDemonymDataLoaded = false
local CountryNameDemonymNameCounter = 0
local countryAdjectivesToNounsTable = {
}
local countryNounstoAdjectivesTable = {
}
local countriesPrefixedByTheTable = {
}
function CountryNameDemonymDoLoadData()
countriesPrefixedByTheTable = mw.loadData( 'Module:CountryNameDemonym/the' )
countryNounstoAdjectivesTable = mw.loadData( 'Module:CountryNameDemonym/adjectives' )
local myCounter = 0
local myNoun, myAdj
for myNoun, myAdj in pairs(countryNounstoAdjectivesTable) do
countryAdjectivesToNounsTable[myAdj] = myNoun
myCounter = myCounter + 1
end
CountryNameDemonymNameCounter = myCounter
CountryNameDemonymDataLoaded = true
return myCounter
end
-- ############### Publicly accesible functions #######################
-- if the country name is prefixed by "the" in running text,
-- then return that prefix
-- Otherwise just return an empty string
function CountryNameDemonym.countryPrefixThe(frame)
local s = frame.args[1]
if not CountryNameDemonymDataLoaded then
CountryNameDemonymDoLoadData()
end
if (countriesPrefixedByTheTable[s] == true) then
return "the "
end
return ""
end
function CountryNameDemonym.getCountryFromAdjective(frame)
local s = frame.args[1]
if not CountryNameDemonymDataLoaded then
CountryNameDemonymDoLoadData()
end
local retval = "* Function: getCountryFromAdjective \n"
retval = retval .. "* Counter = " .. CountryNameDemonymNameCounter .. "\n"
retval = retval .. "* input = " .. s .. "\n"
local s2 = countryAdjectivesToNounsTable[s]
retval = retval .. "* result = "
if s2 == nil then
retval = retval .. "[nil]"
else
retval = retval .. s2
end
return retval
end
function CountryNameDemonym.getAdjectiveFromCountry(frame)
local s = frame.args[1]
if not CountryNameDemonymDataLoaded then
CountryNameDemonymDoLoadData()
end
return countryNounstoAdjectivesTable[s]
end
function CountryNameDemonym.stripThe(frame)
local s = frame.args[1]
if s == nil then
return nil
end
if mw.ustring.match( s, "^[T]he Gambia$") ~= nil then
return s
end
local stripped = mw.ustring.gsub(s, "^[tT]he ", "")
return stripped
end
return CountryNameDemonym