Modul:Otokat

Ji Wîkîpediya, ensîklopediya azad.
  • 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 = 
{
		{"Katsal b.z.", "^(%d+) b%.z%.$"},
		{"Katsal", "^(%d+)$"},
		{"katdehsal b.z.", "^(%d+)î b%.z%.$"},
		{"katdehsal", "^(%d+)î$"},
		{"katsedsal b.z.", "^Sedsala (%d+)ê?a?n? b%.z%.$"},
		{"katsedsal", "^Sedsala (%d+)ê?a?n?$"},

		{"MirinSal b.z.", "^Mirin (%d+) b%.z%.$"},
		{"MirinSal", "^Mirin (%d+)$"},
		{"MirinDehsal b.z.", "^Mirin (%d+)î b%.z%.$"},
		{"MirinDehsal", "^Mirin (%d+)î$"},
		{"MirinSedsal b.z.", "^Mirin sedsala (%d+)a?n?ê? b%.z%.$"},

		{"JidayikbûnSal b.z.", "^Jidayikbûn (%d+) b%.z%.$"},
		{"JidayikbûnSal", "^Jidayikbûn (%d+)$"},
		{"JidayikbûnDehsal b.z.", "^Jidayikbûn (%d+)î b%.z%.$"},
		{"JidayikbûnDehsal", "^Jidayikbûn (%d+)î$"},
		{"JidayikbûnSedsal b.z.", "^Jidayikbûn sedsala (%d+)a?n?ê? b%.z%.$"},

		{"DestpêkirinDehsal", "^Destpêkirinên (%d+)î$"},
		{'BidawîbûnDehsal', "^Bidawîbûnên (%d+)î$"},
		{'YYYY beginnings or endings category header', "^Destpêkirinên (%d+)a?n?ê?"},
		{"DestpêkirinSedsal b.z.", "^Destpêkirinên sedsala (%d+)a?n?ê? b%.z%.$"},
		{"DestpêkirinSedsal", "^Destpêkirinên sedsala (%d+)a?n?ê?$"},
		{'YYYY beginnings or endings category header', "^Bidawîbûnên (%d+)a?n?ê?"},
		{'BidawîbûnSedsal', "^Bidawîbûnên sedsala (%d+)a?n?ê?$"},
		{"FîlmSal", "^Fîlmên (%d+)a?n?ê?$"},
		{"FîlmDehsal", "^Fîlmên (%d+)î$"},
		{"FîlmSedsal", "^Fîlmên sedsala (%d+)ê?a?n?$"},

		{"BerhemSal", "^Berhemên (%d+)ê?a?n?$"},
		{"BerhemDehsal", "^Berhemên (%d+)î$"},
		{"BerhemSedsal", "^Berhemên sedsala (%d+)ê?a?n?$"},

		{"PirtûkSal", "^Pirtûkên (%d+)ê?a?n?$"},
		{"PirtûkDehsal", "^Pirtûkên (%d+)î$"},
		{"PirtûkSedsal", "^Pirtûkên sedsala (%d+)ê?a?n?$"},

		{"KesSedsal b.z.", "^Kesên sedsala (%d+)ê?a?n? b%.z%.$"},
		{"KesSedsal", "^Kesên sedsala (%d+)ê?a?n?$"},
		{"KesHezarsal b.z.", "^Kesên hezarsala (%d+)ê?a?n? b%.z%.$"},
		{"KesHezarsal", "^Kesên hezarsala (%d+)ê?a?n?$"},

		{"KurdSedsal", "^Kurdên sedsala (%d+)ê?a?n?$"},

		{'Salên sedsalê li gorî welatan', "^Salên sedsala (%d+)a?n?ê? li gorî welatan$"},
		{'Salên sedsalê li welatekî', "^Salên sedsala (%d+)a?n?ê? li.+$"},

		{'(Dis)establishments in year category header', "^Avabûnên (%d+)ê?a?n?$"},
		{'(Dis)establishments in decade category header', "^Avabûnên (%d+)î$"},
		{'(Dis)establishments in year category header', "^Hilweşînên (%d+)ê?a?n?$"},
		{'(Dis)establishments in decade category header', "^Hilweşînên (%d+)î$"},
		{"AvabûnSedsal b.z.", "^Avabûnên sedsala (%d+)ê?a?n? b%.z%.$"},
		{"AvabûnSedsal", "^Avabûnên sedsala (%d+)ê?a?n?$"},
		{"HilweşînSedsal b.z.", "^Hilweşînên sedsala (%d+)ê?a?n? b%.z%.$"},
		{"HilweşînSedsal", "^Hilweşînên sedsala (%d+)ê?a?n?$"},

		{"Estcatbycountry", "^Avabûnên (%d+)ê?a?n? li gorî welatan"},
		{"Avabûnên dehsalê li gorî welatan", "^Avabûnên (%d+)î li gorî welatan"},
		{"Sal li gorî welatan", "^(%d+) li gorî welatan$"},
		{"Dehsal li gorî welatan", "^(%d+)î li gorî welatan$"},
		{"Sedsal li gorî welatan", "^Sedsala (%d+)ê?a?n? li gorî welatan$"},
		{"Sal li gorî parzemînan", "^(%d+) li gorî parzemînan$"},
		{"Dehsal li gorî parzemînan", "^(%d+)î li gorî parzemînan$"},
		{"Sedsal li gorî parzemînan", "^Sedsala (%d+)ê?a?n? li gorî parzemînan$"},

		{"Avabûnên salekê li gorî parzemînan", "^Avabûnên (%d+)a?n?ê? li gorî parzemînan$"},
		{"Avabûnên dehsalekê li gorî parzemînan", "^Avabûnên (%d+)î li gorî parzemînan"},
		{"Kat çêkirina xelatê sal", "^Xelatên di (%d+)a?n?ê? de hatine çêkirin$"},
		{"Kat çêkirina xelatê dehsal", "^Xelatên di (%d+)î de hatine çêkirin$"},
		
		
		--wana gelek greedy ne
		{"katavaWelat", "^Avabûnên (%d+)ê?a?n? li .+$"},
		{"EstcatCountryDecade", "^Avabûnên (%d+)î li .+$"},
		{"KatavaWelatSedsal", "^Avabûnên sedsala (%d+)ê?a?n? li .+$"},

		{"Sedsal li welat/parzemîn", "^Sedsala (%d+)ê?a?n? li .+$"},
		{"Dehsal li welatekî", "^(%d+)î li .+$"},
		{"Sal li welat/parzemîn", "^(%d+) li .+$"},
		{"Salekî li welatekî", "^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 _, sablon_regex in ipairs(dane) do
		local sablon, regex = unpack(sablon_regex)
		if bibine(rupel, regex) then
			return show_editlink(sablon) .. mw.getCurrentFrame():expandTemplate{title = sablon, args = {}}		
		end	
	end

		if not dane.sablon  then
			return error('Şablona vê kategoriyê hîn nehatiye çêkirin')
			.. '[[Kategorî:Xeletiyên kategorîkirinê]]'
		end	
	
end


return k