p = {}
local temaAlt = {
= {
ebeveynler = {"tüm alfabeler"},
alt = {"diller"}
},
= {
kategori = "dilleri",
ebeveynler = {"alfabe"},
aciklama = "ni kullanan dillerin listesi."
}
}
local function buyukHarf(x)
return mw.getContentLanguage():ucfirst(x)
end
function p.hiyerasi(tum)
local scr = require("Modül:alfabeler").getirKodaGore(tum.par)
local tema = tum.par
local tablo = {}
table.insert(tablo, "]")
table.insert(tablo, "]")
if tema then
table.insert(tablo, "]")
table.insert(tablo, "'''" .. buyukHarf(temaAlt.kategori) .. "'''")
else
table.insert(tablo, "'''" .. scr:getirKategoriAdi() .. "'''")
end
return "<p class=\"clearThis\"><small>" .. table.concat(tablo, " » ") .. "</small></p>"
end
function bagKutu(scr, vikipedi)
local canonicalName = scr:getirAsilAd()
local categoryName = scr:getirKategoriAdi()
local wikipediaArticle = vikipedi or scr:getirVikipediMaddesi()
return [=[<div style="clear: right; border: solid #aaa 1px; margin: 1 1 1 1; background: #f9f9f9; width: 250px; padding: 5px; text-align: left; float: right">
<div style="text-align: center; margin-bottom: 10px; margin-top: 5px">''']=] .. categoryName .. [=['''</div>
{| style="font-size: 90%; background: #f9f9f9"
| style="vertical-align: middle; height: 35px;" | ] || '']=] .. categoryName .. [=[ hakkındaki Vikipedi maddesi''
|-
| colspan="2" style="padding-left: 50px; border-bottom: 1px solid lightgray;" | '''=] .. wikipediaArticle .. =] .. wikipediaArticle .. ]'''
|-
| style="vertical-align: middle; height: 35px;" | ] || ]=] .. categoryName .. [=[ açıklamaları
|-
| colspan="2" style="padding-left: 50px; border-bottom: 1px solid lightgray;" | '''=] .. categoryName .. ]'''
|-
| style="vertical-align: middle; height: 35px;" | ] || ]=] .. categoryName .. [=[ bilgileri
|-
| colspan="2" style="padding-left: 50px; border-bottom: 1px solid lightgray;" | '''=] .. categoryName .. ]'''
|-
| style="vertical-align: Middle; height: 35px;" | ] || ]=] .. categoryName .. [=[ kodu
|-
| colspan="2" style="padding-left: 50px;" | ''']=] .. scr:getirKod() .. [=['''
|}
</div>]=]
end
function kodlar(scr, tum)
local kodlar = {}
for code, data in pairs(mw.loadData("Modül:alfabeler/veri")) do
if data.asilAd == scr:getirAsilAd() then
table.insert(kodlar, "'''" .. code .. "'''")
end
end
local tek = 1
if kodlar then
tek = 2
end
if kodlar then
table.sort(
kodlar,
-- Dört harfli kodların uzunluğu 10'dur, çünkü kalınlaştırmaları var: '''Latn'''.
function(code1, code2)
if #code1 == 10 then
if #code2 == 10 then
return code1 < code2
else
return true
end
else
if #code2 == 10 then
return false -- dört harfli kodlar diğerlerinden önce gelir
else
return code1 < code2
end
end
end)
end
table.insert(tum.gor, scr:getirKategoriAdi() .. " hakkında bilgi, ] sayfasında bulunabilir.")
table.insert(tum.gor, "Vikisözlük'ün çeşitli yerlerinde " .. scr:getirKategoriAdi() ..
(tek == 2 and "; " or ", ") .. table.concat(kodlar, ", ") .. (tek == 2 and " ]" or " ]") .. " ile sunulmuştur.")
end
function kategoriler(scr, tema, tum)
if tema then
table.insert(tum.kat, "]")
table.insert(tum.kat, "]")
else
table.insert(tum.kat, "]")
end
end
function alt(scr, tema)
local tablo = {}
for _, child in ipairs(temaAlt.alt) do
i = mw.ustring.find(mw.ustring.sub( scr:getirKategoriAdi(), -1 ), "$")
if mw.title.new("Kategori:" .. scr:getirKategoriAdi() .. " " .. temaAlt.kategori).exists then
table.insert(tablo, "<li>.kategori .. "]]: "
.. scr:getirKategoriAdi() .. (i and "n" or "") .. temaAlt.aciklama .. "</li>")
elseif mw.title.new("Kategori:" .. scr:getirKategoriAdi() .. " " .. child).exists then
table.insert(tablo, "<li>]: "
.. scr:getirKategoriAdi() .. (i and "n" or "") .. temaAlt.aciklama .. "</li>")
end
end
return table.concat(tablo, "\n")
end
function p.kategoriAgaci(tum)
local alfabe = tum.par
local tema = tum.par
local scr = require("Modül:alfabeler").getirKodaGore(alfabe)
local vikipedi = tum.par
if scr then
vikipedi = tum.par or scr:getirKategoriAdi()
end
if scr then
if tema then
table.insert(tum.gor, scr:getirKategoriAdi() .. temaAlt.aciklama)
else
i = mw.ustring.find(mw.ustring.sub( scr:getirKategoriAdi(), -1 ), "$")
table.insert(tum.gor, "Bir yazı sistemi olan '''" .. scr:getirKategoriAdi() .. (i and "n" or "") .. "in''' ana kategorisi.")
kodlar(scr, tum)
table.insert(tum.tab, bagKutu(scr, vikipedi))
table.insert(tum.gor, alt(scr, tema))
end
end
kategoriler(scr, tema, tum)
end
return p