Siirry sisältöön

Moduuli:tavutus

Wikisanakirjasta

Tämän moduulin ohjeistuksen voi tehdä sivulleModuuli:tavutus/ohje

--- Muotoilee annetut tavut siten, että jokaiseen väliin tulee rivinkeskinen piste.
-- Jos parametri k on annettu, lisää sivun luokkan "X:n kielen n-tavuiset sanat".

localluokat=require("Moduuli:luokittelu")

localexport={}

localcategory_names={
[1]="yksitavuiset",
[2]="kaksitavuiset",
[3]="kolmitavuiset",
[4]="nelitavuiset",
[5]="viisitavuiset",
[6]="kuusitavuiset",
[7]="seitsentavuiset",
[8]="kahdeksantavuiset",
[9]="yhdeksäntavuiset",
[10]="kymmentavuiset"
}

localfunctioncategory_name_for_n_syllables(n_syllables)
ifcategory_names[n_syllables]then
returncategory_names[n_syllables].."sanat"
end

returnn_syllables.."-tavuiset sanat"
end


localfunctionadd_category(langcode,n_syllables)
localcategory_name=luokat.kielenLuokka(langcode,category_name_for_n_syllables(n_syllables))

ifcategory_namethen
luokat.asetaAakkostajalla(langcode,category_name)
end

end

functionexport.Tavutus(frame)
localpframe=frame:getParent()

localsyllables={}
fori,vinipairs(pframe.args)do
syllables[i]=v
end

ifpframe.args.kthen
add_category(pframe.args.k,#syllables)
end

returntable.concat(syllables,"‧"),luokat

end

returnexport