Anasayfa
Rastgele
Oturum aç
Ayarlar
Sanarşiv hakkında
Sorumluluk reddi
Ara
"
Modül:Kategori dolaşım
" sayfasını değiştirmektesiniz
Uyarı:
Oturum açmadınız. Bir düzenleme yaptığınızda, sizin için geçici bir hesap oluşturulur.
Daha fazla bilgi
. Bu hesabın süresi dolduğunda bildirimler almaya devam etmek ve diğer özelliklere erişmek için
oturum açın
ya da
hesap oluşturun
.
Anti spam denetimi. Bunu
doldurmayın
!
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" .. nin_ek else return " ili" end end -- Modül fonksiyonu function p.dolasim(frame) local kategori = mw.title.getCurrentTitle().text kategori = kategori:gsub("^Kategori:", "") local il_adi = kategori:match("^([%aşçğüöİŞÇĞÜÖ]+)") local geri_kalan = kategori:sub(#il_adi + 1) if not il_adi or #geri_kalan < 1 then return "Hatalı kategori adı formatı: " .. kategori end -- Kategori adında zaten bir ek var mı kontrolü local ek = "" if geri_kalan:find("da ") or geri_kalan:find("de ") or geri_kalan:find("ta ") or geri_kalan:find("te ") or geri_kalan:find("daki") or geri_kalan:find("deki") then ek = "" else ek = ek_belirle(il_adi, kategori) end local sonuc = "" for i, il in ipairs(iller) do local yeni_kategori = il .. ek .. geri_kalan local link = "[[:Kategori:" .. yeni_kategori .. "|" .. il .. "]]" if i > 1 then sonuc = sonuc .. " • " end sonuc = sonuc .. link end return sonuc end return p
Özet:
Sanarşiv web sitesine yapılan tüm katkıların diğer katılımcılar tarafından düzenlenebileceğini, değiştirilebileceğini veya kaldırılabileceğini lütfen unutmayın. Yazınızın acımasızca düzenlenmesini istemiyorsanız, buraya göndermeyin.
Ayrıca, bunu kendiniz yazdığınızı veya herkese açık bir alandan veya benzeri ücretsiz bir kaynaktan kopyaladığınıza söz veriyorsunuz (ayrıntılar için
Sanarşiv:Telif hakları
sayfasına bakın).
Telif hakkıyla korunan eseri izinsiz göndermeyin!
İptal
Değişiklik yardımı
(yeni pencerede açılır)
Bu sayfada yer alan sayfa:
Modül:Kategori dolaşım/belge
(
değiştir
)