Modül:IPA/şablonlar

Vikisözlük sitesinden
Modül belgelemesi [Düzenle] [Tazele]


local cikart = {}

local m_IPA = require("Modül:IPA")

local U = mw.ustring.char
local syllabic = U(0x0329)

-- [[Şablon:IPA]] için kullanılır.
function cikart.IPA(frame)
	local params = {
		[1] = {list = true, allow_holes = true},
		["dil"] = {},
		["n"] = {list = true, allow_holes = true},
		["bel"] = {list = true, allow_holes = true},
		["sayımyok"] = {type = "boolean"},
		["ç"] = {},
		["sıra"] = {},
		["lang"] = {},
		["lisan"] = {},
	}
	
	local args = require("Modül:parameters").process(frame:getParent().args, params)
	
	--İzleme kategorisi boşalınca bu kod kaldırılabilir
	if args["lang"] or args["lisan"] or not args["dil"] or (args["dil"] and require("Modül:diller").getirKodaGore(args["dil"]) == nil) then
		return "<span style='color:red'>'''Lütfen bir dil kodu girin.'''</span>[[Kategori:Dil parametresi olmayan IPA şablonları]]"
	end
	
	local dil = args["dil"]
	dil = require("Modül:diller").getirKodaGore(dil)
		or require("Modül:diller").err(dil, "dil")
	
	local ogeler = {}
	
	for i = 1, math.max(args[1].maxindex, args["n"].maxindex) do
		local soyl = args[1][i]
		local notlar = args["n"][i]
		local bel = args["bel"][i]
		
		if soyl or notlar or bel then
			table.insert(ogeler, {soyl = soyl, notlar = notlar, belirticiler = {bel}})
		end
	end
	
	if args["ç"] then
		table.insert(ogeler, {soyl = args["ç"], belirticiler = {"çoğulu"}})
	end
	
	return m_IPA.bicim_IPA_tam(dil, ogeler, nil, nil, args["sıra"], args["sayımyok"])
end

-- [[Şablon:IPAkar]] için kullanılır.
function cikart.IPAkar(frame)
	local params = {
		[1] = {list = true, allow_holes = true},
		["n"] = {list = true, allow_holes = true},
	}
	
	local args = require("Modül:parameters").process(frame:getParent().args, params)
	
	local ogeler = {}
	
	for i = 1, math.max(args[1].maxindex, args["n"].maxindex) do
		local soyl = args[1][i]
		local notlar = args["n"][i]
		
		if soyl or notlar then
			table.insert(ogeler, {soyl = soyl, notlar = notlar})
		end
	end
	
	-- Biçim
	return m_IPA.bicim_IPA_coklu(nil, ogeler)
end

return cikart