Modül:Dil - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

Modül:Dil

  • العربية
  • الدارجة
  • مصرى
  • Asturianu
  • Авар
  • Azərbaycanca
  • تۆرکجه
  • Basa Bali
  • Bikol Central
  • Беларуская (тарашкевіца)
  • भोजपुरी
  • বাংলা
  • Bosanski
  • Català
  • 閩東語 / Mìng-dĕ̤ng-ngṳ̄
  • Cebuano
  • کوردی
  • English
  • فارسی
  • Gaeilge
  • گیلکی
  • ગુજરાતી
  • हिन्दी
  • Hornjoserbsce
  • Bahasa Indonesia
  • Jawa
  • Taqbaylit
  • 한국어
  • Kurdî
  • Latina
  • Ladin
  • Македонски
  • മലയാളം
  • Монгол
  • ဘာသာမန်
  • မြန်မာဘာသာ
  • مازِرونی
  • Nedersaksies
  • नेपाली
  • ଓଡ଼ିଆ
  • ਪੰਜਾਬੀ
  • پښتو
  • Română
  • Scots
  • سنڌي
  • တႆး
  • Simple English
  • Slovenščina
  • Shqip
  • Српски / srpski
  • தமிழ்
  • ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
  • తెలుగు
  • ไทย
  • ትግርኛ
  • Tagalog
  • Українська
  • اردو
  • Tiếng Việt
  • 吴语
  • 中文
  • 閩南語 / Bân-lâm-gí
  • 粵語
Bağlantıları değiştir
  • Modül
  • Tartışma
  • Oku
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikikaynak
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Modül belgelemesi[gör] [değiştir] [geçmiş] [temizle]
Lua'nın logosuBu modül şu Lua modülünü kullanıyor:
  • Modül:Dil/veri
Bu modül genel kullanıma yöneliktir. Tam sürüme ulaştığı, hatasız olarak ilgili maddelerde kullanıma hazır olduğu düşünülmektedir. Modül üzerinde yapılacak deneme-yanılma değişiklikleri için sunucu yükünü azaltmak ve değişiklik süresince hatalı görünümlerden kaçınmak adına deneme tahtası kullanılması önerilir.
Modül:Lisan ile karıştırılmamalıdır.
Yukarıdaki belgeleme içeriği Modül:Dil/belge sayfasından yansıtılmaktadır. (değiştir | geçmiş)
Kullanıcılar denemelerini bu şablonun deneme tahtası (oluştur | yansıtma) ve test senaryosu (oluştur) sayfalarında yapabilirler.
Lütfen kategorileri /belge alt sayfasına ekleyin. Bu modül ile ilgili alt sayfalar için buraya tıklayınız.
local dilTablosu = require("Modül:Dil/veri")

--bu fonksiyon girilen bir yazıda birinci değeri bulup
--onu ikinci değer ile değiştirmeye yarar
local function bulvedeg(yazi, bir, iki)
	return mw.ustring.sub( mw.ustring.gsub(yazi, bir, iki), 1, -1 )
end

local function dilAdiGetir(frame)
	local args = frame and frame:getParent().args or nil
	
	local d = dilTablosu[args[1]]
	
	if d ~= nil then
		return dilTablosu[args[1]][1]
	else
		return ""
	end
end

local function dilGetir(dilKodu)
	local dil = dilTablosu[dilKodu] and dilKodu or bulvedeg( dilKodu, "%-.*", "" )
	return dilTablosu[dil] or error("Girilen dil kodu veritabanında bulunamadı. Lütfen Modül:Dil/veri'yi kontrol edin.")
end

--Dil adlarına ek geldiğinde bu ekleri Türkçe yazım kurallarına göre ayarla.
local function 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 .. "nin"
    	
	-- 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 .. "nın" 
    
    -- 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 .. "nin" 
    
    -- 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 .. "nın" 
    end
    
    return ekliDil
end

--IPA yazılışları için kullanılan fonksiyon
local function IPA(frame)
	--parametre tanımlayıcı
	local args = frame:getParent().args
	
	--burada sonuçta çıktısını vereceğimiz satırı başlat
	local IPA = ""
	
	if args["başlık"] ~= nil then
		IPA = IPA .. "<small>" .. args["başlık"] .. "&nbsp;</small>"
	else
		--eğer ilk parametreye "-" ifadesi girilirse bir dil kodu varsayılmadığını algıla
		if args[1] == "-" then
		
		else
			--eğer yukarıdaki başlıklardan hiçbiri belirtilmemişse girilen dil kodunun adını çıkart
			IPA = IPA .. "<small>" .. dilGetir(args[1])[1] .. " telaffuz:&nbsp;</small>"
		end
	end
	
	--ikinci parametrede "[]" ifadeleri varsa bunları temizle, çünkü modül bunları otomatik ekliyor
	if mw.ustring.find(args[2], "^%[") then args[2] = string.sub( args[2], 2, -1 ) end
	if mw.ustring.find(args[2], "%]$") then args[2] = mw.ustring.sub( args[2], 1, -2 ) end
	
	local parAc = mw.ustring.find(args[2], "^%/") and "" or "["
	local parKapa = mw.ustring.find(args[2], "%/$") and "" or "]"
	
	--küçük yazılacak kısmın kapanış etiketini ekle
	--daha sonra da IPA okunuşu kısmını ekle
	IPA = IPA .. "<span title='IPA Söylenişi' class='IPA'>" .. (args["b"] == "yok" and "" or "[[Yardım:IPA|") 
			  .. parAc .. args[2] .. parKapa .. (args["b"] == "yok" and "" or "]]") .. "</span>"
	
	--eğer bir ses dosyası girilirse onu da en sona ekle
	if args.medya ~= nil then
		IPA = IPA .. "<small>&nbsp; ([[Dosya:Speaker Icon.svg|13px|link=|alt=]] [[:Media:" .. args.medya .. "|dinle]])</small>"
	end
	
	--son çıktı
	return IPA
