Modül:aileler

Merhaba, buraya Modül:aileler kelimesinin anlamını aramaya geldiniz. DICTIOUS'da Modül:aileler kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve Modül:aileler kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. Modül:aileler kelimesi hakkında bilmeniz gereken her şey burada. Modül:aileler kelimesinin tanımı, konuşurken veya metinlerinizi yazarken daha kesin ve doğru olmanıza yardımcı olacaktır. XXX'in ve diğer kelimelerin tanımını bilmek, kelime dağarcığınızı zenginleştirir ve size daha fazla ve daha iyi dilsel kaynaklar sağlar.
Modül belgelemesi

Bu modül, dil ailelerinin objelerini çağırmaya yarar.


local cikart = {}

local Aile = {}


function Aile:getirKod()
	return self._kod
end


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


--function Aile:getirTumAdlar()
--	return self._rawData.adlar
--end


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


function Aile:getirDigerAdlari(sadeceDigerAdlari)
	return require("Modül:dil-benzeri").getirDigerAdlari(self, sadeceDigerAdlari)
end


function Aile:getirDigerleri()
	return self._rawData.digerleri or {}
end


function Aile:getirCesitleri(flatten)
	return require("Modül:dil-benzeri").getirCesitleri(self, flatten)
end


function Aile:getirTip()
	return "dil ailesi"
end


function Aile:getirAile()
	if self._rawData.aile and not self._aileNesnesi then
		self._aileNesnesi = cikart.getirKodaGore(self._rawData.aile)
	end
	
	return self._aileNesnesi
end


function Aile:getirProtoDili()
	if not self._protoDili then
		self._protoDili = require("Modül:diller").getirKodaGore(self._rawData.protoDili or self._kod .. "-pro")
	end
	
	return self._protoDili
end


function Aile:getirKategoriAdi()
	local ad = self._rawData.asilAd
	
	-- If the name already has "languages" in it, don't add it.
	if ad:find("iller$") then
		return mw.getContentLanguage():ucfirst(ad)
	else
		return mw.getContentLanguage():ucfirst(ad) .. " dilleri"
	end
end


function Aile:getirVikiveriItemi()
	return self._rawData or self._rawData.vikiveri
end


function Aile:getirVikipediMaddesi()
	return (self:getirVikiveriItemi() and mw.wikibase and mw.wikibase.sitelink(self:getirVikiveriItemi(), 'trwiki')) or
		self:getirAsilAd()
end


function Aile:yapVikipediBaglantisi()
	return "]"
end


function Aile:toJSON()
	local ret = {
		asilAd = self:getirAsilAd(),
		kategoriAdi = self:getirKategoriAdi(),
		kod = self._kod,
		aile = self._rawData.aile,
		digerAdlari = self:getirDigerAdlari(true),
		digerleri = self:getirDigerleri(),
		cesitleri = self:getirCesitleri(),
		tip = self:getirTip(),
		vikiveriItemi = self:getirVikiveriItemi(),
		}
	
	return require("Modül:JSON").toJSON(ret)
end


function Aile:getRawData()
	return self._rawData
end


Aile.__index = Aile


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


function cikart.getirKodaGore(kod)
--	if kod == 'kdo' then
--		require('Modül:debug').track('Kordofanian')
--	end
	
	return cikart.yapNesne(kod, mw.loadData("Modül:aileler/veri"))
end

function cikart.getirAsilAdaGore(ad)
	local kod = mw.loadData("Modül:aileler/ada göre")
	
	if not kod then
		return nil
	end
	
	return cikart.yapNesne(kod, mw.loadData("Modül:aileler/veri"))
end

function cikart.kodaDonustur(frame)
	aile = frame.args
	if cikart.getirAsilAdaGore(aile) then
		return cikart.getirAsilAdaGore(aile):getirKod()
	elseif cikart.getirKodaGore(aile) then
		return cikart.getirKodaGore(aile):getirAsilAd()
	end
end

return cikart