Module:siwa-pron: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 6: Line 6:
local m_data = mw.loadData('Module:siwa-pron/data')
local m_data = mw.loadData('Module:siwa-pron/data')


--local internal_clusters = m_data.internal_clusters_2 .. m_data.internal_clusters_3 .. m_data.internal_clusters_4 .. m_data.internal_clusters_5
 


local rules = {
local rules = {
Line 20: Line 20:
}
}


local consonants = "|m|p|b|v|n|t|d|s|ṡ|r|k|g|ġ|h|į|ų"
local initial = table.concat(m_data.initial_clusters, "|") .. consonants
local internal = table.concat(m_data.internal_clusters, "|") .. consonants
local vocalic = "a|e|i|o|u|y|ả|ẻ|ỉ|ỏ|ủ|ỷ|ů|õ|ę|" .. table.concat(m_data.diphthongs, "|") .. table.concat(m_data.triphthongs, "|")


 
function export.syllable(frame)
function export.separateSyllables(frame)
local word = mw.title.getCurrentTitle().text
local syllables = {}
local pattern = "^(" .. initial .. ")?(" .. vocalic .. ")?(" .. internal .. ")?"
local pattern = "(s)?(aeiou){1}"
return m_su.capturing_split(word, pattern)
table.insert(syllables, m_su.capturing_split(mw.title.getCurrentTitle().text, pattern))
return syllables
end
end


function export.show(frame)
function export.show(frame)
local parent_args = frame:getParent().args
local parent_args = frame:getParent().args
local params = {
local params = {
[1] = { default = mw.title.getCurrentTitle().text},
[1] = { default = mw.title.getCurrentTitle().text },
}
}
local args = require("Module:parameters").process(parent_args, params)
local args = require("Module:parameters").process(parent_args, params)


local IPA_key = "IPA for Siwa"
local IPA_key = "IPA for Siwa"
local key_link = "[["..IPA_key.."|key]]"
local key_link = "[[".. IPA_key .."|key]]"


local prefix = "[[w:IPA chart|IPA]]<sup>(" .. key_link .. ")</sup>:&#32;"
local prefix = "[[w:IPA chart|IPA]]<sup>(" .. key_link .. ")</sup>:&#32;"