end

local function dil(frame, moduleArgs)
	--parametre tanımlayıcı
	local args = frame and frame:getParent().args or nil
	
	--eğer farklı bir modülden çağırılıyorsa,
	--modül parametrelerini kullan
	if moduleArgs then
		args = moduleArgs
	end
	
	local yazi = args[2] or args['yazı'] or ""
	local romanizasyon = "romanizasyon"
	
	if args[1] == "rtl" or args[1] == "ltr" then
		if args[1] == "rtl" then
			args['yön'] = "rtl"
		elseif args[1] == "ltr" then
			args['yön'] = "ltr"
		end
		yazi = args[3] or args['yazı'] or ""
		args[1] = args[2]
	end
	
	--sonuçtaki çıktıyı başlat
	local dil = ""
	local dil_prm = args['dil_adı'] or args['da']
	
	--dilin adını tablodan kod yardımıyla bul ve o dilin sınıfında bir span oluştur
	if dil_prm ~= 'hayır' and dil_prm ~= 'h' and dil_prm ~='yok' then
		dil = dil .. "[[" .. dilGetir(args[1])[1] .. "]]:&nbsp;"
	end
	
	--eğer girilmiş bir yön varsa onu span'ın özelliklerine ekle
	--son olarak da yazıyı span'ın içerisine yerleştir
	dil = dil .. "<span class='lang-"..args[1].."' translate='no' lang='"..args[1].."' dir='"..(args['yön'] and args['yön'] or "ltr").."'>"
	.. yazi .. "</span>"
	
	--çeviri parametresi girildiyse çeviriyi yazıdan sonra ekle
	if mw.title.new(dilDuzenle(dilGetir(args[1])[1]).." romanizasyonu").exists then
		romanizasyon = dilDuzenle(dilGetir(args[1])[1]).." romanizasyonu" or romanizasyon
	end
	
	if args['çeviri'] then
		dil = dil .. ",&#x20;<small>[["..romanizasyon.."|romanize]]:&nbsp;<span class='lang-"..args[1].." transcription' translate='no' lang='"..args[1].."-Latn'>"
		..args['çeviri'].."</span></small>"
	end
	
	return dil
end

local function dilRomanizasyon(frame, moduleArgs)
	--parametre tanımlayıcı
	local args = frame and frame:getParent().args or nil
	
	--eğer farklı bir modülden çağırılıyorsa,
	--modül parametrelerini kullan
	if moduleArgs then
		args = moduleArgs
	end
	
	return '<span translate="no" lang="' .. args[1] .. '-Latn" style="font-style: normal;" title="'
		.. dilGetir(args[1])[1] .. ' harf çevirisi">' .. args[2] .. "</span>"
end

--yerel ad şablonunun fonksiyonu
local function yerelAd(frame)
	--parametre tanımlayıcı
	local args = frame:getParent().args
	
	--her şeyden önce hata çıkmasına karşın çıktıyı başlatalım
	local yerelAd = ""
	
	--eğer ikinci parametre girilmediyse modül hata vermesin, bunun yerine izleyici kategori eklesin
	if args[2] then
		yerelAd = yerelAd .. (args["italik"] and args[2] or "" .. args[2] .. "")
	else
		yerelAd = yerelAd .. "[[Kategori:Yerel adı girilmemiş yerel adı şablonu kullanan maddeler]]"
	end
	
	--eğer şablona dil kodu girilmediyse modül hatası değil de izleme kategorisi ekle
	if dilGetir(args[1])[1] then
		yerelAd = yerelAd .. "&#x20; <small>" .. (args["parantez"] and "" or "(")
					.. (args["bağ_yok"] and "" or "[[") .. dilGetir(args[1])[1] .. (args["bağ_yok"] and "" or "]]")
					.. (args["parantez"] and "" or ")") .. "</small>"
	else
		yerelAd = yerelAd .. "[[Kategori:Dil kodu girilmemiş yerel adı şablonu kullanan maddeler]]"
	end
	
	return yerelAd
end

return {
	IPA = IPA,
	dil = dil,
	dilAdiGetir = dilAdiGetir,
	yerelAd = yerelAd,
	dilRomanizasyon = dilRomanizasyon
}
"https://tr.wikipedia.org/w/index.php?title=Modül:Dil&oldid=36473816" sayfasından alınmıştır
Kategoriler:
  • Genel kullanıma yönelik modüller
  • Dil modülleri
  • Sayfa en son 17.16, 3 Aralık 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Modül:Dil
Konu ekle