Modül:kategori ağacı/köken

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

--köken kategorilerinin hiyeraşisini oluşturan fonksiyon
function p.hiyerasi(tum)
	--gerekli tabloları oluştur
	local tablo = {}
	local zincir = {}
	
	--girilen dil koduna göre dil nesnesini çağır
	local dil = tum.par and require("Modül:diller").getirKodaGore(tum.par)
	--girilen köken dil koduna göre köken dilin veya köken dil ailesinin nesnesini çağır
	local koken = require("Modül:diller").getirKodaGore(tum.par) or require("Modül:köken dilleri").getirKodaGore(tum.par)
		or require("Modül:aileler").getirKodaGore(tum.par)
	
	--en başta her zaman ana kategoriler ve tüm diller kategorileri yer almalı
	table.insert(tablo, "]")
	table.insert(tablo, "]")
	
	--nesneyi hiyeraşiye eklemek için yardımcı fonksiyon
	local function diladi(nesne)
		table.insert(tablo, "]")
	end
	
	--eğer köken tipi bir köken dili ise
	if not dil and koken:getirTip() == "köken dili" then
		table.insert(tablo, "]")
		table.insert(tablo, "[[:Kategori:".. koken:getirAile():getirKategoriAdi() ..
			" halk ağzı|Halk ağzı]]")
	end
	
	if tum.par then
		if dil then
			diladi(dil)
			table.insert(tablo, "]")
			table.insert(tablo, ".." sözcükler|"..mw.getContentLanguage():ucfirst(tum.par).." sözcükler]]")
		else
			diladi(koken)
			table.insert(tablo, "]")
		end
		table.insert(tablo, "'''"..require("Modül:tr-araçlar").dilDuzenle(koken:getirAsilAd()).."n "..tum.par.."'''")
	elseif mw.ustring.find(mw.title.getCurrentTitle(), "diğer dillerden alınan sözcükler$") then
		diladi(dil)
		table.insert(tablo, "'''Diğer dillerden alınan sözcükler'''")
	else
		if dil then
			diladi(dil)
			table.insert(tablo, "]")
			table.insert(tablo, "]")
			ebeveyn = koken:getirAile()
			while ebeveyn and ebeveyn:getirKod() ~= "qfa-iso" do
				table.insert (zincir, "[[:Kategori:" .. ebeveyn:getirKategoriAdi() .. " kökenli "
					.. dil:getirAsilAd() .. " sözcükler|" .. ebeveyn:getirKategoriAdi() .. "]]")
				ebeveyn = ebeveyn:getirAile()
			end
			for i = #zincir, 1, -1 do
				table.insert(tablo, zincir)
			end
			table.insert(tablo, "'''" .. koken:getirKategoriAdi() .. "'''")
		else
			if koken:getirTip() == "dil ailesi" then
				table.insert(tablo, "]")
				ebeveyn = koken:getirAile()
				while ebeveyn and ebeveyn:getirKod() ~= "qfa-iso" do
					table.insert (zincir, "]")
					ebeveyn = ebeveyn:getirAile()
				end
				for i = #zincir, 1, -1 do
					table.insert(tablo, zincir)
				end
			end
			diladi(koken)
			table.insert(tablo, "'''Kökenli sözcükler'''")
		end
	end
	
	return "<p class=\"clearThis\"><small>" .. table.concat(tablo, " » ") .. "</small></p>"
end

function p.kategoriAgaci(tum)
	local dil = tum.par and require("Modül:diller").getirKodaGore(tum.par)
	local koken = require("Modül:diller").getirKodaGore(tum.par) or require("Modül:köken dilleri").getirKodaGore(tum.par)
		or require("Modül:aileler").getirKodaGore(tum.par)
	local ad = tum.par or mw.title.getCurrentTitle().text
	
	if tum.par then
		if dil then
			table.insert(tum.kat, ".." sözcükler|" .. koken:getirKategoriAdi() .. "]]")
			table.insert(tum.kat, "]")
			table.insert(tum.kat, "[[Kategori:" .. require("Modül:tr-araçlar").dilDuzenle(koken:getirKategoriAdi())
				.. "n "..tum.par.." sözcükler|"..dil:getirAsilAd().."]]")
		else
			table.insert (tum.kat, "]")
		end
	elseif mw.ustring.find(mw.title.getCurrentTitle(), "diğer dillerden alınan sözcükler$") then
		table.insert(tum.kat, "]")
		table.insert(tum.kat, "]")
	else
		if dil then
			ebeveyn =  koken:getirAile()
			if ebeveyn and ebeveyn:getirKod() ~= "qfa-iso" then
				table.insert (tum.kat, "[[Kategori:" .. ebeveyn:getirKategoriAdi() .. " kökenli "
						.. dil:getirAsilAd() .. " sözcükler|" .. koken:getirKategoriAdi() .. "]]")
			else
				table.insert(tum.kat, "]")
			end
			table.insert(tum.kat, "]")
		else
			if koken:getirTip() == "dil ailesi" then
				anahtar = mw.ustring.char(0x0020)
			else
				anahtar = "Kökenli sözcükler"
				table.insert(tum.kat, "]")
			end
			table.insert(tum.kat, "]")
		end
	end
end

return p