p = {}
function p.hiyerasi(tum)
local fam = require("Modül:aileler").getirKodaGore(tum.par)
local tablo = {}
local zincir = {}
local son = ""
if fam then
son = "'''" .. fam:getirKategoriAdi() .. "'''"
end
table.insert (tablo, "]")
table.insert (tablo, "]")
table.insert (tablo, "]")
local parent = fam:getirAile()
if fam:getirAile() and fam:getirAile():getirKod() == "qfa-not" then
else
while parent do
table.insert (zincir, "]")
parent = parent:getirAile()
end
for i = #zincir, 1, -1 do
table.insert(tablo, zincir)
end
end
table.insert (tablo, son)
return "<p class=\"clearThis\"><small>" .. table.concat(tablo, " » ") .. "</small></p>"
end
local function bilgiKutusu(fam)
local ret = {}
table.insert(ret, "<div class=\"main-box\" style=\"display:inline-block;padding:0;\">\n")
table.insert(ret, "<table class=\"main-table\">\n")
table.insert(ret, "<tr>\n<th colspan=\"2\" class=\"plainlinks\"></th>\n</tr>\n")
table.insert(ret, "<tr>\n<th>Asıl adı</th><td style='background:white;'>" .. fam:getirAsilAd() .. "</td>\n</tr>\n")
local digerAdlari = fam:getirDigerAdlari(true)
if digerAdlari then
local adlar = {}
for _, ad in ipairs(digerAdlari) do
table.insert(adlar, "<li>" .. ad .. "</li>")
end
if #adlar > 0 then
table.insert(ret, "<tr>\n<th>Diğer adları</th><td style='background:white;'><ul>" .. table.concat(adlar, "\n") .. "</ul></td>\n</tr>\n")
end
end
local digerleri = fam:getirDigerleri()
if digerleri then
local adlar = {}
for _, ad in ipairs(digerleri) do
table.insert(adlar, "<li>" .. ad .. "</li>")
end
if #adlar > 0 then
table.insert(ret, "<tr>\n<th>Diğer adları</th><td style='background:white;'><ul>" .. table.concat(adlar, "\n") .. "</ul></td>\n</tr>\n")
end
end
local cesitleri = fam:getirCesitleri()
if cesitleri then
local adlar = {}
for _, ad in ipairs(cesitleri) do
if type(ad) == "string" then
table.insert(adlar, "<li>" .. ad .. "</li>")
else
assert(type(ad) == "table")
local first_var
local subvars = {}
for i, var in ipairs(ad) do
if i == 1 then
first_var = var
else
table.insert(subvars, "<li>" .. var .. "</li>")
end
end
if #subvars > 0 then
table.insert(adlar, "<li><dl><dt>" .. first_var .. "</dt>\n<dd><ul>" .. table.concat(subvars, "\n") .. "</ul></dd></dl></li>")
elseif first_var then
table.insert(adlar, "<li>" .. first_var .. "</li>")
end
end
end
if #adlar > 0 then
table.insert(ret, "<tr>\n<th>Çeşitleri</th><td><ul>" .. table.concat(adlar, "\n") .. "</ul></td>\n</tr>\n")
end
end
table.insert(ret, "<tr>\n<th>]</th><td style='background:white;'><code>" .. fam:getirKod() .. "</code></td>\n</tr>\n")
table.insert(ret, "<tr>\n<th>]</th><td style='background:white;'>")
local protoLanguage = fam:getirProtoDili()
if protoLanguage then
table.insert(ret, "]")
else
table.insert(ret, "yok")
end
table.insert(ret, "</td>\n")
table.insert(ret, "\n</tr>\n")
local parent = fam:getirAile()
if not parent then
table.insert(ret, "<tr>\n<th>]</th>\n<td style='background:white;'>")
table.insert(ret, "sınıflandırılmamış")
elseif parent:getirKod() == "qfa-not" then
table.insert(ret, "<tr>\n<th>]</th>\n<td style='background:white;'>")
table.insert(ret, "bir dil ailesi değil")
else
local chain = {}
while parent do
table.insert(chain, "]")
parent = parent:getirAile()
end
table.insert(ret, "<tr>\n<th>]</th>\n<td style='background:white;'>")
for i = #chain, 1, -1 do
table.insert(ret, "<ul><li>" .. chain)
end
table.insert(ret, string.rep("</li></ul>", #chain))
end
table.insert(ret, "</td>\n</tr>\n")
if fam:getirVikiveriItemi() and mw.wikibase then
local link = ''
table.insert(ret, "<tr><th>Vikiveri</th><td style='background:white;'>" .. link .. "</td></tr>")
end
table.insert(ret, "</table></div>")
return table.concat(ret)
end
function kategoriler(fam, tum, aile)
if fam then
if fam:getirAile() then
if fam:getirAile():getirKod() == "qfa-not" then
table.insert (tum.kat, "]")
else
table.insert (tum.kat, "]")
end
else
table.insert (tum.kat, "]")
end
end
table.insert (tum.kat, "]")
end
function p.kategoriAgaci(tum)
local ad = mw.title.getCurrentTitle()
local aile = tum.par
local fam = require("Modül:aileler").getirKodaGore(aile)
if not fam then
kategoriler(fam, tum, aile)
else
i = mw.ustring.find(mw.ustring.sub( fam:getirKategoriAdi(), -1 ), "$")
local ret =
"Bu kategori '''" .. fam:getirKategoriAdi() .. (i and "n" or "") .. "in''' ana kategorisidir.\n\n" .. fam:getirKategoriAdi() .. " hakkında bilgi:\n\n" .. bilgiKutusu(fam)
table.insert(tum.tab, mw.getCurrentFrame():expandTemplate{title = "kardeşbağlantılar", args = {fam:getirKategoriAdi()}})
table.insert(tum.tab, mw.getCurrentFrame():expandTemplate{title = "Vikipedi", args = {}})
table.insert(tum.gor, ret)
kategoriler(fam, tum, aile)
end
end
return p