Module:CapitalizationCheck

local p = {} local getArgs = require('Module:Arguments').getArgs data = mw.loadData("Module:CapitalizationCheck/Data")

function checkFirstGen(s) if s == "DnM" then return true elseif s == "Doubutsu no Mori" then return true elseif s == "DnM+" then return true elseif s == "Doubutsu no Mori+" then return true elseif s == "PG" then return true elseif s == "Animal Crossing" then return true elseif s == "DnMe+" then return true elseif s == "Doubutsu no Mori e+" then return true elseif s == "iQue" then return true elseif s == "Dòngwù Sēnlín" then return true elseif s == "Dongwu Senlin" then return true else return false end end

function p.main(frame) local args        = getArgs(frame) local compare     = args[1] or '' local game        = args[2] or '' return p.checkCaps(compare, game) end

function p.checkCaps(compare, game) local print = '' local sentenceCase = "" if checkFirstGen(game) then if compare ~= data.firstGen[compare:lower] then print = print .. "Wrong." elseif mw.getContentLanguage:ucfirst(compare) ~= mw.getContentLanguage:ucfirst(data.firstGen[compare:lower]) then print = print .. "Wrong." end elseif game == "WW" or game == "Wild World" then if compare ~= data.wildWorld[compare:lower] then print = print .. "Wrong." elseif mw.getContentLanguage:ucfirst(compare) ~= mw.getContentLanguage:ucfirst(data.wildWorld[compare:lower]) then print = print .. "Wrong." end elseif game == "NH" or game == "New Horizons" then sentenceCase = mw.getContentLanguage:ucfirst(data.newHorizons[compare:lower]) if mw.getContentLanguage:ucfirst(compare) ~= sentenceCase then print = print .. "Wrong." elseif compare ~= data.newHorizons[compare:lower] then print = print .. "Wrong." end end return print end

return p