![]() | Bu modül şu Lua modülünü kullanıyor:
|
![]() | Bu modül . 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 kullanılması önerilir. |
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"] .. " </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: </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> ([[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] .. "]]: " 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].."' 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 .. ", <small>[["..romanizasyon.."|romanize]]: <span class='lang-"..args[1].." transcription' 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 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 .. "  <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 }
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Modul belgelemesi gor degistir gecmis temizle Bu modul su Lua modulunu kullaniyor Modul Dil veriBu modul genel kullanima yoneliktir Tam surume ulastigi hatasiz olarak ilgili maddelerde kullanima hazir oldugu dusunulmektedir Modul uzerinde yapilacak deneme yanilma degisiklikleri icin sunucu yukunu azaltmak ve degisiklik suresince hatali gorunumlerden kacinmak adina kullanilmasi onerilir Yukaridaki belgeleme icerigi Modul Dil belge sayfasindan yansitilmaktadir degistir gecmis Kullanicilar denemelerini bu sablonun deneme tahtasi olustur yansitma ve test senaryosu olustur sayfalarinda yapabilirler Lutfen kategorileri belge alt sayfasina ekleyin Bu modul ile ilgili alt sayfalar icin buraya tiklayiniz local dilTablosu require Modul Dil veri bu fonksiyon girilen bir yazida birinci degeri bulup onu ikinci deger ile degistirmeye 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 veritabaninda bulunamadi Lutfen Modul Dil veri yi kontrol edin end Dil adlarina ek geldiginde bu ekleri Turkce yazim kurallarina gore ayarla local function dilDuzenle dil Girilen dil parametresinin son kelimesi dili ile bitiyorsa onu belirt cunku dilden sonra gelecek ek buna gore ayarlanacaktir local sonHece1 mw ustring sub dil 4 Girilen dil parametresinin son iki hecesini ayirt et cunku dilden sonra gelecek ek buna gore ayarlanacaktir local sonHece2 mw ustring sub dil 2 Daha onceden son heceleri kelimesi ayirt edilen dil adlarinin sonrasina de da nde nda eklerini ekle local ekliDil Son iki harfi si ile biten Ornegin Iskoc Ingilizcesi veya son kelimesi dili olan Ornegin Ido dili dil adlarindan sonra nde ekini ekle if dil and sonHece1 dili or sonHece2 si then ekliDil ekliDil dil nin Son iki harfi si ile Ornegin Isvicre Almancasi dil adlarindan sonra nda ekini ekle elseif dil and sonHece2 si then ekliDil ekliDil dil nin Son iki harfi ce ile Ornegin Ingilizce veya ce ile biten Ornegin Turkce dil adlarindan sonra de ekini ekle elseif dil and sonHece2 ce or sonHece2 ce then ekliDil ekliDil dil nin Son iki harfi ca ile Ornegin Almanca veya ca ile biten Ornegin Baskca dil adlarindan sonra da ekini ekle elseif dil and sonHece2 ca or sonHece2 ca then ekliDil ekliDil dil nin end return ekliDil end IPA yazilislari icin kullanilan fonksiyon local function IPA frame parametre tanimlayici local args frame getParent args burada sonucta ciktisini verecegimiz satiri baslat local IPA if args baslik nil then IPA IPA lt small gt args baslik amp nbsp lt small gt else eger ilk parametreye ifadesi girilirse bir dil kodu varsayilmadigini algila if args 1 then else eger yukaridaki basliklardan hicbiri belirtilmemisse girilen dil kodunun adini cikart IPA IPA lt small gt dilGetir args 1 1 telaffuz amp nbsp lt small gt end end ikinci parametrede ifadeleri varsa bunlari temizle cunku modul bunlari 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 kucuk yazilacak kismin kapanis etiketini ekle daha sonra da IPA okunusu kismini ekle IPA IPA lt span title IPA Soylenisi class IPA gt args b yok and or Yardim IPA parAc args 2 parKapa args b yok and or lt span gt eger bir ses dosyasi girilirse onu da en sona ekle if args medya nil then IPA IPA lt small gt amp nbsp Dosya Speaker Icon svg 13px link alt Media args medya dinle lt small gt end son cikti return IPA end local function dil frame moduleArgs parametre tanimlayici local args frame and frame getParent args or nil eger farkli bir modulden cagiriliyorsa modul parametrelerini kullan if moduleArgs then args moduleArgs end local yazi args 2 or args yazi or local romanizasyon romanizasyon if args 1 rtl or args 1 ltr then if args 1 rtl then args yon rtl elseif args 1 ltr then args yon ltr end yazi args 3 or args yazi or args 1 args 2 end sonuctaki ciktiyi baslat local dil local dil prm args dil adi or args da dilin adini tablodan kod yardimiyla bul ve o dilin sinifinda bir span olustur if dil prm hayir and dil prm h and dil prm yok then dil dil dilGetir args 1 1 amp nbsp end eger girilmis bir yon varsa onu span in ozelliklerine ekle son olarak da yaziyi span in icerisine yerlestir dil dil lt span class lang args 1 lang args 1 dir args yon and args yon or ltr gt yazi lt span gt ceviri parametresi girildiyse ceviriyi yazidan 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 ceviri then dil dil amp x20 lt small gt romanizasyon romanize amp nbsp lt span class lang args 1 transcription lang args 1 Latn gt args ceviri lt span gt lt small gt end return dil end local function dilRomanizasyon frame moduleArgs parametre tanimlayici local args frame and frame getParent args or nil eger farkli bir modulden cagiriliyorsa modul parametrelerini kullan if moduleArgs then args moduleArgs end return lt span lang args 1 Latn style font style normal title dilGetir args 1 1 harf cevirisi gt args 2 lt span gt end yerel ad sablonunun fonksiyonu local function yerelAd frame parametre tanimlayici local args frame getParent args her seyden once hata cikmasina karsin ciktiyi baslatalim local yerelAd eger ikinci parametre girilmediyse modul 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 adi girilmemis yerel adi sablonu kullanan maddeler end eger sablona dil kodu girilmediyse modul hatasi degil de izleme kategorisi ekle if dilGetir args 1 1 then yerelAd yerelAd amp x20 lt small gt args parantez and or args bag yok and or dilGetir args 1 1 args bag yok and or args parantez and or lt small gt else yerelAd yerelAd Kategori Dil kodu girilmemis yerel adi sablonu kullanan maddeler end return yerelAd end return IPA IPA dil dil dilAdiGetir dilAdiGetir yerelAd yerelAd dilRomanizasyon dilRomanizasyon