Модул:families/templates

Аз Wiktionary

Documentation for this module may be created at Модул:families/templates/doc

local export = {}

function export.exists(frame)
	local args = frame.args
	local fam = args[1] or error("Кодекси оилаи кардааст, муайян нашуда бошад. Лутфан параметри 1 то бихонам, модул мегузарад.")
	
	fam = require("Module:families").getByCode(fam)
	
	if fam then
		return "1"
	else
		return ""
	end
end

function export.getByCode(frame)
	local args = frame.args
	local fam = args[1] or error("Кодекси оилаи (параметри 1) муайян кардааст, нашудааст.")
	local itemname = args[2] or error("Функсияи даъват (параметри 2) муайян кардааст, нашудааст.")
	
	fam = require("Module:families").getByCode(fam) or error("Кодекси оила '" .. fam .. "' аст, мӯътабар нест.")
	
	-- Банди, ки ба нидои мехост, ба назар
	if itemname == "getCanonicalName" then
		return fam:getCanonicalName()
	elseif itemname == "getOtherNames" then
		local index = args[3]; if index == "" then index = nil end
		index = tonumber(index or error("Нишондињандаи, рақам ва аз ҷузъи дилхоҳро дар рӯйхат (параметри 3) муайян кардааст, нашудааст."))
		return fam:getOtherNames()[index] or ""
	elseif itemname == "getFamily" then
		return fam:getFamily():getCode()
	elseif itemname == "getCategoryName" then
		return fam:getCategoryName()
	else
		error("Дархост ба номи банди беэътибор \"" .. itemname .. "\".")
	end
end

function export.getByCanonicalName(frame)
	local args = frame.args
	local famname = args[1] or error("Номи оила дорад, нишон дода нашуда бошад. Лутфан параметри 1 то бихонам, модул мегузарад.")
	
	local fam = require("Module:families").getByCanonicalName(famname)
	
	if fam then
		return fam:getCode()
	else
		return ""
	end
end

return export