Modül:diller/şablonlar

Modül belgelemesi [Düzenle] [Tazele]


local cikart = {}

function cikart.exists(frame)
	local args = frame.args
	local lang = args[1] or error("Dil kodu henüz belirtilmedi. Lütfen birinci parametreye modülde yer verin.")
	
	lang = require("Modül:diller").getirKodaGore(lang)
	
	if lang then
		return "1"
	else
		return ""
	end
end

-- Used by the following JS:
-- * [[WT:ACCEL]]
-- * [[WT:EDIT]]
-- * [[WT:NEC]]
function cikart.getirKodaGore(frame)
	local iparams = {
		[1] = {required = true},
		[2] = {required = true},
		[3] = {},
		[4] = {},
		[5] = {},
	}
	
	local iargs = require("Modül:parameters").process(frame.args, iparams)
	local langcode = iargs[1]
	
	local lang = require("Modül:diller").getirKodaGore(langcode, true)
	
	return require("Modül:dil-benzeri").sablonGetirKodaGore(lang, iargs,
		function(itemname)
			local list
			if itemname == "getirVikimedyaDilleri" then
				list = lang:getWikimediaLanguages()
			elseif itemname == "getirAlfabeler" then
				list = lang:getScriptCodes()
			elseif itemname == "getirSoylar" then
				list = lang:getAncestors()
			end
			if list then
				local index = iargs[3]
				index = tonumber(index) or error("Please specify the numeric index of the desired item.")
				local retval = list[index]
				if retval then
					if type(retval) == "string" then
						return retval
					else
						return retval:getCode()
					end
				else
					return ""
				end
			end
			if itemname == "alfabeceviri" then
				local text = iargs[3]
				local sc = iargs[4]
				local module_override = iargs[5]
				sc = sc and require("Modül:alfabeler").getirKodaGore(sc, 4) or nil
				return lang:alfabeceviri(text, sc, module_override) or ""
			elseif itemname == "yapGirdiAdi" then
				local text = iargs[3]
				return lang:yapGirdiAdi(text) or ""
			elseif itemname == "yapSiraAnahtari" then
				local text = iargs[3]
				return lang:yapSiraAnahtari(text) or ""
			elseif itemname == "sayKarakterler" then
				local text = args[3] or ""
				local sc = require("Modül:alfabeler").getirKodaGore(iargs[4], 4)
				return sc:sayKarakterler(text)
			end
		end
	)
end

function cikart.getirAsilAdaGore(frame)
	local args = frame.args
	local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.")
	
	local lang = require("Modül:diller").getirAsilAdaGore(langname)
	
	if lang then
		return lang:getirKod()
	else
		return ""
	end
end

function cikart.getirAdaGore(frame)
	local args = frame.args
	local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.")
	
	local lang = require("Modül:diller").getirAdaGore(langname)
	
	if lang then
		return lang:getirKod()
	else
		return ""
	end
end

function cikart.yapGirdiAdi(frame)
	local args = frame.args
	local langname = args[1] or error("Language name has not been specified. Please pass parameter 1 to the module invocation.")
	
	local lang = require("Modül:diller").getirKodaGore(langname)
	
	if lang then
		return lang:yapGirdiAdi(args[2])
	else
		return ""
	end
end

function cikart.getirAsilAd(frame)
	local langCode, args
	if require("Modül:yesno")(frame.args.parent) then
		args = frame:getParent().args
	else
		args = frame.args
	end
	langCode = args[1]
	
	if not langCode or langCode == "" then
		error("Supply a language code in parameter 1.")
	end
	
	return mw.loadData("Modül:diller/koddan asıl ada")[langCode]
		or not args.return_if_invalid and "" or langCode
end

function cikart.kodaDonustur(frame)
	dil = frame:getParent().args[1] or frame.args[1]
	if require("Modül:diller").getirAsilAdaGore(dil) then
		return require("Modül:diller").getirAsilAdaGore(dil):getirKod()
	elseif require("Modül:diller").getirKodaGore(dil) then
		return require("Modül:diller").getirKodaGore(dil):getirAsilAd()
	end
end

function cikart.kodMuAsilAdMi(frame)
	dil = frame:getParent().args[1] or frame.args[1]
	if require("Modül:diller").getirAsilAdaGore(dil) then
		return "asıl ad"
	elseif require("Modül:diller").getirKodaGore(dil) then
		return "kod"
	end
end

return cikart