Assamese IPA pronunciation module. See {{as-IPA}}
.
4 of 21 tests failed. (refresh)
Text | Expected | Actual | Comments | |
---|---|---|---|---|
মই (moi) | mɔɪ | mɔɪ | ||
দেশ (dex) | dɛx | dɛx | ||
মোৰ (mür) | mʊɹ | mʊɹ | ||
শক্তি (xokti) | xɔk.ti | xɔk.ti | ||
ঔষধ (ouxodh) | oʊ.xɔdʱ | oʊ.xɔdʱ | ||
পৰিয়াল (porial) | po.ɹial | pɔ.ɹial | ||
সোঁফালে (xü̃phale) | xʊ̃.pʰa.lɛ | xʊ̃.pʰa.lɛ | ||
স্পৰ্শ (sporxo) | spɔɹ.xɔ | spɔɹ.xɔ | ||
নাঙল (naṅol) | na.ŋɔl | na.ŋɔl | ||
হিংসা (hiṅxa) | ɦiŋ.xa | ɦiŋ.xa | ||
ঐতিহাসিক (oitihaxik) | oɪ.ti.ɦa.xik | oɪ.ti.ɦa.xik | ||
শহা পহু (xoha pohu) | xɔ.ɦa po.ɦu | xɔ.ɦa pɔ.ɦu | ||
সম্পূৰ্ণ (xompurno) | xɔm.puɹ.nɔ | xɔm.puɹ.nɔ | ||
মগজু (mogozu) | mo.ɡo.zu | mɔ.ɡɔ.zu | ||
বিৱৰণ (biworon) | bi.wɔ.ɹɔn | bi.wɔ.ɹɔn | ||
ৰাজ্য (raizzo) | ɹaɪd.ʑɔ | ɹaɪd.ʑɔ | ||
জ্বৰ (zor) | zɔɹ | zɔɹ | ||
অধিকাৰ (odhikar) | o.dʱi.kaɹ | ɔ.dʱi.kaɹ | ||
থকা (thoka) | tʰɔ.ka | tʰɔ.ka | ||
খেল (khel) | kʰɛl | kʰɛl | ||
মানুহ (manuh) | ma.nuʱ | ma.nuʱ |
local export = {}
local lang = require("Module:languages").getByCode("as")
local sc = require("Module:scripts").getByCode("Beng")
local m_translit = require("Module:as-translit").tr
local m_IPA = require("Module:IPA")
local gsub = mw.ustring.gsub
local gmatch = mw.ustring.gmatch
local correspondences = {
= "ɡ",
= "n",
= "pʰ", = "bʱ",
= "j", = "ɹ",
= "ɦ",
= "kʰ", = "ɡʱ",
= "zʱ", = "tʰ", = "dʱ",
= "ɹʱ", = "ɹi",
= "ɔ", = "ɛ", = "ʊ",
= "e", = "o", = "oɪ",
= "oʊ",
= "ɔ̃", = "ɛ̃", = "ʊ",
= "ẽ", = "ɔ̃", = "a", = "i", = "u"
}
local vowels = "aiueoüóéʏɵ"
local syllabify_pattern = "()(+)()"
local function syllabify(text)
for count = 1, 2 do
text = gsub(text, syllabify_pattern, function(a, b, c)
return a .. gsub(gsub(b, "(.)(.+)", "%1.%2"), "^(+)$", ".%1") .. c end)
end
return text
end
function export.link(term)
return require("Module:links").full_link{ term = term, lang = lang, sc = sc }
end
function export.toIPA(text)
local result = {}
local translit = m_translit(text, lang, sc, "IPA")
if not translit then
error('The term "' .. text .. '" could not be transliterated.')
end
local translit = syllabify(translit)
for character in gmatch(translit, ".") do
table.insert(result, correspondences or character)
end
result = table.concat(result)
result = gsub(result, "()i", "%1ɪ")
result = gsub(result, "z%.z", "d.ʑ")
result = gsub(result, "()ɦ", "%1ʱ")
return result
end
function export.make(frame)
local args = frame:getParent().args
local pagetitle = mw.title.getCurrentTitle().text
local p, results = {}, {}
if args then
for index, item in ipairs(args) do
table.insert(p, (item ~= "") and item or nil)
end
else
p = { pagetitle }
end
for _, Assamese in ipairs(p) do
table.insert(results, { pron = "/" .. export.toIPA(Assamese) .. "/" })
end
return '* ' .. m_IPA.format_IPA_full { lang = lang, items = results }
end
return export