local cikart = {}
local dilDuzenle = require("Modül:tr-araçlar").dilDuzenle
local temalar = require("Modül:temalar").getirAsilAdaGore
local terimler = {}
local kategoriler = {}
local function ine(arg)
if arg == "" then
return nil
else
return arg
end
end
function degisken(terim)
local liste = {
= "örtmeceler",
= "yerleşim birimleri",
= "alay ifadeli sözcükler",
= "hakaret yollu sözcükler",
= "konuşma dili ifadeleri",
= "şaka yollu sözcükler",
= "noktalama işareti adları",
}
return liste and liste or terim
end
-- {{terim}} şablonu için
function cikart.goster(frame)
local args = frame:getParent().args
if args then
dil = require("Modül:diller").getirKodaGore(args):getirAsilAd()
end
if not args then
if not args and mw.title.getCurrentTitle().nsText ~= "Şablon" then
table.insert(kategoriler, "]")
return "<span style='color:red'>'''(Lütfen bir dil kodu girin.)</span>'''" .. table.concat(kategoriler, "\n")
end
end
local terim = degisken(ine(args))
local i = 1
if mw.title.getCurrentTitle().nsText == "Şablon" and frame.args then
terim = "terim"
dil = require("Modül:diller").getirKodaGore("tr"):getirAsilAd()
end
while terim do
terim = mw.ustring.gsub(mw.ustring.gsub( terim, "%s$", ""), "^%s", "")
table.insert(terimler, terim)
i = i + 1
terim = degisken(ine(args))
end
for x, y in ipairs(terimler) do
if temalar(y) then
if y == "eskimiş" then
y = "artık kullanılmayan sözcükler"
end
if not args and dil then
table.insert(kategoriler, "[[Kategori:" ..
((temalar(y) and (temalar(y):getirTip() == "konu" or temalar(y):getirTip() == "grup")) and dilDuzenle(dil) or dil) .. " " .. y .. "]]")
end
end
end
if mw.title.getCurrentTitle().nsText == "Şablon" then
kategoriler = {}
end
--Alfabe kontrolü
if dil and require("Modül:alfabekontrol").goster(mw.title.getCurrentTitle().subpageText, dil) == false then
kategoriler = {}
table.insert(kategoriler, "]")
end
return "(''" .. table.concat(terimler, "'', ''") .. "'')" .. table.concat(kategoriler, "\n")
end
return cikart