Modül:yazı sistemleri

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


local cikart = {}

local Sistem = {}


function Sistem:getirKod()
	return self._code
end


function Sistem:getirAsilAd()
	return self._rawData.asilAd
end


function Sistem:getirDigerAdlari()
	return self._rawData.digerAdlari or {}
end


--function Sistem:getirTumAdlari()
--	return self._rawData.adlar
--end


function Sistem:getirTip()
	return "Yazı sistemi"
end


function Sistem:getirKategoriAdi()
	return self._rawData.kategori or mw.getContentLanguage():ucfirst(self:getirAsilAd() .. "s")
end

function Sistem:getRawData()
	return self._rawData
end


function Sistem:toJSON()
	local ret = {
		asilAd = self:getirAsilAd(),
		kategoriAdi = self:getirKategoriAdi(),
		kod = self._code,
		digerAdlari = self:getirDigerAdlari(),
		tip = self:getirTip(),
	}
	
	return require("Module:JSON").toJSON(ret)
end


Sistem.__index = Sistem


function cikart.yapNesne(kod, veri)
	return veri and setmetatable({ _rawData = veri, _code = kod }, Sistem) or nil
end


function cikart.getirKodaGore(kod)
	return cikart.yapNesne(kod, mw.loadData("Modül:yazı sistemleri/veri")[kod])
end

return cikart