Modül:tr-başlıkbaşı
Bu belgeleme Modül:tr-başlıkbaşı/belge (düzenle | geçmiş) sayfasından yansıtılmaktadır. Arayüz düzenleyicilerinin deney yapabilmeleri için ayrıca Modül:tr-başlıkbaşı/deneme tahtası sayfası kullanılabilir.
Bu Lua modülü, şu şablonların çıktısını vermektedir:
{{tr-ad}}
{{tr-belirteç}}
{{tr-çekimli ad}}
{{tr-eylem}}
{{tr-ön ad}}
{{tr-özel ad}}
{{tr-atasözü}}
{{tr-deyim}}
-- Gerekli çekimleme modüllerini yükle
local tr_ad = require("Modül:tr-ad")
local tr_eylem = require("Modül:tr-eylem")
local dil = require("Modül:diller").getirKodaGore("tr")
local cikart = {}
local soz_fonksiyonlari = {}
-- Eğer boş değilse
local function ebd(arg)
if arg == "" then
return nil
else
return arg
end
end
-- Asıl girdi çıktısı
function cikart.goster(frame)
local sozkat = frame.args[1] or error("Söz türü belirtilmedi. Lütfen 1 numaralı parametreyi giriniz.")
local params = {
[1] = {list = "baş", allow_holes = true, default = ""},
["baş"] = {default = ""},
["istisna"] = {},
["k"] = {},
["a"] = {},
["d"] = {},
}
local args = frame:getParent().args -- YAPILACAK: Burada [[Modül:parameters]] kullan
-- Gather parameters
local veri = {dil = dil, soz_kategorisi = sozkat, kategoriler = {}, baslar = {}, cekimler = { etkin_oto_alfabecev = true }}
local bas = args["baş"] or args[1] or ""
local i = 1
while bas do
table.insert(veri.baslar, bas)
i = i + 1
bas = ebd(args["baş" .. i])
end
if soz_fonksiyonlari[sozkat] then
soz_fonksiyonlari[sozkat].fonk(args, veri)
end
return require("Modül:başlık başı").tam_baslikbasi(veri)
end
soz_fonksiyonlari["adlar"] = {
fonk = function(args, veri)
local bas = args[1] or mw.title.getCurrentTitle().subpageText
local ak = args["k"] or args["a"]
if ak == "1" then
veri.soz_kategorisi = "özel adlar"
end
belirtme = tr_ad.ayarla(bas, args["istisna"], "tekil", "ı", "i", "u", "ü", "belirtme", ak)
cogul = tr_ad.ayarla(bas, args["istisna"], "çoğul", "", "", "", "", "yalın", ak)
table.insert(veri.cekimler, {{sozcuk = belirtme}, etiket = "belirtme hâli"})
if mw.ustring.find(mw.ustring.sub( bas, -4 ), "l[ae][(rı)(ri)r]") or args["istisna"] == "çoğulsuz" then
table.insert(veri.kategoriler, "Türkçe topluluk adları")
table.insert(veri.cekimler, {etiket = "[[Ek:Açıklamalar#topluluk adı|topluluk adı]]"})
else
if ak and ak == "1" then else
table.insert(veri.cekimler, {{sozcuk = cogul}, etiket = "çoğulu"})
end
end
end
}
soz_fonksiyonlari["özel adlar"] = {
fonk = function(args, veri)
local bas = args[1] or mw.title.getCurrentTitle().subpageText
local ak = args["k"] or args["a"]
belirtme = tr_ad.ayarla(bas, args["istisna"], "tekil", "ı", "i", "u", "ü", "belirtme", ak)
cogul = tr_ad.ayarla(bas, args["istisna"], "çoğul", "", "", "", "", "yalın", ak)
table.insert(veri.cekimler, {{sozcuk = belirtme}, etiket = "belirtme hâli"})
end
}
soz_fonksiyonlari["eylemler"] = {
fonk = function(args, veri)
local bas = args[1] or mw.title.getCurrentTitle().subpageText
local eylem = require("Modül:tr-araçlar").yalinYap(bas)
tip = "olumlu"
if mw.ustring.find(mw.ustring.sub( eylem, -2 ), "m[ea]") then
eylem = mw.ustring.sub( eylem, 1, -3 )
tip = "olumsuz"
end
cekim = tr_eylem.genis(eylem, tip, "o")
if type(cekim) == "table" then
cekim = cekim[1]
end
table.insert(veri.cekimler, {{sozcuk = cekim}, etiket = "üçüncü tekil şahıs geniş zaman çekimi"})
end
}
soz_fonksiyonlari["ön adlar"] = {
fonk = function(args, veri)
local bas = args[1] or mw.title.getCurrentTitle().subpageText
if args.d == "-" then else
table.insert(veri.cekimler, {{sozcuk = "[[daha]] " .. bas}, etiket = "karşılaştırma"})
table.insert(veri.cekimler, {{sozcuk = "[[en]] " .. bas}, etiket = "üstünlük"})
end
end
}
return cikart