Module:BsPdK
Documentation for this module may be created at Module:BsPdK/doc
local str = {}
local kons = 'bcčćdDŽđfghjklLJmnNJprsštvzž'
local vok = 'aeiou'
function str.gen(frame)
local word = frame.args[1]
local lastl = mw.ustring.sub( word,-1,-1 )
local seclastl = mw.ustring.sub( word,-2,-2 )
local thirdlastl = mw.ustring.sub( word, -3,-3 )
local twolastl = mw.ustring.sub( word,-2,-1 )
local threelastl = mw.ustring.sub( word,-3,-1 )
if mw.ustring.match(threelastl,'lac') then
return mw.ustring.sub( word,1,-4) .. 'oca'
elseif mw.ustring.match(twolastl,'nj') or mw.ustring.match(twolastl,'lj') and mw.ustring.match(thirdlastl,'a') then
return mw.ustring.sub( word,1,-4) .. twolastl .. 'a'
elseif mw.ustring.match(lastl,'['..kons..']') and mw.ustring.match(seclastl,'a') then
return mw.ustring.sub( word,1,-3) .. lastl .. 'a'
elseif mw.ustring.match(seclastl,'e') and mw.ustring.match(lastl,'o') then
return mw.ustring.sub( word,1,-2) .. 'la'
elseif mw.ustring.match(seclastl,'a') and mw.ustring.match(lastl,'o') then
return mw.ustring.sub( word,1,-3) .. 'la'
elseif mw.ustring.match(lastl,'['..kons..']') or mw.ustring.match(lastl,'e') then
return word .. 'a'
elseif mw.ustring.match(lastl,'i') then
return word .. 'ja'
elseif mw.ustring.match(lastl,'o') then
return mw.ustring.sub( word,1,-2) .. 'a'
elseif mw.ustring.match(lastl,'a') then
return mw.ustring.sub( word,1,-2) .. 'e'
end
return word
end
return str