Modul:Yiyəlik hal
Modulun nəticələrinə dair nümunələr
redaktə- {{#invoke:Yiyəlik hal|make_possessive|Bakı}} → a
- {{#invoke:Yiyəlik hal|make_possessive|Gəncə}} →
- {{#invoke:Yiyəlik hal|make_possessive|Göynük}} →
- {{#invoke:Yiyəlik hal|make_possessive|Şabran}} → aa
- {{#invoke:Yiyəlik hal|make_possessive|Ramin}} → ai
- {{#invoke:Yiyəlik hal|make_possessive|külək}} →
- {{#invoke:Yiyəlik hal|make_possessive|qulaq}} → ua
- {{#invoke:Yiyəlik hal|make_possessive|qulaq}} → ua
- {{#invoke:Yiyəlik hal|make_possessive|mənbə}} →
- {{#invoke:Yiyəlik hal|make_possessive|su}} → u
- {{#invoke:Yiyəlik hal|make_possessive|əmr}} →
- {{#invoke:Yiyəlik hal|make_possessive|kadr}} → a
- {{#invoke:Yiyəlik hal|make_possessive}} → Lua xətası sətir 8: attempt to index local 'str' (a nil value).
local p = {}
local function htmlDecode(str)
local entities = {
["ə"] = "ə", ["ö"] = "ö", ["ü"] = "ü"
}
return (str:gsub("&#%d+;", function(entity)
return entities[entity] or entity
end))
end
function p.make_possessive(frame)
local word = frame.args[1]
word = htmlDecode(word)
local function vowelsOnly(word)
local vowels = {
["a"] = true, ["ı"] = true, ["o"] = true, ["u"] = true,
["e"] = true, ["ə"] = true, ["i"] = true, ["ö"] = true, ["ü"] = true
}
local result = ""
for i = 1, #word do
local char = word:sub(i, i)
if vowels[char] then
result = result .. char
end
end
return result
end
local trimmedWord = vowelsOnly(word)
return trimmedWord
end
return p