Jump to content

Module:inc-mbn-IPA

From Wiktionary, the free dictionary


local export = {}

local u = mw.ustring.char
local gsub = mw.ustring.gsub

local consonants = {
	--common
	["ক"]="k", ["খ"]="kʰ", ["গ"]="ɡ", ["ঘ"]="ɡʱ", ["ঙ"]="ŋ", ["চ"]="t͡ʃ", ["ছ"]="t͡ʃʰ", ["জ"]="d͡ʒ", ["ঝ"]="d͡ʒʱ", ["ঞ"]="ɲ", ["ট"]="ʈ", ["ঠ"]="ʈʰ", ["ড"]="ɖ", ["ড়"]="ɽ",  ["ঢ"]="ɖʱ", ["ঢ়"]="ɽʱ", ["ণ"]="ɳ", ["ত"]="t̪", ["থ"]="t̪ʰ", ["দ"]="d̪", ["ধ"]="d̪ʱ", ["ন"]="n", ["প"]="p", ["ফ"]="pʰ", ["ব"]="b", ["ভ"]="bʱ", ["ম"]="m", ["য"]="d͡ʒ", ["য়"]="e̯", ["র"]="ɾ", ["ল"]="l", ["শ"]="ʃ", ["ষ"]="ʃ", ["স"]="ʃ", ["হ"]="ɦ",
}

local diacritics = {
	["া"]="ɑ", ["ি"]="i", ["ী"]="i", ["ু"]="u", ["ূ"]="u",
	["ে"]="e", ["ৈ"]="ɔi̯", ["ো"]="o", ["ৌ"]="ɔu̯",
	["ৃ"]="ɾi", ["্"]="", [""] = "ɒ",
}

local nonconsonants = {
	["অ"]="ɒ", ["আ"]="ɑ", ["ই"]="i", ["ী"]="i", ["উ"]="u", ["ঊ"]="u",
	["এ"]="e", ["ঐ"]="ɔi̯", ["ও"]="o", ["ঔ"]="ɔu̯",
	["ঋ"]="ɾi",
}

function export.show(frame)

	local args = frame:getParent().args
	local page_title = mw.title.getCurrentTitle().text
	local text = args[1] or page_title
	local qualifier = args["q"] or nil

	local transcription = export.to_IPA(text)
	local IPA_text
	IPA_text = require("Module:IPA").format_IPA_full {
		lang = require("Module:languages").getByCode("or"),
		items = {{ pron = "/" .. transcription .. "/" }},
	}

	return "* " .. (qualifier and require("Module:qualifier").format_qualifier{qualifier} .. " " or "")
		.. IPA_text

end

return export