Modül:aileler
Görünüm
Bu belgeleme Modül:aileler/belge (düzenle | geçmiş) sayfasından yansıtılmaktadır. Arayüz düzenleyicilerinin deney yapabilmeleri için ayrıca Modül:aileler/deneme tahtası sayfası kullanılabilir.
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("[Dd]iller$") then
return mw.getContentLanguage():ucfirst(ad)
else
return mw.getContentLanguage():ucfirst(ad) .. " dilleri"
end
end
function Aile:getirVikiveriItemi()
return self._rawData[2] 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 "[[w:" .. self:getirKategoriAdi() .. "|" .. self:getirAsilAd() .. "]]"
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")[kod])
end
function cikart.getirAsilAdaGore(ad)
local kod = mw.loadData("Modül:aileler/ada göre")[ad]
if not kod then
return nil
end
return cikart.yapNesne(kod, mw.loadData("Modül:aileler/veri")[kod])
end
function cikart.kodaDonustur(frame)
aile = frame.args["aile"]
if cikart.getirAsilAdaGore(aile) then
return cikart.getirAsilAdaGore(aile):getirKod()
elseif cikart.getirKodaGore(aile) then
return cikart.getirKodaGore(aile):getirAsilAd()
end
end
return cikart