Modül:tr-araçlar

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


local cikart = {}

function cikart.sonUnluBul(eylem)
	return mw.ustring.sub( mw.ustring.gsub( eylem, "", ""), -1 )
end

--sözcüklerden sesli veya sessiz harfleri ayıklamaya yarar
function cikart.harfAyikla(ad, harfTipi)
	if harfTipi == "sessiz" then
		return mw.ustring.gsub( ad, "", "")
    elseif harfTipi == "sesli" then
    	return mw.ustring.gsub( ad, "", "")
    end
end

--Türkçe'deki ünlü uyumuna göre hazır bir "if" fonksiyonunu size tek satırda sunar, tamamen fazla kod satırlarından kurtulmak için idealdir
function cikart.unluUyumu(ad, s1, s2, s3, s4)
	sonUnlu = mw.ustring.sub( cikart.harfAyikla(ad, "sessiz"), -1 )
	
	if s1 and s2 and s3 and s4 then
	    if mw.ustring.find(sonUnlu, "$") then
	    	ad = ad .. s1
	    elseif mw.ustring.find(sonUnlu, "$") then
	    	ad = ad .. s2
	    elseif mw.ustring.find(sonUnlu, "$") then
	    	ad = ad .. s3
	    elseif mw.ustring.find(sonUnlu, "$") then
	    	ad = ad .. s4
	    end
	elseif s1 and s2 then
	    if mw.ustring.find(sonUnlu, "$") then
	    	ad = ad .. s1
	    elseif mw.ustring.find(sonUnlu, "$") then
	    	ad = ad .. s2
	    end
	end
    
    return ad
end

--Türkçe eylemleri yalın hallerine çevirir
function cikart.yalinYap(eylem)
	if mw.ustring.sub( eylem, -3 ) == "mek" or mw.ustring.sub( eylem, -3 ) == "mak" then
		return mw.ustring.sub( eylem, 1, -4 )
	else
		return eylem
	end
end

--Bir eylemin yalın olup olmadığı bilgisini verir
function cikart.yaliniTersCevir(eylem)
	if mw.ustring.sub( eylem, -3 ) == "mek" or mw.ustring.sub( eylem, -3 ) == "mak" then
		return eylem
	else
		return eylem .. "m" .. (mw.ustring.find(cikart.sonUnluBul(eylem), "$") and "a" or "e") .. "k" or ""
	end
end

--bir sözcüğün son harfinin ünlü olup olmadığını saptayan fonksiyon
function cikart.sonHarfUnluMu(yazi)
	local sonHarf = mw.ustring.sub( yazi, -1 )
	local sonUnlu = mw.ustring.sub( cikart.harfAyikla(yazi, "sessiz"), -1 )
	
	return sonHarf == sonUnlu and true or nil
end

--Dil adlarına ek geldiğinde bu ekleri Türkçe yazım kurallarına göre ayarla.
function cikart.dilDuzenle(dil)
	-- Girilen dil parametresinin son kelimesi "dili" ile bitiyorsa onu belirt, çünkü dilden sonra gelecek ek buna göre ayarlanacaktır.
	local sonHece1 = mw.ustring.sub( dil, -4 )
	
	-- Girilen dil parametresinin son iki hecesini ayırt et, çünkü dilden sonra gelecek ek buna göre ayarlanacaktır.
	local sonHece2 = mw.ustring.sub( dil, -2 )
	
	-- Daha önceden son heceleri/kelimesi ayırt edilen dil adlarının sonrasına "de", "da", "nde", "nda" eklerini ekle.
	local ekliDil = ""
	
	-- Son iki harfi "si" ile biten (Örneğin: İskoç İngilizcesi) veya son kelimesi "dili" olan (Örneğin: İdo dili) dil adlarından sonra "nde" ekini ekle.
    if dil and sonHece1 == "dili" or  sonHece2 == "si" then
    	ekliDil = ekliDil .. dil .. "nde"
    	
	-- Son iki harfi "sı" ile (Örneğin: İsviçre Almancası) dil adlarından sonra "nda" ekini ekle.
    elseif dil and sonHece2 == "sı" then
    	ekliDil = ekliDil .. dil .. "nda" 
    
    -- Son iki harfi "ce" ile (Örneğin: İngilizce) veya "çe" ile biten (Örneğin: Türkçe) dil adlarından sonra "de" ekini ekle.
    elseif dil and sonHece2 == "ce" or sonHece2 == "çe" then
    	ekliDil = ekliDil .. dil .. "de" 
    
    -- Son iki harfi "ca" ile (Örneğin: Almanca) veya "ça" ile biten (Örneğin: Başkça) dil adlarından sonra "da" ekini ekle.
    elseif dil and sonHece2 == "ca" or sonHece2 == "ça" then
    	ekliDil = ekliDil .. dil .. "da" 
    end
    
    return ekliDil
end

return cikart