İçeriğe atla

Modül:köken/şablonlar

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


local cikart = {}

function cikart.koken_s(frame)
	local params = {
		[1] = {required = true},
		["dil"] = {},
	}
	
	local args = require("Modül:parameters").process(frame:getParent().args, params)
	
	local kategoriler = {}
	local koken = require("Modül:köken dilleri").getirKodaGore(args[1]) or require("Modül:diller").getirKodaGore(args[1])
		or require("Modül:aileler").getirKodaGore(args[1])
	
	if not args["dil"] then
		table.insert(kategoriler, "[[Kategori:Dil parametresi olmayan köken şablonları]]")
		return "<span style='color:red'>'''Lütfen bir dil kodu girin.</span>'''" .. table.concat(kategoriler)
	end
	
	local dil = require("Modül:diller").getirKodaGore(args["dil"])
	
	return require("Modül:köken").koken({dil = dil, koken = koken, kategoriler = kategoriler})
end

function cikart.devralinan_s(frame)
	return cikart.kokenAyarla(frame, "devralınan") .. " devralındı"
end

function cikart.nakledilen_s(frame)
	return cikart.kokenAyarla(frame, "nakledilen") .. " nakledildi"
end

function cikart.kokenli_s(frame)
	return cikart.kokenAyarla(frame, "kökenli")
end

function cikart.kokenAyarla(frame, sablon, ek)
	local params = {
		[1] = {},
		[2] = {},
		[3] = {},
		[4] = {},
		["alt"] = {alias_of = 4},
		[5] = {},
		["anlam"] = {alias_of = 5},
		["c"] = {list = true},
		["ç"] = {},
		["söz"] = {},
	}
	
	local args = require("Modül:parameters").process(frame:getParent().args, params)
	
	local kategoriler = {}
	local koken = require("Modül:köken dilleri").getirKodaGore(args[2]) or require("Modül:diller").getirKodaGore(args[2])
		or require("Modül:aileler").getirKodaGore(args[2])
	local dil = require("Modül:diller").getirKodaGore(args[1])
	
	return require("Modül:köken").kokenSozcuk({
		dil = dil,
		koken = koken,
		kategoriler = kategoriler,
		sozcuk = args[3],
		alt = args[4],
		c = args["ç"],
		anlam = args[5],
		cinsiyetler = args["c"],
		soz = args["söz"],
	}, sablon) .. ((ek and ek == "-") and "" or " sözcüğünden")
end

function cikart.diger(frame)
	local params = {
		[1] = {},
		[2] = {},
		[3] = {},
		["alt"] = {alias_of = 3},
		[4] = {},
		["anlam"] = {alias_of = 4},
		["c"] = {list = true},
		["ç"] = {},
		["söz"] = {},
	}
	
	local kategori = frame.args[1]
	local ek = frame.args[2]
	local son = frame.args[3]
	local args = require("Modül:parameters").process(frame:getParent().args, params)
	
	local kategoriler = {}
	local dil = require("Modül:diller").getirKodaGore(args[1])
	
	return require("Modül:köken").kokenSozcuk({
		dil = dil,
		koken = dil,
		kategoriler = kategoriler,
		sozcuk = args[2],
		alt = args[3],
		c = args["ç"],
		anlam = args[4],
		cinsiyetler = args["c"],
		soz = args["söz"],
	}, "diğer") .. (ek == "-" and "" or " sözcüğünden") .. " " .. son
	.. (kategori ~= "" and "[[Kategori:" .. dil:getirKategoriAdi() .. " " .. kategori .. "]]" or "")
end

return cikart