İçeriğe atla

Modül:kategori ağacı/karakter

Vikisözlük sitesinden
Modül belgelemesi [Oluştur]


p = {}

local jsort = require("Modül:ja").jsort

function p.hiyerasi(tum)
	local tablo = {}
	
	dil = require("Modül:diller").getirKodaGore(tum.par["dil"])
	
	table.insert(tablo, "[[:Kategori:Ana kategoriler|Ana kategoriler]]")
	table.insert(tablo, "[[:Kategori:Tüm diller|Tüm diller]]")
	table.insert(tablo, "[[:Kategori:".. dil:getirAsilAd() .."|".. dil:getirAsilAd() .."]]")
	table.insert(tablo, "[[:Kategori:".. dil:getirAsilAd() .." sözlüksel özelliklerine göre sözcükler|Sözlüksel özelliklerine göre sözcükler]]")
	table.insert(tablo, "[[:Kategori:".. dil:getirAsilAd() .." ortografik özelliklerine göre sözcükler|Ortografik özelliklerine göre sözcükler]]")
	table.insert(tablo, "[[:Kategori:".. dil:getirAsilAd() .." bireysel karakterlerine göre sözcükler|Bireysel karakterlerine göre sözcükler]]")
	
	if tum.par["okunuş"] then
		table.insert(tablo, "[[:Kategori:".. dil:getirAsilAd() .. " " .. tum.par["tema"] .." karakterini içeren sözcükler|" .. tum.par["tema"] .. "]]")
		table.insert(tablo, "'''" .. tum.par["anahtar"] .. " okunuşlu'''")
	else
		table.insert(tablo, "'''" .. tum.par["tema"] .. "'''")
	end
	
	return "<p class=\"clearThis\"><small>" .. table.concat(tablo, " » ") .. "</small></p>"
end

-- Şablon:kategori konu ve grup isimli şablonlarda kullanılan fonksiyonu oluştur.
function p.kategoriAgaci(tum)
	local veri = {
    	dil = require("Modül:diller").getirKodaGore(tum.par["dil"]),
    	sozcuk = tum.par["tema"],
    }
    
    local sayfaadi = mw.title.getCurrentTitle().text
    local karakter = mw.ustring.gsub(mw.ustring.gsub(sayfaadi, dil:getirAsilAd(), ""), "karakterini içeren sözcükler", "")
    local on = "<span class='"..dil:getirAlfabeKodlari()[1].."' lang='"..dil:getirKod().."'>"

    if mw.ustring.find(sayfaadi, "karakterini içeren sözcükler$") then
		tum.frame:callParserFunction("DISPLAYTITLE",
			"Kategori:" .. dil:getirAsilAd() .. " "
			.. on .. (mw.ustring.find(karakter, "okunuşlu")
				and mw.ustring.gsub( karakter, "o.*", "" ) .. "</span> okunuşlu " .. on .. mw.ustring.gsub( karakter, ".*u", "" )
				or karakter) .. "</span>"
			.. " karakterini içeren sözcükler")
	end
	
	if tum.par["okunuş"] then
		kar = tum.par["tema"]
		
		table.insert(tum.kat, "[[Kategori:" .. require("Modül:diller").getirKodaGore(tum.par["dil"]):getirAsilAd() .. " " .. kar  
			.. " karakterini içeren " .. " sözcükler|"
			.. (tum.par["dil"] == "ja" and jsort(tum.par["anahtar"]) or tum.par["anahtar"]) .. "]]")
		
		if tum.par["dil"] == "ja" then
			table.insert(tum.kat, "[[Kategori:Japonca " .. tum.par["anahtar"] .. " okunuşlu kanji karakterli sözcükler|" .. kar .. "]]")
			table.insert(tum.kat, "[[Kategori:Japonca " .. tum.par["okunuş"] .. " ile okunan kanji karakterli sözcükler|" .. tum.par["anahtar"] .. "]]")
			if tum.par["okunuş2"] then
				table.insert(tum.kat, "[[Kategori:Japonca " .. tum.par["okunuş2"] .. " ile okunan kanji karakterli sözcükler|" .. tum.par["anahtar"] .. "]]")
			end
		end
	else
		table.insert(tum.kat, "[[Kategori:" .. require("Modül:diller").getirKodaGore(tum.par["dil"]):getirAsilAd() .. " bireysel karakterlerine göre sözcükler|" 
			.. (tum.par["anahtar"] and tum.par["anahtar"] or tum.par["tema"]) .. "]]")
		
		table.insert(tum.gor, "Bu kategori " .. require("Modül:bağlantılar").tam_bag(veri, "çeviri", true) .. " karakterini içeren "
			.. require("Modül:diller").getirKodaGore(tum.par["dil"]):getirAsilAd() .. " sözcükleri listelemektedir.")
	end
end

return p