Module:nnp
selo
- ilo
n.oNanpali ante e nanpa tawa nimi ona kepeken nasin pu - ilo
n.nnpli ante e nimi suli nanpa tawa sitelen lili nanpa - ilo
n.nasinNanpaPonali kepeken ilon.oNanpalon tenpo mute li pana e nimi "ale" lon insa- nanpa li jo e ijo lili la ona li pana e nimi "ala" kin lon pini. sin la ona li kepeken ilo
n.oNanpalon tenpo mute li pana e nimi "ale" lon insa - nanpa o kepeken nasin pi sitelen lili la ona li kepeken ilo
n.nnp - nanpa li weka la ona li pana e nimi "weka" kin lon pini
- nanpa li jo e ijo lili la ona li pana e nimi "ala" kin lon pini. sin la ona li kepeken ilo
local n = {}
function n.oNanpa(ijo)
ijo=math.floor(ijo)
if ijo==0 then
return('ala')
end
local nanpa=''
for i=1,ijo/100 do
nanpa=nanpa.."ale "
end
for i=1,(ijo%100)/20 do
nanpa=nanpa.."mute "
end
for i=1,(ijo%20)/5 do
nanpa=nanpa.."luka "
end
for i=1,(ijo%5)/2 do
nanpa=nanpa.."tu "
end
for i=1,(ijo%5%2) do
nanpa=nanpa.."wan "
end
return(nanpa:match'^%s*(.*%S)' or '')
end
function n.nnp(ijo)
return(ijo:gsub("ale","A"):gsub("ali","A"):gsub("mute","M"):gsub("luka","L"):gsub("tu","T"):gsub("wan","W"):gsub("ala","X"):gsub(" ", ""))
end
function n.nasinNanpaPona(frame)
local wile = frame.args[1]:gsub("%s",""):gsub("%,",""):gsub("%'","") or ''
local weka=false
if tonumber(wile)<0 then
weka=true
end
wile=math.abs(wile)
if wile=='' then
return ''
end
local nasin = frame.args[2] or ''
local nanpa=''
for j=1,string.len(math.floor(wile)),2 do
nn=n.oNanpa((wile/(10^(j-1)))%100)
if nn~="ala" then
nanpa=nn..nanpa
end
if (j+1<string.len(math.floor(wile))) then
nanpa=' ale '..nanpa
end
end
-- lili li ken lon nanpa
if string.find(wile,"%.") then
local wile2=string.sub(wile,string.find(wile,"%.")+1,-1)
if tonumber(wile2)~=0 and nanpa:match'^%s*(.*%S)'~="ala" and nanpa:match'^%s*(.*%S)'~="" and nanpa:match'^%s*(.*%S)'~=nil then
nanpa=nanpa:match'^%s*(.*%S)'..' ala '
end
if nanpa:match'^%s*(.*%S)'=="" or nanpa:match'^%s*(.*%S)'==nil then
nanpa="ala "
end
if string.len(wile2)%2==1 then
wile2=wile2.."0"
end
for j=1,string.len(math.floor(wile2)),2 do
nn=n.oNanpa((wile2/(10^(j-1)))%100)
if nn~="ala" then
nanpa=nanpa..nn
end
if (j+1<string.len(math.floor(wile2))) then
nanpa=nanpa..' ale '
end
end
end
if nasin ~= '' then
nanpa=n.nnp(nanpa:match'^%s*(.*%S)')
end
-- nanpa li ken weka
if weka then
nanpa=nanpa:match'^%s*(.*%S)'..' weka'
end
return(nanpa:match'^%s*(.*%S)' or '')
end
return n