Modül:Kategori dolaşım
local p = {}
-- İllerin listesi
local iller = { "Adana", "Adıyaman", "Afyonkarahisar", "Ağrı", "Amasya", "Ankara", "Antalya", "Ardahan", "Artvin", "Aydın", "Balıkesir", "Bartın", "Batman", "Bayburt", "Bilecik", "Bingöl", "Bitlis", "Bolu", "Burdur", "Bursa", "Çanakkale", "Çankırı", "Çorum", "Denizli", "Diyarbakır", "Düzce", "Edirne", "Elazığ", "Erzincan", "Erzurum", "Eskişehir", "Gaziantep", "Giresun", "Gümüşhane", "Hakkâri", "Hatay", "Iğdır", "Isparta", "İstanbul", "İzmir", "Kahramanmaraş", "Karabük", "Karaman", "Kars", "Kastamonu", "Kayseri", "Kırıkkale", "Kırklareli", "Kırşehir", "Kilis", "Kocaeli", "Konya", "Kütahya", "Malatya", "Manisa", "Mardin", "Mersin", "Muğla", "Muş", "Nevşehir", "Niğde", "Ordu", "Osmaniye", "Rize", "Sakarya", "Samsun", "Siirt", "Sinop", "Sivas", "Şanlıurfa", "Şırnak", "Tekirdağ", "Tokat", "Trabzon", "Tunceli", "Uşak", "Van", "Yalova", "Yozgat", "Zonguldak"
}
-- Ünlü uyumuna göre doğru ekleri belirleyen fonksiyon
local function ek_belirle(il, kategori) local son_unlu = il:match("[aeiouöüıâîû][^aeiouöüıâîû]*$"):sub(1,1) local son_harf = il:sub(-1) local sert_unsuzler = {["p"]=true, ["ç"]=true, ["t"]=true, ["k"]=true} local de_ek, ki_ek if sert_unsuzler[son_harf] then if son_unlu:find("[aıou]") then de_ek = "'ta" ki_ek = "'taki" else de_ek = "'te" ki_ek = "'teki" end else if son_unlu:find("[aıou]") then de_ek = "'da" ki_ek = "'daki" else de_ek = "'de" ki_ek = "'deki" end end local nin_ek if son_unlu:find("[aı]") then nin_ek = "nın" elseif son_unlu:find("[ei]") then nin_ek = "nin" elseif son_unlu:find("[ou]") then nin_ek = "nun" else nin_ek = "nün" end if kategori:find("de ") or kategori:find("da ") then return de_ek. " " elseif kategori:find("te ") or kategori:find("ta ") then return de_ek. " " elseif kategori:find("daki") or kategori:find("deki") then return ki_ek elseif kategori:find("nın") or kategori:find("nin") or kategori:find("nun") or kategori:find("nün") then return "'n".