Modulun nəticələrinə dair nümunələr

  • {{#invoke:Yiyəlik hal|make_possessive|Bakı}} → Bakının
  • {{#invoke:Yiyəlik hal|make_possessive|Gəncə}} → Gəncənin
  • {{#invoke:Yiyəlik hal|make_possessive|Göynük}} → Göynüyün
  • {{#invoke:Yiyəlik hal|make_possessive|Şabran}} → Şabranın
  • {{#invoke:Yiyəlik hal|make_possessive|Ramin}} → Raminin
  • {{#invoke:Yiyəlik hal|make_possessive|külək}} → küləyin
  • {{#invoke:Yiyəlik hal|make_possessive|qulaq}} → qulağın
  • {{#invoke:Yiyəlik hal|make_possessive|Qulaq}} → Qulağın
  • {{#invoke:Yiyəlik hal|make_possessive|mənbə}} → mənbənin
  • {{#invoke:Yiyəlik hal|make_possessive|Mənbə}} → Mənbənin
  • {{#invoke:Yiyəlik hal|make_possessive|su}} → suyun
  • {{#invoke:Yiyəlik hal|make_possessive|əmr}} → əmrin
  • {{#invoke:Yiyəlik hal|make_possessive|kadr}} → kadrın
  • {{#invoke:Yiyəlik hal|make_possessive}} → Xəta: Söz daxil edilməyib.

-- Sözlərə yiyəlik hal şəkilçisinin əlavə edilməsi

local p = {}
local lastVowel = require('Module:Son sait')

-- Yiyəlik halın hazırlanması üçün funksiya
function p.make_possessive(frame)
    -- Şablon parametrindən sözün götürülməsi
    local word = frame.args[1]

    -- Sözün daxil edilməsinin yoxlanışı
    if not word then
        return "Xəta: Söz daxil edilməyib."
    end

    -- Saitlər və şəkilçilər
    local vowels = "aıoueəiöü"
    local suffixes = {"ın", "in", "un", "ün", "-nın", "-nin", "-nun", "-nün", "-in"}

    -- Sözün son saitinin götürülməsi üçün köməkçi funksiya
    local last_vowel = lastVowel.main({args = {word}}, false)

    -- Son hərfin "k" və "q" olmasının yoxlanışı
    local last_letter = word:sub(-1)
    if last_letter == "k" then
        word = word:sub(1, -2) .. "y"
    elseif last_letter == "q" then
        word = word:sub(1, -2) .. "ğ"
    end
    
    -- Uyğun şəkilçinin müəyyənləşdirilməsi
    local suffix_index
        if last_vowel == "a" or last_vowel == "ı" then
            suffix_index = 1
        elseif last_vowel == "o" or last_vowel == "u" then
            suffix_index = 3
        elseif last_vowel == "e" or last_vowel == "ə" or last_vowel == "i" then
            suffix_index = 2
        elseif last_vowel == "ö" or last_vowel == "ü" then
            suffix_index = 4
        elseif last_letter == "A" or last_letter == "K" then
            suffix_index = 5
        elseif last_letter == "B" or last_letter == "C" or last_letter == "Ç"
        	 or last_letter == "D" or last_letter == "E" or last_letter == "Ə"
        	 or last_letter == "F" or last_letter == "G" or last_letter == "H"
        	 or last_letter == "X" or last_letter == "İ" or last_letter == "J"
        	 or last_letter == "P" or last_letter == "Q" or last_letter == "S"
        	 or last_letter == "Ş" or last_letter == "T" or last_letter == "V"
        	 or last_letter == "Y" or last_letter == "Z" then
            suffix_index = 6
        elseif last_letter == "L" or last_letter == "M" or last_letter == "N" or last_letter == "R" then
            suffix_index = 9
        elseif last_letter == "O" or last_letter == "U" then
            suffix_index = 7
        elseif last_letter == "Ö" or last_letter == "Ü" then
            suffix_index = 8
        else
            suffix_index = 1
        end
        
    -- Şəkilçinin bitişdirici samitlə əlavə edilməsi 
    if string.find(vowels, last_letter, 1, true) then
        if word == "su" or word == "Su" then
            word = word .. "y"
        else
            word = word .. "n"
        end
    end

    local possessive_word = word .. suffixes[suffix_index]
    
    return possessive_word
end

return p
Mənbə — ""

Informasiya Melumat Axtar

Anarim.Az

Sayt Rehberliyi ile Elaqe

Saytdan Istifade Qaydalari

Anarim.Az 2004-2023