Module:siwa-pron

From Linguifex
Revision as of 23:12, 25 December 2020 by Sware (talk | contribs)
Jump to navigation Jump to search


local export = {}
	
local m_IPA = require("Module:IPA")
local m_su = require("Module:string utilities")
local m_table = require("Module:table")
local m_data = mw.loadData('Module:siwa-pron/data')



local rules = {
	{"ẻu", "øː"},
	{"õu", "ɔ̃ː"},
	{"ả", "æː"},
	{"ẻ", "eː"},
	{"ỉ", "iː"},
	{"ỏ", "ʊː"},
	{"ủ", "uː"},
	{"ỷ", "yː"},
	
}

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)
	syllables = {}
	local word = mw.title.getCurrentTitle().text
	local pattern = "^(" .. initial .. ")?(" .. vocalic .. ")?(" .. internal .. ")?"
	table.insert(syllables, m_su.capturing_split(word, pattern))
	return syllables[2]
end

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

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

	local prefix = "[[w:IPA chart|IPA]]<sup>(" .. key_link .. ")</sup>:&#32;"
	local accent="(\''Aingo\'') "
	
	trans = "<span style=\"font-size:110%;font-family:Gentium,'DejaVu Sans','Segoe UI',sans-serif>[" .. args[1] .. "]</span>"

	out = accent..prefix..trans
	
	return out
end

return export