Modul:Otokat/ceribandin
Ev ceribandina modulê ji bo Modul:Otokat (cudahî) e. |
Belgekirina modulê[nîşan bide] [biguhêre] [dîrokê bibîne] [rojane bike]
- Ev modul li gorî navê kategoriyekê şablona kategorîkirinê lê zêde dike. Bi şablona {{otokat}} tê bikaranîn.
--Ev modul li gorî navê kategoriyekê şablona kategorîkirinê lê zêde dike. Bi şablona {{ş|kategorîkirin}} tê bikaranîn
local k = {}
local bibine = mw.ustring.find
local rupel = mw.title.getCurrentTitle().text
local dane =
{
{template = "Katsal b.z.",
kuwiki_regex = "^(%d+) b%.z%.$",
kuwiki_title = "%d b.z.",
enwiki_regex = "^(%d+) BC$",
enwiki_title = "%d BC"
},
{template = "Katsal",
kuwiki_regex = "^(%d+)$",
kuwiki_title = "%d",
enwiki_regex = "^(%d+)$",
enwiki_title = "%d",
},
{template = "katdehsal b.z.",
kuwiki_regex = "^(%d+)î b%.z%.$",
kuwiki_title = "%dî b.z.",
enwiki_title = "%ds BC",
enwiki_regex = "^(%d+)s BC$"
},
{template = "katdehsal",
kuwiki_regex = "^(%d+)î$",
kuwiki_title = "%dî",
enwiki_title = "%ds",
enwiki_regex = "^(%d+)s$"
},
{template = "katsedsal b.z.",
kuwiki_regex = "^Sedsala (%d+)ê?a?n? b%.z%.$",
kuwiki_title = "Sedsala %d b.z.",
enwiki_title = "%d century BE",
enwiki_regex = "^(%d+)" .. en_sfx .. " century BC"
},
{template = "katsedsal",
kuwiki_regex = "^Sedsala (%d+)" .. ku_sfx .. " $",
kuwiki_title = "Sedsala %d" .. ku_sfx,
enwiki_title = "%d" .. en_sfx .. " century",
enwiki_regex = "^(%d+)" .. en_sfx .. " century$"
},
{template = "MirinSal b.z.",
kuwiki_regex = "^Mirin (%d+) b%.z%.$",
enwiki_regex = "%d BC deaths"
},
{template = "MirinSal",
kuwiki_regex = "^Mirin (%d+)$",
enwiki_regex = "%d deaths"
},
{template = "MirinDehsal b.z.",
kuwiki_regex = "^Mirin (%d+)î b%.z%.$",
enwiki_regex = "%ds BC deaths"
},
{template = "MirinDehsal",
kuwiki_regex = "^Mirin (%d+)î$",
enwiki_regex = "^Mirin (%d+)î$"
},
{template = "MirinSedsal b.z.",
kuwiki_regex = "^Mirin sedsala (%d+)a?n?ê? b%.z%.$",
enwiki_regex = "^Mirin sedsala (%d+)a?n?ê? b%.z%.$"
},
{template = "JidayikbûnSal b.z.",
kuwiki_regex = "^Jidayikbûn (%d+) b%.z%.$",
enwiki_regex = "^Jidayikbûn (%d+) b%.z%.$"
},
{template = "JidayikbûnSal",
kuwiki_regex = "^Jidayikbûn (%d+)$",
enwiki_regex = "^Jidayikbûn (%d+)$"
},
{template = "JidayikbûnDehsal b.z.",
kuwiki_regex = "^Jidayikbûn (%d+)î b%.z%.$",
enwiki_regex = "^Jidayikbûn (%d+)î b%.z%.$"
},
{template = "JidayikbûnDehsal",
kuwiki_regex = "^Jidayikbûn (%d+)î$",
enwiki_regex = "^Jidayikbûn (%d+)î$"
},
{template = "JidayikbûnSedsal b.z.",
kuwiki_regex = "^Jidayikbûn sedsala (%d+)a?n?ê? b%.z%.$",
enwiki_regex = "^Jidayikbûn sedsala (%d+)a?n?ê? b%.z%.$"
},
{template = "DestpêkirinDehsal",
kuwiki_regex = "^Destpêkirinên (%d+)î$",
enwiki_regex = "^Destpêkirinên (%d+)î$"
},
{template = "BidawîbûnDehsal",
kuwiki_regex = "^Bidawîbûnên (%d+)î$",
enwiki_regex = "^Bidawîbûnên (%d+)î$"
},
{template = "YYYY beginnings or endings category header",
kuwiki_regex = "^Destpêkirinên (%d+)a?n?ê?",
enwiki_regex = "^Destpêkirinên (%d+)a?n?ê?"
},
{template = "DestpêkirinSedsal b.z.",
kuwiki_regex = "^Destpêkirinên sedsala (%d+)a?n?ê? b%.z%.$",
enwiki_regex = "^Destpêkirinên sedsala (%d+)a?n?ê? b%.z%.$"
},
{template = "DestpêkirinSedsal",
kuwiki_regex = "^Destpêkirinên sedsala (%d+)a?n?ê?$",
enwiki_regex = "^Destpêkirinên sedsala (%d+)a?n?ê?$"
},
{template = "YYYY beginnings or endings category header",
kuwiki_regex = "^Bidawîbûnên (%d+)a?n?ê?",
enwiki_regex = "^Bidawîbûnên (%d+)a?n?ê?"
},
{template = "BidawîbûnSedsal",
kuwiki_regex = "^Bidawîbûnên sedsala (%d+)a?n?ê?$",
enwiki_regex = "^Bidawîbûnên sedsala (%d+)a?n?ê?$"
},
{template = "FîlmSal",
kuwiki_regex = "^Fîlmên (%d+)a?n?ê?$",
enwiki_regex = "^Fîlmên (%d+)a?n?ê?$"
},
{template = "FîlmDehsal",
kuwiki_regex = "^Fîlmên (%d+)î$",
enwiki_regex = "^Fîlmên (%d+)î$"
},
{template = "FîlmSedsal",
kuwiki_regex = "^Fîlmên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Fîlmên sedsala (%d+)ê?a?n?$"
},
{template = "BerhemSal",
kuwiki_regex = "^Berhemên (%d+)ê?a?n?$",
enwiki_regex = "^Berhemên (%d+)ê?a?n?$"
},
{template = "BerhemDehsal",
kuwiki_regex = "^Berhemên (%d+)î$",
enwiki_regex = "^Berhemên (%d+)î$"
},
{template = "BerhemSedsal",
kuwiki_regex = "^Berhemên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Berhemên sedsala (%d+)ê?a?n?$"
},
{template = "PirtûkSal",
kuwiki_regex = "^Pirtûkên (%d+)ê?a?n?$",
enwiki_regex = "^Pirtûkên (%d+)ê?a?n?$"
},
{template = "PirtûkDehsal",
kuwiki_regex = "^Pirtûkên (%d+)î$",
enwiki_regex = "^Pirtûkên (%d+)î$"
},
{template = "PirtûkSedsal",
kuwiki_regex = "^Pirtûkên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Pirtûkên sedsala (%d+)ê?a?n?$"
},
{template = "KesSedsal b.z.",
kuwiki_regex = "^Kesên sedsala (%d+)ê?a?n? b%.z%.$",
enwiki_regex = "^Kesên sedsala (%d+)ê?a?n? b%.z%.$"
},
{template = "KesSedsal",
kuwiki_regex = "^Kesên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Kesên sedsala (%d+)ê?a?n?$"
},
{template = "KesHezarsal b.z.",
kuwiki_regex = "^Kesên hezarsala (%d+)ê?a?n? b%.z%.$",
enwiki_regex = "^Kesên hezarsala (%d+)ê?a?n? b%.z%.$"
},
{template = "KesHezarsal",
kuwiki_regex = "^Kesên hezarsala (%d+)ê?a?n?$",
enwiki_regex = "^Kesên hezarsala (%d+)ê?a?n?$"
},
{template = "KurdSedsal",
kuwiki_regex = "^Kurdên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Kurdên sedsala (%d+)ê?a?n?$"
},
{template = "Salên sedsalê li gorî welatan",
kuwiki_regex = "^Salên sedsala (%d+)a?n?ê? li gorî welatan$",
enwiki_regex = "^Salên sedsala (%d+)a?n?ê? li gorî welatan$"
},
{template = "Salên sedsalê li welatekî",
kuwiki_regex = "^Salên sedsala (%d+)a?n?ê? li.+$",
enwiki_regex = "^Salên sedsala (%d+)a?n?ê? li.+$"
},
{template = "(Dis)establishments in year category header",
kuwiki_regex = "^Avabûnên (%d+)ê?a?n?$",
enwiki_regex = "^Avabûnên (%d+)ê?a?n?$"
},
{template = "(Dis)establishments in decade category header",
kuwiki_regex = "^Avabûnên (%d+)î$",
enwiki_regex = "^Avabûnên (%d+)î$"
},
{template = "(Dis)establishments in year category header",
kuwiki_regex = "^Hilweşînên (%d+)ê?a?n?$",
enwiki_regex = "^Hilweşînên (%d+)ê?a?n?$"
},
{template = "(Dis)establishments in decade category header",
kuwiki_regex = "^Hilweşînên (%d+)î$",
enwiki_regex = "^Hilweşînên (%d+)î$"
},
{template = "AvabûnSedsal b.z.",
kuwiki_regex = "^Avabûnên sedsala (%d+)ê?a?n? b%.z%.$",
enwiki_regex = "^Avabûnên sedsala (%d+)ê?a?n? b%.z%.$"
},
{template = "AvabûnSedsal",
kuwiki_regex = "^Avabûnên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Avabûnên sedsala (%d+)ê?a?n?$"
},
{template = "HilweşînSedsal b.z.",
kuwiki_regex = "^Hilweşînên sedsala (%d+)ê?a?n? b%.z%.$",
enwiki_regex = "^Hilweşînên sedsala (%d+)ê?a?n? b%.z%.$"
},
{template = "HilweşînSedsal",
kuwiki_regex = "^Hilweşînên sedsala (%d+)ê?a?n?$",
enwiki_regex = "^Hilweşînên sedsala (%d+)ê?a?n?$"
},
{template = "Estcatbycountry",
kuwiki_regex = "^Avabûnên (%d+)ê?a?n? li gorî welatan",
enwiki_regex = "^Avabûnên (%d+)ê?a?n? li gorî welatan"
},
{template = "Avabûnên dehsalê li gorî welatan",
kuwiki_regex = "^Avabûnên (%d+)î li gorî welatan",
enwiki_regex = "^Avabûnên (%d+)î li gorî welatan"
},
{template = "Sal li gorî welatan",
kuwiki_regex = "^(%d+) li gorî welatan$",
enwiki_regex = "^(%d+) li gorî welatan$"
},
{template = "Dehsal li gorî welatan",
kuwiki_regex = "^(%d+)î li gorî welatan$",
enwiki_regex = "^(%d+)î li gorî welatan$"
},
{template = "Sedsal li gorî welatan",
kuwiki_regex = "^Sedsala (%d+)ê?a?n li gorî welatan$",
enwiki_regex = "^Sedsala (%d+)ê?a?n li gorî welatan$"
},
{template = "Sedsal li gorî parzemînan",
kuwiki_regex = "^Sedsala (%d+)ê?a?n li gorî parzemînan$",
enwiki_regex = "^Sedsala (%d+)ê?a?n li gorî parzemînan$"
},
{template = "katavaWelat",
kuwiki_regex = "^Avabûnên (%d+)ê?a?n? li .+$",
enwiki_regex = "^Avabûnên (%d+)ê?a?n? li .+$"
},
{template = "Kat çêkirina xelatê sal",
kuwiki_regex = "^Xelatên di (%d+)a?n?ê? de hatine çêkirin$",
enwiki_regex = "^Xelatên di (%d+)a?n?ê? de hatine çêkirin$"
},
{template = "Sedsal li welat/parzemîn",
kuwiki_regex = "^Sedsala (%d+)ê?a?n? li .+$",
enwiki_regex = "^Sedsala (%d+)ê?a?n? li .+$"
},
{template = "Dehsal li welatekî",
kuwiki_regex = "^(%d+)î li .+$",
enwiki_regex = "^(%d+)î li .+$"
},
{template = "Sal li welatekî",
kuwiki_regex = "^(%d+) li .+$",
enwiki_regex = "^(%d+) li .+$"
},
{template = "Salekî li welatekî",
kuwiki_regex = "^Sal li .+$",
enwiki_regex = "^Sal li .+$"
},
}
function link_box(content)
return "<div class=\"noprint plainlinks\" style=\"float: right; clear: both; margin: 0 0 .5em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; margin-top: -1px; padding: 5px; font-weight: bold;\">"
.. content .. "</div>"
end
function show_editlink(current)
return link_box(
"[" .. tostring(mw.uri.fullUrl('Şablon:'..current, "action=edit"))
.. " Daneyên kategoriyê biguhêre]")
end
function k.biwesine(frame)
if mw.title.getCurrentTitle().nsText == 'Şablon' then
return '(Ev şablon tenê li ser rûpelên [[Wîkîpediya:Kategorîkirin|kategoriyan]] tê bikaranîn.)'
end
for _, entry in ipairs(dane) do
local template = entry.template
local kuwikiRegex = entry.kuwiki_regex
local enwikiRegex = entry.enwiki_regex
if bibine(rupel, kuwikiRegex) then
return show_editlink(template) .. mw.getCurrentFrame():expandTemplate{title = template, args = {}}
end
end
if not entry.template then
return error('Şablona vê kategoriyê hîn nehatiye çêkirin')
.. '[[Kategorî:Xeletiyên kategorîkirinê]]'
end
end
function k.biwesine_en(frame)
local args = frame:getParent().args
local title = args[1] or frame.args[1]
local enwiki = k.getEnwikiTitle(title)
return enwiki
end
function k.getEnwikiTitle(title)
for _, entry in ipairs(dane) do
local template = entry.template
local kuwikiRegex = entry.kuwiki_regex
local enwikiRegex = entry.enwiki_regex
local match = mw.ustring.match(title, kuwikiRegex)
if match then
local enwikiTitle = "Category:" .. getOrdinalSuffix(enwikiRegex:gsub("%%d", match)):gsub("%%a", match)
return enwikiTitle
end
end
-- Handle cases when no match is found
end
function k.getOrdinalSuffix(number)
local lastDigit = tonumber(string.sub(number, -1))
if lastDigit == 1 and number ~= "11" then
return "st"
elseif lastDigit == 2 and number ~= "12" then
return "nd"
elseif lastDigit == 3 and number ~= "13" then
return "rd"
else
return "th"
end
end
return k