Modül:kategori ağacı/alfabe

Merhaba, buraya Modül:kategori ağacı/alfabe kelimesinin anlamını aramaya geldiniz. DICTIOUS'da Modül:kategori ağacı/alfabe kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve Modül:kategori ağacı/alfabe kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. Modül:kategori ağacı/alfabe kelimesi hakkında bilmeniz gereken her şey burada. Modül:kategori ağacı/alfabe 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


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