Module:mh-pronunc

Hello, you have come here looking for the meaning of the word Module:mh-pronunc. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:mh-pronunc, but we will also tell you about its etymology, its characteristics and you will know how to say Module:mh-pronunc in singular and plural. Everything you need to know about the word Module:mh-pronunc you have here. The definition of the word Module:mh-pronunc will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:mh-pronunc, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

Marshallese transcriptions in entries
term Bender phonemic phonetic (Rālik) phonetic (Ratak)
-in {-in} /-inʲ/
-m {-m} /-mʲ/
aba {habah} /ɰæpˠæɰ/
abba {habbah} /ɰæpˠpˠæɰ/
abbain {habbahin} /ɰæpˠpˠæɰinʲ/
abōļ {habeļ} /ɰæpˠɛlˠ/
abōļin {habeļin} /ɰæpˠɛlˠinʲ/
addi {haddiy} /ɰærʲrʲij/
Ādkup {yadkʷip} /jærʲkʷipʲ/
aej {hayȩj} /ɰæjetʲ/
aejin {hayȩjin} /ɰæjetʲinʲ/
aejkudiim {hayȩjkʷidiyim} /ɰæjetʲkʷirʲijimʲ/
aejkudiim̧ {hayȩjkʷidiyim̧} /ɰæjetʲkʷirʲijimˠ/
aejkudiimin {hayȩjkʷidiyimin} /ɰæjetʲkʷirʲijimʲinʲ/
aejkudiim̧in {hayȩjkʷidiyim̧in} /ɰæjetʲkʷirʲijimˠinʲ/
Aelok {hayȩlȩkʷ} /ɰæjelʲekʷ/
aelōn̄ {hayȩlȩg} /ɰæjelʲeŋ/
/ɰæjelʲeŋˠ/

aelōn̄in {hayȩlȩgin} /ɰæjelʲeŋinʲ/
/ɰæjelʲeŋˠinʲ/

Aelōn̄in-ae {hayȩlȩgin-hayey} /ɰæjelʲeŋinʲ-ɰæjɛj/
/ɰæjelʲeŋˠinʲ-ɰæjɛj/

Aelōn̄ļapļap {hayȩlȩgļapļap} /ɰæjelʲeŋlˠæpʲlˠæpʲ/
/ɰæjelʲeŋˠlˠæpʲlˠæpʲ/

aen {hayen} /ɰæjɛnʲ/
aet {hhayȩt} /ɰɰæjetˠ/

aij {hayij} /ɰæjitʲ/
aijin {hayijin} /ɰæjitʲinʲ/
aijkudiim {hayijkʷidiyim} /ɰæjitʲkʷirʲijimʲ/
aijkudiim̧ {hayijkʷidiyim̧} /ɰæjitʲkʷirʲijimˠ/
aijkudiimin {hayijkʷidiyimin} /ɰæjitʲkʷirʲijimʲinʲ/
aijkudiim̧in {hayijkʷidiyim̧in} /ɰæjitʲkʷirʲijimˠinʲ/
aj {haj} /ɰætʲ/
aje {hajȩy} /ɰætʲej/
ajein {hajȩyin} /ɰætʲejinʲ/
aji {hajiy} /ɰætʲij/
akjijen {hakjiyjen} /ɰæktʲijtʲɛnʲ/
/ɰækˠtʲijtʲɛnʲ/

ākūtwe {yakitwey} /jækitˠwɛj/
/jækˠitˠwɛj/

akwāāl {hakʷayal} /ɰækʷæjælʲ/
{haļ} /ɰælˠ/
Aļajka {haļajkah} /ɰælˠætʲkæɰ/
/ɰælˠætʲkˠæɰ/

aļaļ {haļhaļ} /ɰælˠɰælˠ/
aļap {haļap} /ɰælˠæpʲ/
aļbapeet {haļbahpeyet} /ɰælˠpˠæɰpʲɛjɛtˠ/
allōn̄ {hallȩg} /ɰælʲlʲeŋ/
/ɰælʲlʲeŋˠ/

Am̧bo {ham̧bȩw} /ɰæmˠpˠew/
Amedka {hamedkah} /ɰæmʲɛrʲkæɰ/
/ɰæmʲɛrʲkˠæɰ/

am̧onika {ham̧ewnikah} /ɰæmˠɛwnʲikæɰ/
/ɰæmˠɛwnʲikˠæɰ/

am̧onikain {ham̧ewnikahin} /ɰæmˠɛwnʲikæɰinʲ/
/ɰæmˠɛwnʲikˠæɰinʲ/

an̄ {hag} /ɰæŋ/
/ɰæŋˠ/

āne {yanȩy} /jænʲej/
Āne-bōn {yanȩy-bȩn} /jænʲej-pˠenʲ/
Āne-buoj {yanȩy-biwȩj} /jænʲej-pˠiwetʲ/
Āne-dikdik {yanȩy-dikdik} /jænʲej-rʲikrʲik/
/jænʲej-rʲikˠrʲikˠ/

Āne-jaōeōe {yanȩy-jahȩyhȩy} /jænʲej-tʲæɰejɰej/
Āneeļļapkaņ {yanȩyȩļļapkaņ} /jænʲejelˠlˠæpʲkænˠ/
/jænʲejelˠlˠæpʲkˠænˠ/

Ānewātak {yanȩywaytak} /jænʲejwæjtˠæk/
/jænʲejwæjtˠækˠ/

Ānewetak {yanȩyweytak} /jænʲejwɛjtˠæk/
/jænʲejwɛjtˠækˠ/

Anij {hanij} /ɰænʲitʲ/
aolep {hawelep} /ɰæwɛlʲɛpʲ/
aoļōt {hawȩļȩt} /ɰæwelˠetˠ/
Arņo {harņew} /ɰærˠnˠɛw/
āt {yat} /jætˠ/
ātāt {yatyat} /jætˠjætˠ/
Atļaņtiik {hatļaņtiyik} /ɰætˠlˠænˠtˠijik/
/ɰætˠlˠænˠtˠijikˠ/

aujpitōļ {hawijpiteļ} /ɰæwitʲpʲitˠɛlˠ/
Aujtōrōlia {hawijtereliyah} /ɰæwitʲtˠɛrˠɛlʲijæɰ/
Aur {hawir} /ɰæwirˠ/
awa {hawah} /ɰæwæɰ/
awaan {hawahan} /ɰæwæɰænʲ/
Awai {hawahyiy} /ɰæwæɰjij/
baajikōļ {bahajikeļ} /pˠæɰætʲikɛlˠ/
/pˠæɰætʲikˠɛlˠ/

baajkōļ {bahajkeļ} /pˠæɰætʲkɛlˠ/
/pˠæɰætʲkˠɛlˠ/

baam̧ {baham̧} /pˠæɰæmˠ/
baam̧in {baham̧in} /pˠæɰæmˠinʲ/
baam̧le {baham̧lȩy} /pˠæɰæmˠlʲej/
baan̄ke {bahagkȩy} /pˠæɰæŋkej/
/pˠæɰæŋˠkˠej/

baba {bahbah} /pˠæɰpˠæɰ/
babbūb {babbib} /pˠæpˠpˠipˠ/
bae {bahyey} /pˠæɰjɛj/
baeļ {bahyeļ} /pˠæɰjɛlˠ/
baeoliin {bahyewliyin} /pˠæɰjɛwlʲijinʲ/
baeoliinin {bahyewliyinin} /pˠæɰjɛwlʲijinʲinʲ/
Baibōļ {bahyibeļ} /pˠæɰjipˠɛlˠ/
Bāibōļ {bayibeļ} /pˠæjipˠɛlˠ/
baijin {bahyijin} /pˠæɰjitʲinʲ/
baiklaaj {bahyiklahaj} /pˠæɰjiklʲæɰætʲ/
/pˠæɰjikˠlʲæɰætʲ/

baiļat {bahyiļat} /pˠæɰjilˠætˠ/
bajinjea {bahjinjeyah} /pˠæɰtʲinʲtʲɛjæɰ/
Bajjipiik {bajjiypiyik} /pˠætʲtʲijpʲijik/
/pˠætʲtʲijpʲijikˠ/

Bajjipik {bajjiypik} /pˠætʲtʲijpʲik/
/pˠætʲtʲijpʲikˠ/

baļebo̧o̧ļ {bahļȩybawaļ} /pˠæɰlˠejpˠæwælˠ/
baļuun {baļiwin} /pˠælˠiwinʲ/
baļuunin {baļiwinin} /pˠælˠiwinʲinʲ/
baļwūn {baļwin} /pˠælˠwinʲ/
baļwūnin {baļwinin} /pˠælˠwinʲinʲ/
bao {bahwew} /pˠæɰwɛw/
barulep {bariwlep} /pˠærˠiwlʲɛpʲ/
bata {bahtah} /pˠæɰtˠæɰ/
boea {bewyah} /pˠɛwjæɰ/
bojin {bȩwjin} /pˠewtʲinʲ/
bōjin {bȩhjin} /pˠeɰtʲinʲ/
bok {bekʷ} /pˠɛkʷ/
bok {bȩkʷ} /pˠekʷ/
Bok-ak {bekʷ-hak} /pˠɛkʷ-ɰæk/
/pˠɛkʷ-ɰækˠ/

bōkāro {bekayrew} /pˠɛkæjrˠɛw/
/pˠɛkˠæjrˠɛw/

bokin {bȩkʷin} /pˠekʷinʲ/
bo̧kutan̄ {bakʷitag} /pˠækʷitˠæŋ/
/pˠækʷitˠæŋˠ/

bōļāāk {beļayak} /pˠɛlˠæjæk/
/pˠɛlˠæjækˠ/

bōļāākin {beļayakin} /pˠɛlˠæjækinʲ/
/pˠɛlˠæjækˠinʲ/

Bōļaide {beļahyidey} /pˠɛlˠæɰjirʲɛj/
Bōļao {beļahwew} /pˠɛlˠæɰwɛw/
Bōļau {beļahwiw} /pˠɛlˠæɰwiw/
bōļeak {beļyak} /pˠɛlˠjæk/
/pˠɛlˠjækˠ/

bōļeakin {beļyakin} /pˠɛlˠjækinʲ/
/pˠɛlˠjækˠinʲ/

bon̄ {bȩgʷ} /pˠeŋʷ/
Boonpe {bȩwȩnpȩy} /pˠewenʲpʲej/
boraan̄ {bȩwrahag} /pˠewrˠæɰæŋ/
/pˠewrˠæɰæŋˠ/

Bōraide {berahyidey} /pˠɛrˠæɰjirʲɛj/
bōta {betah} /pˠɛtˠæɰ/
bou {bȩwiw} /pˠewiw/
boub {bȩwib} /pˠewipˠ/
bouk {bȩwik} /pˠewik/
/pˠewikˠ/

bujeen̄ {biwjeyeg} /pˠiwtʲɛjɛŋ/
/pˠiwtʲɛjɛŋˠ/

bujentōm̧a {biwjentem̧ah} /pˠiwtʲɛnʲtˠɛmˠæɰ/
bukun {bikʷin} /pˠikʷinʲ/
bukun iju {bikʷin yijiw} /pˠikʷinʲ jitʲiw/
bukwabok {bikʷabekʷ} /pˠikʷæpˠɛkʷ/
bukwi {bikʷiy} /pˠikʷij/
Būļāide {biļayidey} /pˠilˠæjirʲɛj/
būļajtiik {biļajtiyik} /pˠilˠætʲtˠijik/
/pˠilˠætʲtˠijikˠ/

būļan̄kōj {biļagkej} /pˠilˠæŋkɛtʲ/
/pˠilˠæŋˠkˠɛtʲ/

būļāwūt {biļaywit} /pˠilˠæjwitˠ/
būļu {biļiw} /pˠilˠiw/
buoj {biwȩj} /pˠiwetʲ/
Būranij {birahnij} /pˠirˠæɰnʲitʲ/
būrawūn {birahwin} /pˠirˠæɰwinʲ/
būreej {bireyej} /pˠirˠɛjɛtʲ/
būro̧k {birakʷ} /pˠirˠækʷ/
būrōrō {birehreh} /pˠirˠɛɰrˠɛɰ/
Būrotijen {birewtiyjen} /pˠirˠɛwtˠijtʲɛnʲ/
būton̄ {bitegʷ} /pˠitˠɛŋʷ/
būton̄in {bitegʷin} /pˠitˠɛŋʷinʲ/
būton̄ton̄ {bitegʷtegʷ} /pˠitˠɛŋʷtˠɛŋʷ/
būttiwaļ {bittiywaļ} /pˠitˠtˠijwælˠ/
buum̧ {biwim̧} /pˠiwimˠ/
buwae {biwahyȩy} /pˠiwæɰjej/
buwaj {biwaj} /pˠiwætʲ/
bwe {bey} /pˠɛj/
bwe {bȩy} /pˠej/
bweetkōn {bȩyȩtkȩn} /pˠejetˠkenʲ/
/pˠejetˠkˠenʲ/

bweo {bȩyȩw} /pˠejew/
bweoan {beyewan} /pˠɛjɛwænʲ/
bwiaea {biyahyah} /pˠijæɰjæɰ/
bwiin {biyin} /pˠijinʲ/
bwij {bij} /pˠitʲ/
bwijuwe {bijiwwȩy} /pˠitʲiwwej/
bwilijmāāņ {bilijmayaņ} /pˠilʲitʲmʲæjænˠ/
bwiro {biyrȩw} /pˠijrˠew/
da {dah} /rʲæɰ/
dak {dak} /rʲæk/
/rʲækˠ/

dān {dan} /rʲænʲ/
dānnin {dannin} /rʲænʲnʲinʲ/
dāp {dap} /rʲæpʲ/
debweiu {debȩyiw} /rʲɛpˠejiw/
deo̧ {deyaw} /rʲɛjæw/
diaka {diyakah} /rʲijækæɰ/
/rʲijækˠæɰ/

diin̄ko {diyigkȩw} /rʲijiŋkew/
/rʲijiŋˠkˠew/

dik {dik} /rʲik/
/rʲikˠ/

ditōb {ditȩb} /rʲitˠepˠ/
diwōj {diywȩj} /rʲijwetʲ/
duoj {diwȩj} /rʲiwetʲ/
eakeak {yakyak} /jækjæk/
/jækˠjækˠ/

eakeake {yakyakey} /jækjækɛj/
/jækˠjækˠɛj/

eakto {yaktȩw} /jæktˠew/
/jækˠtˠew/

eaktuwe {yaktiwey} /jæktˠiwɛj/
/jækˠtˠiwɛj/

eaļ {yaļ} /jælˠ/
ean̄ {yag} /jæŋ/
/jæŋˠ/

ean̄in {yagin} /jæŋinʲ/
/jæŋˠinʲ/

ed {yed} /jɛrʲ/
Eijia {yȩyijiyah} /jejitʲijæɰ/
ek {yȩk} /jek/
/jekˠ/

eļbōn {yeļben} /jɛlˠpˠɛnʲ/
Elej {yelej} /jɛlʲɛtʲ/
Ellep {yellep} /jɛlʲlʲɛpʲ/
em {yem} /jɛmʲ/
emān {yeman} /jɛmʲænʲ/
em̧m̧an {yem̧m̧an} /jɛmˠmˠænʲ/
ene {yȩnȩy} /jenʲej/
enjeļ {yenjeļ} /jɛnʲtʲɛlˠ/
Enm̧aat {yenm̧ahat} /jɛnʲmˠæɰætˠ/
en̄oul {yȩgȩwil} /jeŋewilʲ/
/jeŋˠewilʲ/

eok {yȩkʷ} /jekʷ/
eo̧n̄ {yagʷ} /jæŋʷ/
eo̧n̄ōd {yagʷed} /jæŋʷɛrʲ/
eōō {yeheh} /jɛɰɛɰ/
eo̧r {yarʷ} /jærʷ/
Eo̧werōk {yawȩyrȩk} /jæwejrˠek/
/jæwejrˠekˠ/

Epatōn {yepaten} /jɛpʲætˠɛnʲ/
Epjā {yepjay} /jɛpʲtʲæj/
Epjā-dik {yepjay-dik} /jɛpʲtʲæj-rʲik/
/jɛpʲtʲæj-rʲikˠ/

Epoon {yepewen} /jɛpʲɛwɛnʲ/
Eprōļ {yepreļ} /jɛpʲrˠɛlˠ/
erm̧we {yȩrm̧ȩy} /jerˠmˠej/
erm̧ween {yȩrm̧ȩyȩn} /jerˠmˠejenʲ/
etal {yetal} /jɛtˠælʲ/
ewan {yewan} /jɛwænʲ/
Ewerōk {yȩwȩyrȩk} /jewejrˠek/
/jewejrˠekˠ/

Iaab {yi'yahab} /ji̯jæɰæpˠ/
iaam̧ {yi'yaham̧} /ji̯jæɰæmˠ/
iāekwōj {yiyayȩkʷȩj} /jijæjekʷetʲ/

iakiu {yi'yakiyiw} /ji̯jækijiw/
/ji̯jækˠijiw/

iakiuin {yi'yakiyiwin} /ji̯jækijiwinʲ/
/ji̯jækˠijiwinʲ/

iakwāāl {yihakʷayal} /jiɰækʷæjælʲ/
iaļ {yiyaļ} /jijælˠ/

iaļo {yiyaļȩw} /jijælˠew/

Ibae {yibahyey} /jipˠæɰjɛj/
ibbuku {yibbikʷiw} /jipˠpˠikʷiw/
ibkij {yibkij} /jipˠkitʲ/
/jipˠkˠitʲ/

idaak {yidahak} /jirʲæɰæk/
/jirʲæɰækˠ/

iia {'yiyah} /jijjæɰ/
/jiːjæɰ/

iiaeae {'yiyahyahyey} /jijjæɰjæɰjɛj/
/jiːjæɰjæɰjɛj/

iiāekwōj {'yiyayȩkʷȩj} /jijjæjekʷetʲ/
/jiːjæjekʷetʲ/

iiaieo {'yiyahyiyȩw} /jijjæɰjijew/
/jiːjæɰjijew/

iiāio {'yiyayiyȩw} /jijjæjijew/
/jiːjæjijew/

iiaļ {'yiyaļ} /jijjælˠ/
/jiːjælˠ/

iiaļan̄e {'yiyaļagey} /jijjælˠæŋɛj/
/jiːjælˠæŋˠɛj/

iiaļo {'yiyaļȩw} /jijjælˠew/
/jiːjælˠew/

iij {yiyij} /jijitʲ/
Ijitō {yijiteh} /jitʲitˠɛɰ/
iju {yijiw} /jitʲiw/
ikbwij {yikbij} /jikpˠitʲ/
/jikˠpˠitʲ/

ilo {yilew} /jilʲɛw/
ilo {yilȩw} /jilʲew/
im {yim} /jimʲ/
Im̧wej {yim̧yȩj} /jimˠjetʲ/
in {yin} /jinʲ/
in̄ {yig} /jiŋ/
/jiŋˠ/

indeeo {yindȩyyew} /jinʲrʲejjɛw/
In̄len {yiglen} /jiŋlʲɛnʲ/
/jiŋˠlʲɛnʲ/

In̄lij {yiglij} /jiŋlʲitʲ/
/jiŋˠlʲitʲ/

Intia {yintiyah} /jinʲtˠijæɰ/
Intiia {yintiyiyah} /jinʲtˠijijæɰ/
io̧kio̧kwe {yi'yakʷyi'yakʷey} /ji̯jækʷji̯jækʷɛj/
io̧kwe {yi'yakʷey} /ji̯jækʷɛj/
io̧kwein {yi'yakʷȩyin} /ji̯jækʷejinʲ/
iōn̄ {yi'yȩg} /ji̯jeŋ/
/ji̯jeŋˠ/

iōn̄in {yi'yȩgin} /ji̯jeŋinʲ/
/ji̯jeŋˠinʲ/

io̧o̧t {yi'yawat} /ji̯jæwætˠ/
irooj {yirȩwȩj} /jirˠewetʲ/
irooj {yirewej} /jirˠɛwɛtʲ/
iroojin {yirewejin} /jirˠɛwɛtʲinʲ/
iroojin {yirȩwȩjin} /jirˠewetʲinʲ/
irwōj {yirwej} /jirˠwɛtʲ/
irwōj {yirwȩj} /jirˠwetʲ/
iu {yiw} /jiw/
iuun {yiwin} /jiwinʲ/
iuunin {yiwinin} /jiwinʲinʲ/
iuwi {yiwwiy} /jiwwij/
ja- {ja-} /tʲæ-/
jaab {jahab} /tʲæɰæpˠ/
jaajmi {jahajmiy} /tʲæɰætʲmʲij/
Jaam̧ {jaham̧} /tʲæɰæmˠ/
jāān {jayan} /tʲæjænʲ/
jāānwūj {jayanwij} /tʲæjænʲwitʲ/
jaat {jahat} /tʲæɰætˠ/
jabōļ {jabeļ} /tʲæpˠɛlˠ/
jabōn {jaben} /tʲæpˠɛnʲ/
Jabōt {jabet} /tʲæpˠɛtˠ/
jabwi {jabiy} /tʲæpˠij/
Jādede {jadeydey} /tʲærʲɛjrʲɛj/
jaidin̄ {jahyidyig} /tʲæɰjirʲjiŋ/
/tʲæɰjirʲjiŋˠ/

jāidin̄ {jayidyig} /tʲæjirʲjiŋ/
/tʲæjirʲjiŋˠ/

jaij {jahyij} /tʲæɰjitʲ/
jāij {jayij} /tʲæjitʲ/
jain {jahyin} /tʲæɰjinʲ/
Jaina {jahyinah} /tʲæɰjinʲæɰ/
Jāina {jayinah} /tʲæjinʲæɰ/
jaintiij {jahyintiyij} /tʲæɰjinʲtˠijitʲ/
Jāioon {jayiyewen} /tʲæjijɛwɛnʲ/
Jāipaan {jayipahan} /tʲæjipʲæɰænʲ/
jāj {jaj} /tʲætʲ/
jāje {jayjȩy} /tʲæjtʲej/
jaki {jakiy} /tʲækij/
/tʲækˠij/

jakkūramen {jakkirahmen} /tʲækkirˠæɰmʲɛnʲ/
/tʲækˠkˠirˠæɰmʲɛnʲ/

jakōļ {jakeļ} /tʲækɛlˠ/
/tʲækˠɛlˠ/

jaļ- {jaļ-} /tʲælˠ-/
jāl- {jal-} /tʲælʲ-/
jālele {jalȩylȩy} /tʲælʲejlʲej/
Jālooj {jalȩwȩj} /tʲælʲewetʲ/
Jālwōj {jalwȩj} /tʲælʲwetʲ/
Jāmne {jamney} /tʲæmʲnʲɛj/
Jāmo̧ {jaymaw} /tʲæjmʲæw/
jam̧ōņ {jam̧eņ} /tʲæmˠɛnˠ/
Jam̧uwa {jahm̧iwwah} /tʲæɰmˠiwwæɰ/
jan̄ {jag} /tʲæŋ/
/tʲæŋˠ/

Jan̄ai {jahgahyiy} /tʲæɰŋæɰjij/
/tʲæɰŋˠæɰjij/

jāndik {jandik} /tʲænʲrʲik/
/tʲænʲrʲikˠ/

jan̄ij {jagij} /tʲæŋitʲ/
/tʲæŋˠitʲ/

jan̄in̄i {jahgiygiy} /tʲæɰŋijŋij/
/tʲæɰŋˠijŋˠij/

jaņtōj {jaņtej} /tʲænˠtˠɛtʲ/
jāntōj {jantej} /tʲænʲtˠɛtʲ/
Jānwōde {janwedey} /tʲænʲwɛrʲɛj/
Jarōj {jarej} /tʲærˠɛtʲ/
jarom {jarʷem} /tʲærʷɛmʲ/
jaromin {jarʷemin} /tʲærʷɛmʲinʲ/
jatiin {jahtiyin} /tʲæɰtˠijinʲ/
jatiraito {jahtiyrahyitȩw} /tʲæɰtˠijrˠæɰjitˠew/
je {jȩy} /tʲej/
Jebat {jebat} /tʲɛpˠætˠ/
jebkwanwūjo̧ {jebkʷanwijaw} /tʲɛpˠkʷænʲwitʲæw/
Jebtōm̧ba {jebtem̧bah} /tʲɛpˠtˠɛmˠpˠæɰ/
jebwa {jebwah} /tʲɛpˠwæɰ/
Jebwad {jebwad} /tʲɛpˠwærʲ/
jedo̧ujij {jedawijij} /tʲɛrʲæwitʲitʲ/
jedpānit {jedpanit} /tʲɛrʲpʲænʲitˠ/
jeeļ {jeyeļ} /tʲɛjɛlˠ/
jeen {jeyen} /tʲɛjɛnʲ/
Jeina {jȩyinah} /tʲejinʲæɰ/
jelba {jȩlbah} /tʲelʲpˠæɰ/
jelbain {jȩlbahin} /tʲelʲpˠæɰinʲ/
jem̧ar {jem̧ar} /tʲɛmˠærˠ/
Jemene {jemeney} /tʲɛmʲɛnʲɛj/
jendik {jȩndik} /tʲenʲrʲik/
/tʲenʲrʲikˠ/

jendik {jendik} /tʲɛnʲrʲik/
/tʲɛnʲrʲikˠ/

jennade {jennahdȩy} /tʲɛnʲnʲæɰrʲej/
Jepaan {jepahan} /tʲɛpʲæɰænʲ/
Jeptōm̧ba {jeptem̧bah} /tʲɛpʲtˠɛmˠpˠæɰ/
jera {jerah} /tʲɛrˠæɰ/
jerā {jeray} /tʲɛrˠæj/
jerbal {jerbal} /tʲɛrˠpˠælʲ/
jibukwi {jibikʷiy} /tʲipˠikʷij/
jiij {jiyij} /tʲijitʲ/
jiijin {jiyijin} /tʲijitʲinʲ/
jiip {jiyip} /tʲijipʲ/
jiipip {jiyipyip} /tʲijipʲjipʲ/
jijāj {jiyjaj} /tʲijtʲætʲ/
Jijej {jiyjȩj} /tʲijtʲetʲ/
Jijer {jiyjer} /tʲijtʲɛrˠ/
jijilimjuon {jijilimjiwen} /tʲitʲilʲimʲtʲiwɛnʲ/
Jikako {jikahkȩw} /tʲikæɰkew/
/tʲikˠæɰkˠew/

jikka {jikkah} /tʲikkæɰ/
/tʲikˠkˠæɰ/

jikuuļ {jikiwiļ} /tʲikiwilˠ/
/tʲikˠiwilˠ/

jiljilimjuon {jiljilimjiwen} /tʲilʲtʲilʲimʲtʲiwɛnʲ/
jiljilimjuonn̄oul {jiljilimjiwengȩwil} /tʲilʲtʲilʲimʲtʲiwɛnʲŋewilʲ/
/tʲilʲtʲilʲimʲtʲiwɛnʲŋˠewilʲ/

jiljino {jijinew} /tʲitʲinʲɛw/
jiljinōn̄n̄oul {jijinȩggȩwil} /tʲitʲinʲeŋŋewilʲ/
/tʲitʲinʲeŋˠŋˠewilʲ/

jiljinon̄oul {jijinewgȩwil} /tʲitʲinʲɛwŋewilʲ/
/tʲitʲinʲɛwŋˠewilʲ/

jiln̄uul {jilgiwil} /tʲilʲŋiwilʲ/
/tʲilʲŋˠiwilʲ/

jilu {jiliw} /tʲilʲiw/
jimāāņ {jimayaņ} /tʲimʲæjænˠ/
jimeeņ {jimeyeņ} /tʲimʲɛjɛnˠ/
jimjuon {jimjiwen} /tʲimʲtʲiwɛnʲ/
jimjuon̄oul {jimjiwegȩwil} /tʲimʲtʲiwɛŋewilʲ/
/tʲimʲtʲiwɛŋˠewilʲ/

Jipein {jipȩyin} /tʲipʲejinʲ/
Jitni {jitniy} /tʲitˠnʲij/
jito̧kin {jitawkin} /tʲitˠæwkinʲ/
/tʲitˠæwkˠinʲ/

jitūūl {jitihil} /tʲitˠiɰilʲ/
jitūūlin {jitihilin} /tʲitˠiɰilʲinʲ/
joiu {jȩwyiw} /tʲewjiw/
jo̧jej {jawjej} /tʲæwtʲɛtʲ/
jojo {jȩwjȩw} /tʲewtʲew/
jojo {jewjew} /tʲɛwtʲɛw/
jojoin {jewjȩwin} /tʲɛwtʲewinʲ/
jojoin {jȩwjȩwin} /tʲewtʲewinʲ/
jok {jekʷ} /tʲɛkʷ/
jo̧kleej {jakʷleyej} /tʲækʷlʲɛjɛtʲ/
jon̄oul {jȩgʷȩwil} /tʲeŋʷewilʲ/
jon̄oul {jegʷȩwil} /tʲɛŋʷewilʲ/
joob {jeweb} /tʲɛwɛpˠ/
joobin {jewebin} /tʲɛwɛpˠinʲ/
jo̧o̧ļ {jawaļ} /tʲæwælˠ/
Jo̧o̧n {jawan} /tʲæwænʲ/
jourur {jȩwirwir} /tʲewirˠwirˠ/
jo̧uwi {jawwiy} /tʲæwwij/
jowapin {jewahpin} /tʲɛwæɰpʲinʲ/
Juje {jiwjey} /tʲiwtʲɛj/
jukuuļ {jikʷiwiļ} /tʲikʷiwilˠ/
jukwa {jikʷah} /tʲikʷæɰ/
jukwain {jikʷahin} /tʲikʷæɰinʲ/
jukweea {jikʷeyyah} /tʲikʷɛjjæɰ/
jukweeain {jikʷeyyahin} /tʲikʷɛjjæɰinʲ/
Juļae {jiwļahyey} /tʲiwlˠæɰjɛj/
juon {jiwen} /tʲiwɛnʲ/
jurbak {jirʷbak} /tʲirʷpˠæk/
/tʲirʷpˠækˠ/

jure {jiwrȩy} /tʲiwrˠej/
jurub {jirʷib} /tʲirʷipˠ/
jurubin {jirʷibin} /tʲirʷipˠinʲ/
juub {jiwib} /tʲiwipˠ/
juubin {jiwibin} /tʲiwipˠinʲ/
juuj {jiwij} /tʲiwitʲ/
Juun {jiwin} /tʲiwinʲ/
juwapen {jiwwapȩn} /tʲiwwæpʲenʲ/
juwapin {jiwahpin} /tʲiwæɰpʲinʲ/
kaab {kahab} /kæɰæpˠ/
/kˠæɰæpˠ/

kaaj {kahaj} /kæɰætʲ/
/kˠæɰætʲ/

kāān̄ {kayag} /kæjæŋ/
/kˠæjæŋˠ/

kāāntōļ {kayanteļ} /kæjænʲtˠɛlˠ/
/kˠæjænʲtˠɛlˠ/

kaar {kahar} /kæɰærˠ/
/kˠæɰærˠ/

kaarar {kaharhar} /kæɰærˠɰærˠ/
/kˠæɰærˠɰærˠ/

kaarin {kaharin} /kæɰærˠinʲ/
/kˠæɰærˠinʲ/

kaj {kaj} /kætʲ/
/kˠætʲ/

kajin {kajin} /kætʲinʲ/
/kˠætʲinʲ/

kajin M̧ajeļ {kajin m̧ahjeļ} /kætʲinʲ mˠæɰtʲɛlˠ/
/kˠætʲinʲ mˠæɰtʲɛlˠ/

kajji {kajjiy} /kætʲtʲij/
/kˠætʲtʲij/

kako {kahkȩw} /kæɰkew/
/kˠæɰkˠew/

Kalboonea {kalbewenyah} /kælʲpˠɛwɛnʲjæɰ/
/kˠælʲpˠɛwɛnʲjæɰ/

kam̧bōj {kam̧bej} /kæmˠpˠɛtʲ/
/kˠæmˠpˠɛtʲ/

kameļ {kameļ} /kæmʲɛlˠ/
/kˠæmʲɛlˠ/

kam̧putōr {kam̧piwter} /kæmˠpʲiwtˠɛrˠ/
/kˠæmˠpʲiwtˠɛrˠ/

kanbōj {kanbej} /kænʲpˠɛtʲ/
/kˠænʲpˠɛtʲ/

kanniōk {kanniyȩk} /kænʲnʲijek/
/kˠænʲnʲijekˠ/

kanniōkin {kanniyȩkin} /kænʲnʲijekinʲ/
/kˠænʲnʲijekˠinʲ/

kanniōkin kau {kanniyȩkin kahwiw} /kænʲnʲijekinʲ kæɰwiw/
/kˠænʲnʲijekˠinʲ kˠæɰwiw/

kanniōkin piik {kanniyȩkin piyik} /kænʲnʲijekinʲ pʲijik/
/kˠænʲnʲijekˠinʲ pʲijikˠ/

kapel {kahpel} /kæɰpʲɛlʲ/
/kˠæɰpʲɛlʲ/

kapen {kapen} /kæpʲɛnʲ/
/kˠæpʲɛnʲ/

kapilōn̄ {kapiylȩg} /kæpʲijlʲeŋ/
/kˠæpʲijlʲeŋˠ/

kāpin {kaypin} /kæjpʲinʲ/
/kˠæjpʲinʲ/

kapjer {kapjȩr} /kæpʲtʲerˠ/
/kˠæpʲtʲerˠ/

kapjerin {kapjȩrin} /kæpʲtʲerˠinʲ/
/kˠæpʲtʲerˠinʲ/

kapjor {kapjȩrʷ} /kæpʲtʲerʷ/
/kˠæpʲtʲerʷ/

kapjorin {kapjȩrʷin} /kæpʲtʲerʷinʲ/
/kˠæpʲtʲerʷinʲ/

kapwor {kapwȩr} /kæpʲwerˠ/
/kˠæpʲwerˠ/

kare {karȩy} /kærˠej/
/kˠærˠej/

karjin {karjin} /kærˠtʲinʲ/
/kˠærˠtʲinʲ/

Karoļāin {karewļayin} /kærˠɛwlˠæjinʲ/
/kˠærˠɛwlˠæjinʲ/

katiin {kahtiyin} /kæɰtˠijinʲ/
/kˠæɰtˠijinʲ/

katiin̄ {kahtiyig} /kæɰtˠijiŋ/
/kˠæɰtˠijiŋˠ/

katin {katin} /kætˠinʲ/
/kˠætˠinʲ/

katkijm̧uuj {katkijm̧iwij} /kætˠkitʲmˠiwitʲ/
/kˠætˠkˠitʲmˠiwitʲ/

Katlik {katlik} /kætˠlʲik/
/kˠætˠlʲikˠ/

katļo̧k {katļakʷ} /kætˠlˠækʷ/
/kˠætˠlˠækʷ/

katļo̧kin {katļakʷin} /kætˠlˠækʷinʲ/
/kˠætˠlˠækʷinʲ/

kau {kahwiw} /kæɰwiw/
/kˠæɰwiw/

kaubowe {kahwiwbewey} /kæɰwiwpˠɛwɛj/
/kˠæɰwiwpˠɛwɛj/

kaubowein {kahwiwbȩwȩyin} /kæɰwiwpˠewejinʲ/
/kˠæɰwiwpˠewejinʲ/

kauin {kahwiwin} /kæɰwiwinʲ/
/kˠæɰwiwinʲ/

keepran̄ {keyeprag} /kɛjɛpʲrˠæŋ/
/kˠɛjɛpʲrˠæŋˠ/

kena {keynah} /kɛjnʲæɰ/
/kˠɛjnʲæɰ/

kiaaj {kiyahaj} /kijæɰætʲ/
/kˠijæɰætʲ/

kiaj {kiyhaj} /kijɰætʲ/
/kˠijɰætʲ/

kideddelbwij {kidȩddȩlbij} /kirʲerʲrʲelʲpˠitʲ/
/kˠirʲerʲrʲelʲpˠitʲ/

kidu {kidiw} /kirʲiw/
/kˠirʲiw/

kiduin {kidiwin} /kirʲiwinʲ/
/kˠirʲiwinʲ/

kiduun lo̧jet {kidiwin lawjȩt} /kirʲiwinʲ lʲæwtʲetˠ/
/kˠirʲiwinʲ lʲæwtʲetˠ/

kieo {kiyyew} /kijjɛw/
/kˠijjɛw/

kiin̄ {kiyig} /kijiŋ/
/kˠijiŋˠ/

kiin̄in {kiyigin} /kijiŋinʲ/
/kˠijiŋˠinʲ/

kij {kij} /kitʲ/
/kˠitʲ/

kijdik {kijdik} /kitʲrʲik/
/kˠitʲrʲikˠ/

kijeek {kijeyek} /kitʲɛjɛk/
/kˠitʲɛjɛkˠ/

kil {kil} /kilʲ/
/kˠilʲ/

kilaaj {kilahaj} /kilʲæɰætʲ/
/kˠilʲæɰætʲ/

kilaj {kilhaj} /kilʲɰætʲ/
/kˠilʲɰætʲ/

Kilbōt {kilbet} /kilʲpˠɛtˠ/
/kˠilʲpˠɛtˠ/

kilin {kilin} /kilʲinʲ/
/kˠilʲinʲ/

kilin kau {kilin kahwiw} /kilʲinʲ kæɰwiw/
/kˠilʲinʲ kˠæɰwiw/

kilmeej {kilmeyej} /kilʲmʲɛjɛtʲ/
/kˠilʲmʲɛjɛtʲ/

kilmir {kilmir} /kilʲmʲirˠ/
/kˠilʲmʲirˠ/

kimej {kimȩj} /kimʲetʲ/
/kˠimʲetʲ/

kio {kiyew} /kijɛw/
/kˠijɛw/

kior {kiyȩrʷ} /kijerʷ/
/kˠijerʷ/

kiorin {kiyȩrʷin} /kijerʷinʲ/
/kˠijerʷinʲ/

kipilōn̄ {kipiylȩg} /kipʲijlʲeŋ/
/kˠipʲijlʲeŋˠ/

kito {kiytȩw} /kijtˠew/
/kˠijtˠew/

Kiuba {kiyiwbah} /kijiwpˠæɰ/
/kˠijiwpˠæɰ/

kiudi {kiyiwdiy} /kijiwrʲij/
/kˠijiwrʲij/

kiur {kiyirʷ} /kijirʷ/
/kˠijirʷ/

kiurin {kiyirʷin} /kijirʷinʲ/
/kˠijirʷinʲ/

koba {kȩwbah} /kewpˠæɰ/
/kˠewpˠæɰ/

koba {kewbah} /kɛwpˠæɰ/
/kˠɛwpˠæɰ/

kōba {kebah} /kɛpˠæɰ/
/kˠɛpˠæɰ/

kōbaatat {kebahathat} /kɛpˠæɰætˠɰætˠ/
/kˠɛpˠæɰætˠɰætˠ/

Kōjae {kejahyey} /kɛtʲæɰjɛj/
/kˠɛtʲæɰjɛj/

kōjām {kejam} /kɛtʲæmʲ/
/kˠɛtʲæmʲ/

kōjjeb {kejjeb} /kɛtʲtʲɛpˠ/
/kˠɛtʲtʲɛpˠ/

kōjwad {kejwad} /kɛtʲwærʲ/
/kˠɛtʲwærʲ/

koko {kȩwkȩw} /kewkew/
/kˠewkˠew/

koko {kʷȩwkʷȩw} /kʷewkʷew/
koko {kewkew} /kɛwkɛw/
/kˠɛwkˠɛw/

koko {kʷewkʷew} /kʷɛwkʷɛw/
kokōro {kewkerew} /kɛwkɛrˠɛw/
/kˠɛwkˠɛrˠɛw/

ko̧kwe {kʷakʷȩy} /kʷækʷej/
Kōle {kȩlȩy} /kelʲej/
/kˠelʲej/

Koļeiaat {kʷȩļȩyiyahat} /kʷelˠejijæɰætˠ/
kom̧ {kʷȩm̧} /kʷemˠ/
kōm {kȩm} /kemʲ/
/kˠemʲ/

kōmālij {kemalij} /kɛmʲælʲitʲ/
/kˠɛmʲælʲitʲ/

Kom̧le {kʷȩm̧lȩy} /kʷemˠlʲej/
kom̧m̧ool {kʷem̧m̧ewel} /kʷɛmˠmˠɛwɛlʲ/
Kōn̄e-jekāān-eņ {kȩgȩy-jekayan-yeņ} /keŋej-tʲɛkæjænʲ-jɛnˠ/
/kˠeŋˠej-tʲɛkˠæjænʲ-jɛnˠ/

kōōb {kȩhȩb} /keɰepˠ/
/kˠeɰepˠ/

ko̧o̧j {kawaj} /kæwætʲ/
/kˠæwætʲ/

ko̧o̧joj {kawajwȩj} /kæwætʲwetʲ/
/kˠæwætʲwetʲ/

ko̧o̧n {kawan} /kæwænʲ/
/kˠæwænʲ/

koot {kewet} /kɛwɛtˠ/
/kˠɛwɛtˠ/

ko̧pe {kawpȩy} /kæwpʲej/
/kˠæwpʲej/

kōrā {keray} /kɛrˠæj/
/kˠɛrˠæj/

kōrāin {kerayin} /kɛrˠæjinʲ/
/kˠɛrˠæjinʲ/

korap {kʷerap} /kʷɛrˠæpʲ/
kōrein {kerȩyin} /kɛrˠejinʲ/
/kˠɛrˠejinʲ/

kotin {kʷetin} /kʷɛtˠinʲ/
kotōl {kʷȩtel} /kʷetˠɛlʲ/
kōtōmānlimpok {ketemanlimpekʷ} /kɛtˠɛmʲænʲlʲimʲpʲɛkʷ/
/kˠɛtˠɛmʲænʲlʲimʲpʲɛkʷ/

kōtrāāk {ketrayak} /kɛtˠrˠæjæk/
/kˠɛtˠrˠæjækˠ/

Kuam̧ {kʷiwham̧} /kʷiwɰæmˠ/
Kujjae {kʷijjahyey} /kʷitʲtʲæɰjɛj/
kuļuļ {kʷiļʷiļʷ} /kʷilʷilʷ/
kūm̧ake {kim̧akȩy} /kimˠækej/
/kˠimˠækˠej/

Kūraij {kirahyij} /kirˠæɰjitʲ/
/kˠirˠæɰjitʲ/

kūrawūn {kirahwin} /kirˠæɰwinʲ/
/kˠirˠæɰwinʲ/

kūrawūnin {kirahwinin} /kirˠæɰwinʲinʲ/
/kˠirˠæɰwinʲinʲ/

kūre {kirȩy} /kirˠej/
/kˠirˠej/

kūreep {kirȩyȩp} /kirˠejepʲ/
/kˠirˠejepʲ/

kūrepe {kirȩypȩy} /kirˠejpʲej/
/kˠirˠejpʲej/

Kuria {kʷiriyah} /kʷirˠijæɰ/
kūriij {kiriyij} /kirˠijitʲ/
/kˠirˠijitʲ/

kūriin {kiriyin} /kirˠijinʲ/
/kˠirˠijinʲ/

Kūrijm̧ōj {kirijm̧ȩj} /kirˠitʲmˠetʲ/
/kˠirˠitʲmˠetʲ/

kuriļa {kʷiriyļah} /kʷirˠijlˠæɰ/
Kūrjin {kirjin} /kirˠtʲinʲ/
/kˠirˠtʲinʲ/

kurm̧a {kʷirm̧ah} /kʷirˠmˠæɰ/
kūro {kirȩw} /kirˠew/
/kˠirˠew/

kurob {kʷirʷeb} /kʷirʷɛpˠ/
kūru {kiriw} /kirˠiw/
/kˠirˠiw/

kūta {kitah} /kitˠæɰ/
/kˠitˠæɰ/

kūtain {kitahin} /kitˠæɰinʲ/
/kˠitˠæɰinʲ/

kuuj {kiwij} /kiwitʲ/
/kˠiwitʲ/

kuujin {kiwijin} /kiwitʲinʲ/
/kˠiwitʲinʲ/

kuum̧ {kiwim̧} /kiwimˠ/
/kˠiwimˠ/

kuum̧in {kiwim̧in} /kiwimˠinʲ/
/kˠiwimˠinʲ/

kuum̧um̧ {kiwim̧wim̧} /kiwimˠwimˠ/
/kˠiwimˠwimˠ/

Kuwaam̧ {kʷiwaham̧} /kʷiwæɰæmˠ/
kuwaj {kʷiwaj} /kʷiwætʲ/
Kuwajleen {kʷiwajleyen} /kʷiwætʲlʲɛjɛnʲ/
kwaļm̧we {kʷaļm̧ȩy} /kʷælˠmˠej/
kwarkwar {kʷarkʷar} /kʷærˠkʷærˠ/
kweet {kʷȩyȩt} /kʷejetˠ/
kweetin {kʷȩyȩtin} /kʷejetˠinʲ/
kwiin {kʷiyin} /kʷijinʲ/
kwiinin {kʷiyinin} /kʷijinʲinʲ/
kwōle {kʷeley} /kʷɛlʲɛj/
kwōle {kʷȩlȩy} /kʷelʲej/
kwōlej {kʷelyej} /kʷɛlʲjɛtʲ/
kwōlej {kʷȩlyȩj} /kʷelʲjetʲ/
ļaam̧ {ļaham̧} /lˠæɰæmˠ/
ļaam̧am̧ {ļaham̧ham̧} /lˠæɰæmˠɰæmˠ/
Lae {lahyey} /lʲæɰjɛj/
ļaim̧ {ļahyim̧} /lˠæɰjimˠ/
ļaim̧in {ļahyim̧in} /lˠæɰjimˠinʲ/
ļaiōn {ļahyiyhen} /lˠæɰjijɰɛnʲ/
ļaiōōn {ļahyiyehen} /lˠæɰjijɛɰɛnʲ/
ļalem {ļalȩm} /lˠælʲemʲ/
lan̄ {lag} /lʲæŋ/
/lʲæŋˠ/

ļan̄ {ļag} /lˠæŋ/
/lˠæŋˠ/

ļan̄e {ļagȩy} /lˠæŋej/
/lˠæŋˠej/

Ļaņtōn {ļaņten} /lˠænˠtˠɛnʲ/
ļap {ļap} /lˠæpʲ/
lelejkakkak {lȩlȩjkakkak} /lʲelʲetʲkækkæk/
/lʲelʲetʲkˠækˠkˠækˠ/

lemn̄oul {lȩmgȩwil} /lʲemʲŋewilʲ/
/lʲemʲŋˠewilʲ/

lerooj {lȩyrȩwȩj} /lʲejrˠewetʲ/
leroojin {lȩyrȩwȩjin} /lʲejrˠewetʲinʲ/
libwetōr {libeyter} /lʲipˠɛjtˠɛrˠ/
liele {liyȩlȩy} /lʲijelʲej/
lijjo̧o̧n {lijjawan} /lʲitʲtʲæwænʲ/
Likiep {likiyep} /lʲikijɛpʲ/
/lʲikˠijɛpʲ/

Likijjine {likijjinȩy} /lʲikitʲtʲinʲej/
/lʲikˠitʲtʲinʲej/

lo̧jet {lawjȩt} /lʲæwtʲetˠ/
ļokwājek {ļekʷayjȩk} /lˠɛkʷæjtʲek/
/lˠɛkʷæjtʲekˠ/

ļokwājek {ļekʷayjek} /lˠɛkʷæjtʲɛk/
/lˠɛkʷæjtʲɛkˠ/

lo̧lo̧ {lawlaw} /lʲæwlʲæw/
lo̧lo̧in {lawlawin} /lʲæwlʲæwinʲ/
lomo̧o̧r {lewmawar} /lʲɛwmʲæwærˠ/
lo̧mo̧o̧r {lawmawar} /lʲæwmʲæwærˠ/
ļon̄ {ļegʷ} /lˠɛŋʷ/
ļon̄ {ļʷȩgʷ} /lʷeŋʷ/
ļo̧n̄ {ļagʷ} /lˠæŋʷ/
ļo̧n̄ {ļʷagʷ} /lʷæŋʷ/
ļoob {ļeweb} /lˠɛwɛpˠ/
ļoobin {ļewebin} /lˠɛwɛpˠinʲ/
Ļora {ļewrah} /lˠɛwrˠæɰ/
lūbōntōr {libenter} /lʲipˠɛnʲtˠɛrˠ/
ļwe {ļʷȩy} /lʷej/
ļwein {ļʷȩyin} /lʷejinʲ/
ļwūj {ļʷij} /lʷitʲ/
{may} /mʲæj/
M̧aaj {m̧ahaj} /mˠæɰætʲ/
M̧adianna {m̧adiyhannah} /mˠærʲijɰænʲnʲæɰ/
mādke {madkȩy} /mʲærʲkej/
/mʲærʲkˠej/

Māe {mayȩy} /mʲæjej/
M̧aikronijia {m̧ahyikrʷenijiyah} /mˠæɰjikrʷɛnʲitʲijæɰ/
/mˠæɰjikˠrʷɛnʲitʲijæɰ/

māj {maj} /mʲætʲ/
Mājeej {majȩyȩj} /mʲætʲejetʲ/
Mājej {majyȩj} /mʲætʲjetʲ/
M̧ajeļ {m̧ahjeļ} /mˠæɰtʲɛlˠ/
Mājro {majrȩw} /mʲætʲrˠew/
mājur {majirʷ} /mʲætʲirʷ/
m̧akneet {m̧akneyet} /mˠæknʲɛjɛtˠ/
/mˠækˠnʲɛjɛtˠ/

m̧akōni {m̧ahkeniy} /mˠæɰkɛnʲij/
/mˠæɰkˠɛnʲij/

M̧aļoeļap {m̧aļewyeļap} /mˠælˠɛwjɛlˠæpʲ/
m̧am̧a {m̧ahm̧ah} /mˠæɰmˠæɰ/
m̧am̧ōj {m̧am̧ȩj} /mˠæmˠetʲ/
M̧ande {m̧andey} /mˠænʲrʲɛj/
mānnueaļ {manniwyaļ} /mʲænʲnʲiwjælˠ/
m̧aōkōni {m̧ahehkeniy} /mˠæɰɛɰkɛnʲij/
/mˠæɰɛɰkˠɛnʲij/

mar {mar} /mʲærˠ/
maroro {mahrewrew} /mʲæɰrˠɛwrˠɛw/
mat {mat} /mʲætˠ/
Meik {mȩyik} /mʲejik/
/mʲejikˠ/

mejatoto {mejatewtew} /mʲɛtʲætˠɛwtˠɛw/
Mejatto {mejattew} /mʲɛtʲætˠtˠɛw/
Mejjiko {mejjikew} /mʲɛtʲtʲikɛw/
/mʲɛtʲtʲikˠɛw/

metak {metak} /mʲɛtˠæk/
/mʲɛtˠækˠ/

Metwe {mȩtwȩy} /mʲetˠwej/
mijel {mijȩl} /mʲitʲelʲ/
Mile {milȩy} /mʲilʲej/
milik {milik} /mʲilʲik/
/mʲilʲikˠ/

mir {mir} /mʲirˠ/
m̧m̧an {m̧m̧an} /mˠmˠænʲ/

M̧ōjlim {m̧ejlim} /mˠɛtʲlʲimʲ/
m̧ōjm̧ōj {m̧ȩjm̧ȩj} /mˠetʲmˠetʲ/
m̧ōm̧ {m̧ȩm̧} /mˠemˠ/
m̧ōm̧an {m̧em̧an} /mˠɛmˠænʲ/
m̧ōm̧ōj {m̧ȩm̧ȩj} /mˠemˠetʲ/
m̧ōn̄ā {m̧egay} /mˠɛŋæj/
/mˠɛŋˠæj/

m̧ool {m̧ewel} /mˠɛwɛlʲ/
mouj {mȩwij} /mʲewitʲ/
mour {mȩwir} /mʲewirˠ/
mourin {mȩwirin} /mʲewirˠinʲ/
m̧uļe {m̧iļʷȩy} /mˠilʷej/
m̧uļein {m̧iļʷȩyin} /mˠilʷejinʲ/
m̧upi {m̧iwpiy} /mˠiwpʲij/
m̧ūrar {m̧irar} /mˠirˠærˠ/
m̧weiuk {m̧ȩyikʷ} /mˠejikʷ/
m̧weiukin {m̧ȩyikʷin} /mˠejikʷinʲ/
m̧wian̄ {m̧iyag} /mˠijæŋ/
/mˠijæŋˠ/

m̧wian̄in {m̧iyagin} /mˠijæŋinʲ/
/mˠijæŋˠinʲ/

m̧wijm̧wij {m̧ijm̧ij} /mˠitʲmˠitʲ/
m̧winam̧ōn {m̧inam̧en} /mˠinʲæmˠɛnʲ/
naaj {nahaj} /nʲæɰætʲ/
Ņadikdik {ņahdikdik} /nˠæɰrʲikrʲik/
/nˠæɰrʲikˠrʲikˠ/

ņaib {ņahyib} /nˠæɰjipˠ/
ņaibin {ņahyibin} /nˠæɰjipˠinʲ/
nāj {naj} /nʲætʲ/
nam̧ {nam̧} /nʲæmˠ/
ņam̧ {ņam̧} /nˠæmˠ/
Nam̧dik {nam̧dik} /nʲæmˠrʲik/
/nʲæmˠrʲikˠ/

Nam̧o {nam̧ȩw} /nʲæmˠew/
nana {nahnah} /nʲæɰnʲæɰ/
Nawōdo {nahwedew} /nʲæɰwɛrʲɛw/
n̄e {gey} /ŋɛj/
/ŋˠɛj/

n̄e {gȩy} /ŋej/
/ŋˠej/

ni {niy} /nʲij/
n̄i {giy} /ŋij/
/ŋˠij/

Nibbon̄ {nibbegʷ} /nʲipˠpˠɛŋʷ/
niiļ {niyiļ} /nʲijilˠ/
n̄iitwa {giyitwah} /ŋijitˠwæɰ/
/ŋˠijitˠwæɰ/

Nim̧ur {nim̧irʷ} /nʲimˠirʷ/
nitijeļā {nitiyjeļay} /nʲitˠijtʲɛlˠæj/
nitōļ {niteļ} /nʲitˠɛlˠ/
nitōļ {niyteļ} /nʲijtˠɛlˠ/
n̄ituwa {giytiwah} /ŋijtˠiwæɰ/
/ŋˠijtˠiwæɰ/

ņo {ņew} /nˠɛw/
ņo {ņȩw} /nˠew/
Nobōm̧ba {newbem̧bah} /nʲɛwpˠɛmˠpˠæɰ/
ņo̧kneej {ņakʷneyej} /nˠækʷnʲɛjɛtʲ/
ņokwanej {ņekʷanyej} /nˠɛkʷænʲjɛtʲ/
Nōļ {neļ} /nʲɛlˠ/
Nopem̧ba {newpem̧bah} /nʲɛwpʲɛmˠpˠæɰ/
nōt {net} /nʲɛtˠ/
nōt {nȩt} /nʲetˠ/
Nujiiļōn {niwjiyiļen} /nʲiwtʲijilˠɛnʲ/
Nukne {nikʷnȩy} /nʲikʷnʲej/
Nukne {nikʷney} /nʲikʷnʲɛj/
nuuj {niwij} /nʲiwitʲ/
nuujpeba {niwijpȩybah} /nʲiwitʲpʲejpˠæɰ/
Nuwio̧o̧k {niwiyawak} /nʲiwijæwæk/
/nʲiwijæwækˠ/

obwin {webin} /wɛpˠinʲ/
obwin {wȩbin} /wepˠinʲ/
obwinin {webinin} /wɛpˠinʲinʲ/
obwinin {wȩbinin} /wepˠinʲinʲ/
ōeōe {hȩyhȩy} /ɰejɰej/
ok {wȩkʷ} /wekʷ/
O̧kōnjo̧ {wakʷenjaw} /wækʷɛnʲtʲæw/
Oktoba {wektewbah} /wɛktˠɛwpˠæɰ/
/wɛkˠtˠɛwpˠæɰ/

O̧kwōj {wakʷej} /wækʷɛtʲ/
o̧kwōn {wakʷen} /wækʷɛnʲ/
o̧kwōnin {wakʷenin} /wækʷɛnʲinʲ/
oļeo̧ {weļeyaw} /wɛlˠɛjæw/
oļip {weļip} /wɛlˠipʲ/
om̧ {wȩm̧} /wemˠ/
om̧rawūn {wem̧rahwin} /wɛmˠrˠæɰwinʲ/
ōne {hȩnȩy} /ɰenʲej/
On̄kon̄ {wegʷkʷegʷ} /wɛŋʷkʷɛŋʷ/
ōō {hȩhȩh} /ɰeɰeɰ/
ōō {heheh} /ɰɛɰɛɰ/
o̧o̧j {wawaj} /wæwætʲ/
o̧o̧jin {wawajin} /wæwætʲinʲ/
o̧o̧jo̧j {wawajwaj} /wæwætʲwætʲ/
oran {weran} /wɛrˠænʲ/
Orpāp {wȩrpap} /werˠpʲæpʲ/
oteeļ {weteyeļ} /wɛtˠɛjɛlˠ/
otobai {wetewbahiy} /wɛtˠɛwpˠæɰij/
o̧waj {wawwaj} /wæwwætʲ/
o̧wajin {wawwajin} /wæwwætʲinʲ/
pāār {payar} /pʲæjærˠ/
pāārin {payarin} /pʲæjærˠinʲ/
pako {pakew} /pʲækɛw/
/pʲækˠɛw/

Pāpode {papewdey} /pʲæpʲɛwrʲɛj/
pat {pat} /pʲætˠ/
peba {pȩybah} /pʲejpˠæɰ/
peba {pebah} /pʲɛpˠæɰ/
pedam̧wijm̧wij {pedam̧ijm̧ij} /pʲɛrʲæmˠitʲmˠitʲ/
pedan̄otn̄ot {pedagʷetgʷet} /pʲɛrʲæŋʷɛtˠŋʷɛtˠ/
pedan̄utn̄ut {pedagʷitgʷit} /pʲɛrʲæŋʷitˠŋʷitˠ/
pedan̄wūjn̄wūj {pedagʷijgʷij} /pʲɛrʲæŋʷitʲŋʷitʲ/
peejnej {pȩyȩjnȩj} /pʲejetʲnʲetʲ/
peinabōļ {pȩyinahbeļ} /pʲejinʲæɰpˠɛlˠ/
Peljem̧ {peljem̧} /pʲɛlʲtʲɛmˠ/
penkō {penkeh} /pʲɛnʲkɛɰ/
/pʲɛnʲkˠɛɰ/

penkōin {penkȩhin} /pʲɛnʲkeɰinʲ/
/pʲɛnʲkˠeɰinʲ/

pepa {pepah} /pʲɛpʲæɰ/
peptaij {peptahyij} /pʲɛpʲtˠæɰjitʲ/
peran {peran} /pʲɛrˠænʲ/
petkōj {pȩtkȩj} /pʲetˠketʲ/
/pʲetˠkˠetʲ/

pi {piy} /pʲij/
pia {piyah} /pʲijæɰ/
piaea {piyahyah} /pʲijæɰjæɰ/
piano {piyahnew} /pʲijæɰnʲɛw/
pianoin {piyahnȩwin} /pʲijæɰnʲewinʲ/
piik {piyik} /pʲijik/
/pʲijikˠ/

piin̄ {piyig} /pʲijiŋ/
/pʲijiŋˠ/

Piji {piyjiy} /pʲijtʲij/
pijin {pijin} /pʲitʲinʲ/
pik {pik} /pʲik/
/pʲikˠ/

Pikaar {pikahar} /pʲikæɰærˠ/
/pʲikˠæɰærˠ/

Pikeej {pikeyej} /pʲikɛjɛtʲ/
/pʲikˠɛjɛtʲ/

pikin {pikin} /pʲikinʲ/
/pʲikˠinʲ/

Pikinni {pikinniy} /pʲikinʲnʲij/
/pʲikˠinʲnʲij/

pikōļ {pikeļ} /pʲikɛlˠ/
/pʲikˠɛlˠ/

pilawā {pilahway} /pʲilʲæɰwæj/
piliet {piliyet} /pʲilʲijɛtˠ/
Pilipin {pilipin} /pʲilʲipʲinʲ/
pinana {pinahnah} /pʲinʲæɰnʲæɰ/
pinjeļ {pinjeļ} /pʲinʲtʲɛlˠ/
pinneep {pinneyep} /pʲinʲnʲɛjɛpʲ/
pinniep {pinniyep} /pʲinʲnʲijɛpʲ/
pinōt {piynet} /pʲijnʲɛtˠ/
piolōt {piyewlet} /pʲijɛwlʲɛtˠ/
pirōk {pirȩk} /pʲirˠek/
/pʲirˠekˠ/

piteto {piteytew} /pʲitˠɛjtˠɛw/
piwūj {piywij} /pʲijwitʲ/
raij {rahyij} /rˠæɰjitʲ/
raijin {rahyijin} /rˠæɰjitʲinʲ/
raj {raj} /rˠætʲ/
rak {rak} /rˠæk/
/rˠækˠ/

rālik {raylik} /rˠæjlʲik/
/rˠæjlʲikˠ/

ralitōk {rahliytȩk} /rˠæɰlʲijtˠek/
/rˠæɰlʲijtˠekˠ/

rapit {rapit} /rˠæpʲitˠ/
rārōk {rayrȩk} /rˠæjrˠek/
/rˠæjrˠekˠ/

Ratak {rahtak} /rˠæɰtˠæk/
/rˠæɰtˠækˠ/

ratimjuon {rahtimjiwen} /rˠæɰtˠimʲtʲiwɛnʲ/
reba {rȩybah} /rˠejpˠæɰ/
rej {rej} /rˠɛtʲ/
ri- {ri-} /rˠi-/
ri-Aelok {ri-hayȩlȩkʷ} /rˠi-ɰæjelʲekʷ/
ri-Aelōn̄ļapļap {ri-hayȩlȩgļapļap} /rˠi-ɰæjelʲeŋlˠæpʲlˠæpʲ/
/rˠi-ɰæjelʲeŋˠlˠæpʲlˠæpʲ/

ri-aje {ri-hajȩy} /rˠi-ɰætʲej/
ri-Amedka {ri-hamedkah} /rˠi-ɰæmʲɛrʲkæɰ/
/rˠi-ɰæmʲɛrʲkˠæɰ/

ri-am̧onika {ri-ham̧ewnikah} /rˠi-ɰæmˠɛwnʲikæɰ/
/rˠi-ɰæmˠɛwnʲikˠæɰ/

ri-Ānewetak {ri-yanȩyweytak} /rˠi-jænʲejwɛjtˠæk/
/rˠi-jænʲejwɛjtˠækˠ/

ri-Arņo {ri-harņew} /rˠi-ɰærˠnˠɛw/
ri-Aujtōrōlia {ri-hawijtereliyah} /rˠi-ɰæwitʲtˠɛrˠɛlʲijæɰ/
ri-Aur {ri-hawir} /rˠi-ɰæwirˠ/
ri-Awai {ri-hawahyiy} /rˠi-ɰæwæɰjij/
ri-baam̧ {ri-baham̧} /rˠi-pˠæɰæmˠ/
ri-baeoliin {ri-bahyewliyin} /rˠi-pˠæɰjɛwlʲijinʲ/
ri-Bōļao {ri-beļahwew} /rˠi-pˠɛlˠæɰwɛw/
ri-Bōļau {ri-beļahwiw} /rˠi-pˠɛlˠæɰwiw/
ri-Boonpe {ri-bȩwȩnpȩy} /rˠi-pˠewenʲpʲej/
ri-Būranij {ri-birahnij} /rˠi-pˠirˠæɰnʲitʲ/
ri-Eijia {ri-yȩyijiyah} /rˠi-jejitʲijæɰ/
ri-Ellep {ri-yellep} /rˠi-jɛlʲlʲɛpʲ/
ri-eo̧n̄ōd {ri-yagʷed} /rˠi-jæŋʷɛrʲ/
ri-Epatōn {ri-yepaten} /rˠi-jɛpʲætˠɛnʲ/
ri-Epoon {ri-yepewen} /rˠi-jɛpʲɛwɛnʲ/
ri-Iaab {ri-yi'yahab} /rˠi-ji̯jæɰæpˠ/
ri-In̄len {ri-yiglen} /rˠi-jiŋlʲɛnʲ/
/rˠi-jiŋˠlʲɛnʲ/

ri-In̄lij {ri-yiglij} /rˠi-jiŋlʲitʲ/
/rˠi-jiŋˠlʲitʲ/

ri-Intia {ri-yintiyah} /rˠi-jinʲtˠijæɰ/
ri-Intiia {ri-yintiyiyah} /rˠi-jinʲtˠijijæɰ/
ri-Jaina {ri-jahyinah} /rˠi-tʲæɰjinʲæɰ/
ri-Jāina {ri-jayinah} /rˠi-tʲæjinʲæɰ/
ri-Jālwōj {ri-jalwȩj} /rˠi-tʲælʲwetʲ/
ri-Jāmne {ri-jamney} /rˠi-tʲæmʲnʲɛj/
ri-Jam̧uwa {ri-jahm̧iwwah} /rˠi-tʲæɰmˠiwwæɰ/
ri-Jeina {ri-jȩyinah} /rˠi-tʲejinʲæɰ/
Ri-Jelwōj {ri-jȩlwȩj} /rˠi-tʲelʲwetʲ/
ri-Jepaan {ri-jepahan} /rˠi-tʲɛpʲæɰænʲ/
ri-jerā {ri-jeray} /rˠi-tʲɛrˠæj/
ri-jerbal {ri-jerbal} /rˠi-tʲɛrˠpˠælʲ/
ri-jikuuļ {ri-jikiwiļ} /rˠi-tʲikiwilˠ/
/rˠi-tʲikˠiwilˠ/

ri-Jipein {ri-jipȩyin} /rˠi-tʲipʲejinʲ/
ri-jo̧ubwe {ri-jawiwbey} /rˠi-tʲæwiwpˠɛj/
ri-jukuuļ {ri-jikʷiwiļ} /rˠi-tʲikʷiwilˠ/
ri-Kilbōt {ri-kilbet} /rˠi-kilʲpˠɛtˠ/
/rˠi-kˠilʲpˠɛtˠ/

ri-Kōjae {ri-kejahyey} /rˠi-kɛtʲæɰjɛj/
/rˠi-kˠɛtʲæɰjɛj/

ri-Kujjae {ri-kʷijjahyey} /rˠi-kʷitʲtʲæɰjɛj/
ri-Kuria {ri-kʷiriyah} /rˠi-kʷirˠijæɰ/
ri-kūta {ri-kitah} /rˠi-kitˠæɰ/
/rˠi-kˠitˠæɰ/

ri-Kuwajleen {ri-kʷiwajleyen} /rˠi-kʷiwætʲlʲɛjɛnʲ/
ri-lomo̧o̧r {ri-lewmawar} /rˠi-lʲɛwmʲæwærˠ/
ri-lo̧mo̧o̧r {ri-lawmawar} /rˠi-lʲæwmʲæwærˠ/
ri-Mājej {ri-majyej} /rˠi-mʲætʲjɛtʲ/
ri-M̧ajeļ {ri-m̧ahjeļ} /rˠi-mˠæɰtʲɛlˠ/
ri-Mājro {ri-majrȩw} /rˠi-mʲætʲrˠew/
ri-M̧aļoeļap {ri-m̧aļewyeļap} /rˠi-mˠælˠɛwjɛlˠæpʲ/
ri-Mejjiko {ri-mejjikew} /rˠi-mʲɛtʲtʲikɛw/
/rˠi-mʲɛtʲtʲikˠɛw/

ri-Mile {ri-milȩy} /rˠi-mʲilʲej/
ri-M̧ōjlim {ri-m̧ejlim} /rˠi-mˠɛtʲlʲimʲ/
ri-Nam̧dik {ri-nam̧dik} /rˠi-nʲæmˠrʲik/
/rˠi-nʲæmˠrʲikˠ/

ri-Nam̧o {ri-nam̧ȩw} /rˠi-nʲæmˠew/
ri-nana {ri-nahnah} /rˠi-nʲæɰnʲæɰ/
ri-Nawōdo {ri-nahwedew} /rˠi-nʲæɰwɛrʲɛw/
ri-Nibbon̄ {ri-nibbegʷ} /rˠi-nʲipˠpˠɛŋʷ/
ri-Nujiiļōn {ri-niwjiyiļen} /rˠi-nʲiwtʲijilˠɛnʲ/
ri-Nukne {ri-nikʷney} /rˠi-nʲikʷnʲɛj/
ri-Nukne {ri-nikʷnȩy} /rˠi-nʲikʷnʲej/
ri-O̧kōnjo̧ {ri-wakʷenjaw} /rˠi-wækʷɛnʲtʲæw/
ri-o̧kwōn {ri-wakʷen} /rˠi-wækʷɛnʲ/
ri-pālle {ri-palley} /rˠi-pʲælʲlʲɛj/
ri-piano {ri-piyahnew} /rˠi-pʲijæɰnʲɛw/
ri-Piji {ri-piyjiy} /rˠi-pʲijtʲij/
ri-Pikinni {ri-pikinniy} /rˠi-pʲikinʲnʲij/
/rˠi-pʲikˠinʲnʲij/

ri-Pilipin {ri-pilipin} /rˠi-pʲilʲipʲinʲ/
ri-Rālik {ri-raylik} /rˠi-rˠæjlʲik/
/rˠi-rˠæjlʲikˠ/

ri-Ratak {ri-rahtak} /rˠi-rˠæɰtˠæk/
/rˠi-rˠæɰtˠækˠ/

ri-robba {ri-rʷebbah} /rˠi-rʷɛpˠpˠæɰ/
ri-Rojia {ri-rʷȩwjiyah} /rˠi-rʷewtʲijæɰ/
ri-Ron̄ļap {ri-rʷegʷļap} /rˠi-rʷɛŋʷlˠæpʲ/
ri-Ruk {ri-rikʷ} /rˠi-rˠikʷ/
ri-Taewan {ri-tahyewan} /rˠi-tˠæɰjɛwænʲ/
ri-Taiwan {ri-tahyiwan} /rˠi-tˠæɰjiwænʲ/
ri-Tubaļu {ri-tiwbahļiw} /rˠi-tˠiwpˠæɰlˠiw/
ri-Ujae {ri-wijahyey} /rˠi-witʲæɰjɛj/
ri-uklele {ri-wikʷleyley} /rˠi-wikʷlʲɛjlʲɛj/
ri-Utrōk {ri-witrȩk} /rˠi-witˠrˠek/
/rˠi-witˠrˠekˠ/

ri-Wōjjā {ri-wejjay} /rˠi-wɛtʲtʲæj/
ri-wōtbai {ri-wetbahyiy} /rˠi-wɛtˠpˠæɰjij/
ri-Wōtto {ri-wettew} /rˠi-wɛtˠtˠɛw/
robba {rʷebbah} /rʷɛpˠpˠæɰ/
robbain {rʷebbahin} /rʷɛpˠpˠæɰinʲ/
roj {rʷej} /rʷɛtʲ/
Rojia {rʷȩwjiyah} /rʷewtʲijæɰ/
ron̄ {regʷ} /rˠɛŋʷ/
Ron̄dik {rʷegʷdik} /rʷɛŋʷrʲik/
/rʷɛŋʷrʲikˠ/

Ron̄ļap {rʷegʷļap} /rʷɛŋʷlˠæpʲ/
ron̄oul {rȩgʷȩwil} /rˠeŋʷewilʲ/
ron̄oul {regʷȩwil} /rˠɛŋʷewilʲ/
rooj {rewej} /rˠɛwɛtʲ/
roojin {rewejin} /rˠɛwɛtʲinʲ/
roojoj {rewejwej} /rˠɛwɛtʲwɛtʲ/
rōplen {replen} /rˠɛpʲlʲɛnʲ/
Ruk {rikʷ} /rˠikʷ/
rūm̧m̧an {rim̧m̧an} /rˠimˠmˠænʲ/
ruo {riwew} /rˠiwɛw/
Ruot {rʷiwet} /rʷiwɛtˠ/
Ruot im Nim̧ur {rʷiwet yim nim̧irʷ} /rʷiwɛtˠ jimʲ nʲimˠirʷ/
Ruujia {rʷiwijyiyah} /rʷiwitʲjijæɰ/
ruwalitōk {riwahliytȩk} /rˠiwæɰlʲijtˠek/
/rˠiwæɰlʲijtˠekˠ/

ruwatimjuon {riwahtimjiwen} /rˠiwæɰtˠimʲtʲiwɛnʲ/
rwalitōk {rʷahliytȩk} /rʷæɰlʲijtˠek/
/rʷæɰlʲijtˠekˠ/

tāākji {tayakjiy} /tˠæjæktʲij/
/tˠæjækˠtʲij/

tabwil {tabil} /tˠæpˠilʲ/
taeo {tahyew} /tˠæɰjɛw/
tāeo {tayew} /tˠæjɛw/
Taewan {tahyewan} /tˠæɰjɛwænʲ/
taibuun {tahyibiwin} /tˠæɰjipˠiwinʲ/
Taije {tahyijey} /tˠæɰjitʲɛj/
taikō {tahyikeh} /tˠæɰjikɛɰ/
/tˠæɰjikˠɛɰ/

taim̧oņ {tahyim̧eņʷ} /tˠæɰjimˠɛnʷ/
Taiwan {tahyiwan} /tˠæɰjiwænʲ/
tak {tak} /tˠæk/
/tˠækˠ/

take {takȩy} /tˠækej/
/tˠækˠej/

takin {takin} /tˠækinʲ/
/tˠækˠinʲ/

takin aļ {takin haļ} /tˠækinʲ ɰælˠ/
/tˠækˠinʲ ɰælˠ/

taktō {takteh} /tˠæktˠɛɰ/
/tˠækˠtˠɛɰ/

taļa {tahļah} /tˠæɰlˠæɰ/
talboon {talbewen} /tˠælʲpˠɛwɛnʲ/
tampeļ {tampeļ} /tˠæmʲpʲɛlˠ/
tanim {tanim} /tˠænʲimʲ/
tapioka {tapiyewkah} /tˠæpʲijɛwkæɰ/
/tˠæpʲijɛwkˠæɰ/

tata {tahtah} /tˠæɰtˠæɰ/
tawūn {tahwin} /tˠæɰwinʲ/
tebu {tȩybiw} /tˠejpˠiw/
teem̧bura {teyem̧birʷah} /tˠɛjɛmˠpˠirʷæɰ/
teem̧būra {teyem̧birah} /tˠɛjɛmˠpˠirˠæɰ/
Teļap {teyļap} /tˠɛjlˠæpʲ/
ti {tiy} /tˠij/
tiin {tiyin} /tˠijinʲ/
Tijem̧ba {tiyjem̧bah} /tˠijtʲɛmˠpˠæɰ/
til {til} /tˠilʲ/
Tōkā {tekay} /tˠɛkæj/
/tˠɛkˠæj/

toļ {teļʷ} /tˠɛlʷ/
toļin {teļʷin} /tˠɛlʷinʲ/
tōm̧ato {tem̧ahtew} /tˠɛmˠæɰtˠɛw/
toņ {teņʷ} /tˠɛnʷ/
tonaaj {tewnahaj} /tˠɛwnʲæɰætʲ/
to̧nōt {tawnet} /tˠæwnʲɛtˠ/
to̧o̧l {tawal} /tˠæwælʲ/
to̧o̧lin {tawalin} /tˠæwælʲinʲ/
to̧o̧n̄ke {tawagkȩy} /tˠæwæŋkej/
/tˠæwæŋˠkˠej/

to̧ujin {tawijin} /tˠæwitʲinʲ/
Tubaļu {tiwbahļiw} /tˠiwpˠæɰlˠiw/
tuean̄ {tiwyag} /tˠiwjæŋ/
/tˠiwjæŋˠ/

tuen̄ {tiwyȩg} /tˠiwjeŋ/
/tˠiwjeŋˠ/

tūkjinede {tikjineydey} /tˠiktʲinʲɛjrʲɛj/
/tˠikˠtʲinʲɛjrʲɛj/

tūkōk {tikȩk} /tˠikek/
/tˠikˠekˠ/

tūm̧m̧wilaļļo̧k {tim̧m̧ilaļļakʷ} /tˠimˠmˠilʲælˠlˠækʷ/
tun̄n̄ūlaļļo̧k {tigʷgʷilaļļakʷ} /tˠiŋʷŋʷilʲælˠlˠækʷ/
tūrāikōn {tirayiken} /tˠirˠæjikɛnʲ/
/tˠirˠæjikˠɛnʲ/

u {wiw} /wiw/
uin {wiwin} /wiwinʲ/
uklele {wikʷleyley} /wikʷlʲɛjlʲɛj/
uklelein {wikʷleylȩyin} /wikʷlʲɛjlʲejinʲ/
ūlūl {hilhil} /ɰilʲɰilʲ/
ūlūlin {hilhilin} /ɰilʲɰilʲinʲ/
ut {wit} /witˠ/
utilomar {wityilewmar} /witˠjilʲɛwmʲærˠ/
uton̄ {witegʷ} /witˠɛŋʷ/
uto̧r {witarʷ} /witˠærʷ/
uto̧rin {witarʷin} /witˠærʷinʲ/
Utrōk {witrȩk} /witˠrˠek/
/witˠrˠekˠ/

utrooj {witrewej} /witˠrˠɛwɛtʲ/
utut {witwit} /witˠwitˠ/
uuk {wiwik} /wiwik/
/wiwikˠ/

uwi {wwiy} /wwij/

wa {wah} /wæɰ/
wab {wab} /wæpˠ/
wain {wahyin} /wæɰjinʲ/
waj {waj} /wætʲ/
wajwaj {wajwaj} /wætʲwætʲ/
wan̄ {wag} /wæŋ/
/wæŋˠ/

watre {watrȩy} /wætˠrˠej/
wau {wahwiw} /wæɰwiw/
wea {weyah} /wɛjæɰ/
weain {weyahin} /wɛjæɰinʲ/
weejej {wȩyȩjyȩj} /wejetʲjetʲ/
weejejin {wȩyȩjyȩjin} /wejetʲjetʲinʲ/
weiļ {wȩyiļ} /wejilˠ/
wiawe {wiyahwȩy} /wijæɰwej/
wio̧we {wiyawȩy} /wijæwej/
wōd {wed} /wɛrʲ/
wōil {wȩyil} /wejilʲ/
wōj {wȩj} /wetʲ/
wōja {wejah} /wɛtʲæɰ/
Wōjjā {wejjay} /wɛtʲtʲæj/
wōjke {wȩjkȩy} /wetʲkej/
/wetʲkˠej/

wōl {wȩl} /welʲ/
wōn {wen} /wɛnʲ/
wōn {wȩn} /wenʲ/
Wōnje {wenjey} /wɛnʲtʲɛj/
wōpiem̧ {wȩpiyȩm̧} /wepʲijemˠ/
wōpij {wepyij} /wɛpʲjitʲ/
wōt {wȩt} /wetˠ/
wōtbai {wetbahyiy} /wɛtˠpˠæɰjij/
wōtbaiin {wetbahyiyin} /wɛtˠpˠæɰjijinʲ/
wōteļ {wetyeļ} /wɛtˠjɛlˠ/
wōtmiiļ {wetmiyiļ} /wɛtˠmʲijilˠ/
wōtōmjej {wȩtȩmjȩj} /wetˠemʲtʲetʲ/
wōtōmjeļo̧k {wȩtȩmjeļakʷ} /wetˠemʲtʲɛlˠækʷ/
Wōtto {wettew} /wɛtˠtˠɛw/
wūdeakeak {widyakyak} /wirʲjækjæk/
/wirʲjækˠjækˠ/

wūdkabbe {widkabbȩy} /wirʲkæpˠpˠej/
/wirʲkˠæpˠpˠej/

Wūjae {wijahyey} /witʲæɰjɛj/
Wūjlan̄ {wijlag} /witʲlʲæŋ/
/witʲlʲæŋˠ/

wūjooj {wijȩwȩj} /witʲewetʲ/
wūjwūj {wijwij} /witʲwitʲ/
Wūlka {wilkah} /wilʲkæɰ/
/wilʲkˠæɰ/

wūntō {winteh} /winʲtˠɛɰ/
wūntoba {wintewbah} /winʲtˠɛwpˠæɰ/
wūpaaj {wipahaj} /wipʲæɰætʲ/
wūpaajaj {wipahajhaj} /wipʲæɰætʲɰætʲ/

-- This module is primarily maintained at:
-- https://en.wiktionary.orghttps://dictious.com/en/Module:mh-pronunc
-- Please direct all technical queries and contributions there.
-- The version of this script on Wikipedia is only a mirror.

local export = {}

local MERGED_MID_VOWELS = false
local PARENTHETICAL_EPENTHESIS = true
local PHONETIC_DETAILS = false
local W_OFF_GLIDES = false

local ASYLL = "̯"
local BREVE = "̆"
local CEDILLA = "̧"
local LESSROUND = "̜"
local MACRON = "̄"
local TIE = "͡"
local TIE2 = "͜"

local C1_ = "pbtdSZszkgmnNrlyYhH_"
local C1 = ""
local C2_ = "jGw"
local C = "."
local V_ = "aEei63@1AV7Mq<8>QOou"
local V = ""
local S = "+"

local UTF8_CHAR = "*"

local F2J = 1
local F2G = 3
local F2W = 5

-- Forward-declare functions and lookups.
local addUnique
local assign
local BACK_VOWEL
local BENDER_MAPS
local CONSON_REFLEX
local F1
local F2
local F2_SECOND
local fastTrim
local FRONT_VOWEL
local IS_VOWEL
local needCONSON_REFLEX
local needPHONETIC_IPA
local needVOWEL
local needVOWEL_REFLEX
local parse
local PARSE_C_CH_CW
local PARSE_PSEUDO_GLIDE
local PARSE_REMAINING
local parseBoolean
local PHONEMIC_MAP
local PHONETIC_ARG_J
local PHONETIC_IPA
local ROUND_VOWEL
local splitChars
local string_gsub2
local string_gsubx
local tableGet
local TO_MOD
local toBender
local toMOD
local toPhonemic
local toPhonetic
local toPhoneticDialect
local toPhoneticRemainder
local VOICED_PRIMARY
local VOICELESS_PRIMARY
local VOWEL
local VOWEL_REFLEX
local ZTBL



-- Adds elements to a sequence as if it's a set (retains unique elements only).
addUnique = function(seq, value)
	for _, value2 in pairs(seq) do
		if value == value2 then
			return
		end
	end
	seq = value
end



-- Intended to work the same as JavaScript's Object.assign() function.
assign = function(target, ...)
	local args = { ... }
	for _, source in pairs(args) do
		if type(source) == "table" then
			for key, value in pairs(source) do
				target = value
			end
		end
	end
	return target
end



fastTrim = function(text)
	return string.match(text, "^%s*(.-)%s*$")
end



maxF1 = function(a, b, c)
	needVOWEL()
	if c then
		return VOWEL, F1, F1)]
	elseif b then
		return VOWEL, F1)]
	else
		return FRONT_VOWEL
	end
end



needCONSON_REFLEX = function()
	
	if CONSON_REFLEX then
		return
	end
	
	local map = {
		 = {  = "T" },
		 = {  = "J" },
		 = {  = "R" },
		 = {  = "L" }
	}
	for primary in mw.text.gsplit("ptkmnNrl", "") do
		local map2 = map
		if not map2 then
			map2 = {}
			map = map2
		end
		map2 = map2 or primary
		map2 = map2 or primary
		map2 = map2 or primary
	end
	map = map
	map = map
	map = map
	map = map
	CONSON_REFLEX = map
	
	VOICED_PRIMARY = {
		="b", ="d", ="D", ="Z", ="z", ="g"
	}
	VOICELESS_PRIMARY = {
		="p", ="t", ="T", ="S", ="s", ="k"
	}
	
end



needPHONETIC_IPA = function()
	
	if PHONETIC_IPA then
		return
	end
	
	needVOWEL()
	
	local map = {
		 = "p",
		 = "b",
		 = "β̞",
		 = "w",
		 = "t",
		 = "d",
		 = "s",
		 = "z",
		 = "k",
		 = "ɡ",
		 = "m",
		 = "n",
		 = "ŋ",
		 = "r",
		 = "l",
		--  = "j",
		--  = "j",
		 = "ʔ",
		 = "w",
		 = "‿",
		 = "ʲ",
		 = "ˠ",
		 = "ʷ",
		 = "æ",
		 = "ɛ",
		 = "e",
		 = "i",
		 = "ɐ",
		 = "ə",
		 = "ɘ",
		 = "ɨ",
		 = "ɑ",
		 = "ʌ",
		 = "ɤ",
		 = "ɯ",
		 = "ɒ",
		 = "ɔ",
		 = "o",
		 = "u",
		 = ASYLL,
		 = ASYLL,
		 = "(",
		 = ")",
		 = "ː",
		 = TIE2,
		 = ".",
		--  = " | "
		 = " "
	}
	if PHONETIC_DETAILS then
		assign(map, {
			 = map..map,
			 = "t̪",
			 = "t̠",
			 = "d̪",
			 = "d̠",
			 = "s̠",
			 = "z̠",
			 = "k̠",
			 = "ɡ̠",
			 = "n̠",
			 = "n̪",
			 = "ŋ̠",
			 = "r̠",
			 = "r̪",
			 = "l̠",
			 = "l̪"
		})
	end
	map = map or map
	map = map or map
	map = map or (map..map)
	map = map or (map..map)
	map = map or map
	map = map or map
	map = map or map
	map = map or map
	map = map or map
	map = map or map
	map = map or map..map
	
	local key
	
	for primary in mw.text.gsplit("pbBtdTDSZszkgmnJNrRlL_", "") do
		for secondary in mw.text.gsplit("jGw", "") do
			key = primary..secondary
			map = map or (map..map)
		end
	end
	
	for vowel in mw.text.gsplit("q<8>", "") do
		map = map or (map]..LESSROUND)
	end
	
	for vowel in mw.text.gsplit(V_, "") do
		key = vowel.."#"
		map = map or (map..map)
		key = vowel.."^"
		map = map or (map..map)
	end
	
	PHONETIC_IPA = map
	
end



needVOWEL = function()
	
	if VOWEL then
		return
	end
	
	VOWEL = { -- VOWELS
		{ "a", "6", "A", "q", "Q" },
		{ "E", "3", "V", "<", "O" },
		{ "e", "@", "7", "8", "o" },
		{ "i", "1", "M", ">", "u" }
	}
	
	F1 = {}
	F2        = {  = F2J,  = F2G,  = F2W }
	F2_SECOND = {  = "j",  = "G",  = "w" }
	
	FRONT_VOWEL = {}
	BACK_VOWEL = {}
	ROUND_VOWEL = {}
	
	IS_VOWEL = FRONT_VOWEL
	
	for f1, row in pairs(VOWEL) do
		local front = row
		local back  = row
		local round = row
		for f2, vowel in pairs(row) do
			F1 = f1
			F2 = f2
			FRONT_VOWEL = front
			BACK_VOWEL = back
			ROUND_VOWEL = round
		end
	end
	
end



needVOWEL_REFLEX = function()
	
	if VOWEL_REFLEX then
		return
	end
	
	-- 
	local aEei = { "a", "E", "e", "i" }
	local AEei = { "A", "E", "e", "i" }
	local AV7i = { "A", "V", "7", "i" }
	local AV7M = { "A", "V", "7", "M" }
	local AV7u = { "A", "V", "7", "u" }
	local AOou = { "A", "O", "o", "u" }
	local QOou = { "Q", "O", "o", "u" }
	
	-- ]
	local _jv_X = { =aEei, =AEei, =QOou }
	local njv_X = { =aEei, =AV7i, =QOou }
	local hjvtX = { =aEei, =aEei, =QOou }
	local hjvkX = { =AV7i, =AV7i, =QOou }
	local _Gv_X = { =AV7i, =AV7M, =QOou }
	local rGv_X = { =AEei, =AV7M, =QOou } -- not currently used
	local hGv_X = { =AV7M, =AV7M, =AV7M }
	local _wv_X = { =AV7u, =AOou, =QOou }
	local rwv_X = { =AOou, =AOou, =QOou }
	local hwv_X = { =AV7M, =AOou, =QOou }
	local hwvtX = { =AV7M, =AV7M, =QOou }
	
	-- ]]
	local _Xv__ = { =_jv_X, =_Gv_X, =_wv_X }
	local nXv__ = { =njv_X, =_Gv_X, =hwv_X }
	local rXv__ = { =_jv_X, =_Gv_X, =rwv_X }
	local hXv__ = { =_jv_X, =hGv_X, =hwv_X }
	local hXvt_ = { =hjvtX, =hGv_X, =hwvtX }
	local hXvk_ = { =hjvkX, =hGv_X, =_wv_X }
	local hXvr_ = { =hjvtX, =hGv_X, =hwv_X }
	
	-- ]]
	local __vX_ = {
		 = _Xv__,  = _Xv__,  = _Xv__,
		 = _Xv__,  = _Xv__,  = _Xv__,
		 = _Xv__,  = _Xv__
	}
	local n_vX_ = {
		 = nXv__,  = nXv__,  = nXv__,
		 = nXv__,  = nXv__,  = nXv__,
		 = nXv__,  = nXv__
	}
	local r_vX_ = {
		 = rXv__,  = rXv__,  = rXv__,
		 = rXv__,  = rXv__,  = rXv__,
		 = rXv__,  = _Xv__
	}
	local h_vX_ = {
		 = hXv__,  = hXvt_,  = hXvk_,
		 = hXv__,  = hXv__,  = hXvk_,
		 = hXvr_,  = hXv__
	}
	
	-- ]]
	VOWEL_REFLEX = {
		 = __vX_,  = __vX_,  = __vX_,
		 = __vX_,  = n_vX_,  = n_vX_,
		 = r_vX_,  = n_vX_,  = h_vX_
	}
	
end



parse = function(code)
	
	local outSeq = {}
	code = mw.ustring.gsub(code, "%s+", " ")
	code = string.lower(code)
	for text in mw.text.gsplit(code, " *,*") do
		
		text = fastTrim(text)
		if text ~= "" then
			
			local temp = string.gsub(text, "", "")
			if temp ~= "" then
				error("'"..code.."' contains unsupported characters: "..temp)
			end
			
			-- Recognize "y_", "h_", "w_", "_y", "_h", "_w" as pseudo-glides.
			PARSE_PSEUDO_GLIDE = PARSE_PSEUDO_GLIDE or {
				 = "0",
				 = "0h",
				 = "0w"
			}
			text = string.gsub(text, "_*()_+", PARSE_PSEUDO_GLIDE)
			text = string.gsub(text, "_+()", PARSE_PSEUDO_GLIDE)
			if string.find(text, "_") then
				error("contains misplaced underscores: "..code)
			end
			
			-- a plain {i} protected from dialect-specific reflexes
			text = string.gsub(text, "'i", "I")
			
			-- "yi'y" and "'yiy" sequences
			text = string.gsub(text, "('?)yi('*)y", function(aposA, aposB)
				if aposA ~= "" then
					-- "dwelling upon" i
					return "Z"
				elseif aposB ~= "" then
					-- "passing over lightly" i
					return "z"
				end
			end)
			
			-- Convert multigraphs to pseudo-X-SAMPA format.
			PARSE_C_CH_CW = PARSE_C_CH_CW or {
				   = "kG",
				  = "kGh", -- N\A
				  = "kW",
				   = "lJ",
				  = "lG",
				  = "lW",
				   = "mJ",
				  = "mG",
				  = "mJw", -- N\A
				   = "nJ",
				  = "nG",
				  = "nW",
				  = "NG",
				 = "NGh", -- N\A
				 = "NW",
				   = "rG",
				  = "rGh", -- N\A
				  = "rW",
				   = "_J",
				  = "_G",
				  = "_W"
			}
			text = string.gsub(text, "g??", PARSE_C_CH_CW)
			if string.find(text, "g") then
				error("contains g that is not part of ng: "..code)
			end
			
			-- Convert remaining sequences to pseudo-X-SAMPA format.
			PARSE_REMAINING = PARSE_REMAINING or {
				 = "pG",
				 = "rj",
				 = "E",
				 = "e",
				 = "hG",
				 = "tj",
				 = "j",
				 = "pj",
				 = "tG",
				 = "hw",
				 = "w",
				 = "hj",
				 = "yj",
				 = "Yj",
				 = ""
			}
			text = string.gsub(text, ".", PARSE_REMAINING)
			
			-- Enforce CVC, CVCVC, CVCCVC, etc. phonotactics,
			-- but allow VC, CV at affix boundaries
			-- where a vowel may link to another morpheme's consonant.
			temp = string.gsub(text, "+", "")
			if	string.find(temp, "_..") or
				string.find(temp, "._.")
			then
				error("pseudo-glides may not neighbor a consonant")
			end
			if string.find(temp, "_.") then
				error("pseudo-glides may only be at the beginning or end"..code)
			end
			if string.find(temp, "") then
				error("vowels must be separated by a consonant: "..code)
			end
			if string.find(temp, "..$") then
				error("may not end with a consonant cluster: "..code)
			end
			string.gsub(" "..temp, "(.)(.*)",
				function(consonX, consonY)
					if consonX ~= consonY then
						error(
							"may not begin with a consonant cluster "..
							"unless it is a geminate: "..code
						)
					end
				end
			)
			
			if text ~= "" then
				addUnique(outSeq, text)
			end
			
		end
		
	end
	
	return outSeq
	
end



parseBoolean = function(text)
	if type(text) == "string" then
		text = string.gsub(text, "", "")
		if text ~= "" and text ~= "0" and string.lower(text) ~= "false" then
			return true
		end
	end
	return false
end



splitChars = function(text, pattern, chars, shorten)
	chars = chars or {}
	local index = 1
	for ch in string.gmatch(text, pattern or UTF8_CHAR) do
		chars = ch
		index = index + 1
	end
	if index <= #chars then
		if shorten then
			table.remove(chars, index)
		else
			repeat
				chars = nil
				index = index + 1
			until index > #chars
		end
	end
	return chars
end



string_gsub2 = function(text, pattern, subst)
	local result = text
	result = string.gsub(result, pattern, subst)
	-- If it didn't change the first time, it won't change the second time.
	if result ~= text then
		result = string.gsub(result, pattern, subst)
	end
	return result
end



string_gsubx = function(text, pattern, subst)
	repeat
		local oldText = text
		text = string.gsub(text, pattern, subst)
	until oldText == text
	return text
end



tableGet = function(value, key1, key2, key3)
	if type(value) ~= "table" or key1 == nil then
		return value
	end
	value = value
	if key2 == nil then
		return value
	end
	if type(value) ~= "table" then
		return nil
	end
	value = value
	if key3 == nil then
		return value
	end
	if type(value) ~= "table" then
		return nil
	end
	return value
end



toBender = function(inSeq, args)
	-- "1968" is from "Marshallese Phonology" (1968 by Byron W. Bender).
	-- "med" is from the Marshallese-English Dictionary (1976).
	-- "mod" is from the Marshallese-English Online Dictionary.
	-- "default" is the same as "mod" but with cedillas.
	local version = args and args.version
	if not BENDER_MAPS then
		local BENDER_1968 = {
			 = "p",  = "b",
			 = "j",  = "t",
			               = "k",  = "q",
			 = "m",  = "ṁ",
			 = "n",  = "ṅ",  = "n̈",
			               = "g",  = "g̈",
			 = "d",  = "r",  = "r̈",
			 = "l",  = "ł",  = "l̈",
			 = "yi'y",
			 = "'yiy",
			 = "y",  = "h",  = "w",
			 = "",   = "",   = "",
			  = "a",
			  = "e",
			  = "&",
			  = "i",
			  = "i"
		}
		local BENDER_MED = assign({}, BENDER_1968, {
			 = "m̧",
			 = "ņ",
			 = "ņ°",
			 = "g°",
			 = "r°",
			 = "ļ",
			 = "ļ°",
			  = "ȩ"
		})
		local BENDER_MOD = assign({}, BENDER_MED, {
			 = "kʷ",
			 = "ṃ",
			 = "ṇ",
			 = "ṇʷ",
			 = "gʷ",
			 = "rʷ",
			 = "ḷ",
			 = "ḷʷ",
			  = "ẹ"
		})
		local BENDER_DEFAULT = assign({}, BENDER_MOD, {
			 = "m̧",
			 = "ņ",
			 = "ņʷ",
			 = "ļ",
			 = "ļʷ",
			  = "ȩ"
		})
		BENDER_MAPS = {
			    = BENDER_1968,
			     = BENDER_MED,
			     = BENDER_MOD,
			 = BENDER_DEFAULT
		}
	end
	local map = BENDER_MAPS[
		type(version) == "string" and string.lower(version) or ""
	] or BENDER_MAPS
	local outSeq = {}
	for _, text in pairs(inSeq) do
		text = string.gsub(text, ".?", map)
		addUnique(outSeq, text)
	end
	return outSeq
end



toMOD = function(text)
	TO_MOD = TO_MOD or {
		 = "Ẹ",  = "ẹ",
		 = "Ḷ",  = "ḷ",
		 = "Ṃ",  = "ṃ",
		 = "Ṇ",  = "ṇ",
		 = "Ñ",  = "ñ",
		 = "Ọ",  = "ọ"
	}
	text = mw.ustring.gsub(text, ".?", TO_MOD)
	return text
end



toPhonemic = function(inSeq)
	local outSeq = {}
	if not PHONETIC_MAP then
		local map = {
			 = "pʲ",  = "pˠ",
			 = "tʲ",  = "tˠ",
			                = "k",   = "kʷ",
			 = "mʲ",  = "mˠ",
			 = "nʲ",  = "nˠ",  = "nʷ",
			                = "ŋ",   = "ŋʷ",
			 = "rʲ",  = "rˠ",  = "rʷ",
			 = "lʲ",  = "lˠ",  = "lʷ",
			 = "j",   = "ɰ",   = "w",
			 = "",    = "",    = "",
			  = "æ",
			  = "ɛ",
			  = "e",
			  = "i",
			  = "i"
		}
		if false then
			assign(map, {
				 = "ɐ",
				 = "ə",
				 = "ɘ",
				 = "ɨ",
				 = "ɨ"
			})
		end
		map = map.hj..map.i..ASYLL..map.hj
		map = map.hj..map.i..map.hj..map.hj
		PHONEMIC_MAP = map
	end
	for _, text in pairs(inSeq) do
		text = string.gsub(text, ".?", PHONEMIC_MAP)
		addUnique(outSeq, text)
	end
	return outSeq
end



toPhonetic = function(inSeq, args)
	
	-- Recognize "ralik" for Rālik Chain (western dialect).
	-- Recognize "ratak" for Ratak Chain (eastern dialect).
	-- For other values, list both possible dialect reflexes where applicable.
	local dialect = args and args.dialect and
		mw.ustring.lower(mw.text.trim(args.dialect)) or ""
	if dialect == "rālik" then
		dialect = "ralik"
	end
	
	-- If enabled, display full diphthong allophones for short vowels.
	local diphthongs = not not (args and parseBoolean(args.diphthongs))
	
	-- If enabled, break words at consonant cluster boundaries
	-- and enunciate the word fragments individually.
	-- This mode does not assimilate clusters or produce epenthetic vowels.
	local enunciate = not not (args and parseBoolean(args.enunciate))
	
	-- Argument "J" has format like "cst".
	-- Recognized letters are "t" = plosive, "c" = affricate, "s" = fricative.
	-- Letters for initial, medial and final respectively.
	-- Real-world pronunciation said to vary by sociological factors,
	-- but all realizations may occur in free variation.
	PHONETIC_ARG_J = PHONETIC_ARG_J or {
		 = "T",  = "S",  = "s",  = "x"
	}
	local modeJ = splitChars(args and args.J and string.lower(args.J) or "tst")
	local initialJ = PHONETIC_ARG_J or ""] or "t"
	local medialJ = PHONETIC_ARG_J or ""] or "s"
	local finalJ = PHONETIC_ARG_J or ""] or initialJ
	
	-- If enabled, display liaison joiners to mark
	-- spaces or hyphens in the input code that are not consonant clusters.
	local liaison = not not (args and parseBoolean(args.liaison))
	
	-- If enabled, do not display pseudo-glide hints at all.
	local noHints = not not (args and parseBoolean(args.nohints))
	
	-- "false" will display all obstruent allophones as voiceless.
	-- "true" will display all obstruent allophones as voiced.
	-- Empty string or absent by default will display
	-- only medial obstruent allophones as semi-voiced.
	local voice = args and args.voice or ""
	if voice ~= "" then
		voice = parseBoolean(voice)
	end
	
	local outSeq = {}
	local config = {
		 = outSeq,
		 = diphthongs,
		 = enunciate,
		 = initialJ,
		 = medialJ,
		 = finalJ,
		 = liaison,
		 = noHints,
		 = voice
	}
	
	for _, text in pairs(inSeq) do
		text = string.gsub(text, S, " ")
		text = fastTrim(text)
		local isRalik = dialect == "ralik"
		if isRalik or dialect == "ratak" then
			text = toPhoneticDialect(text, config, isRalik)
			toPhoneticRemainder(text, config)
		else
			local ralik = toPhoneticDialect(text, config, true)
			local ratak = toPhoneticDialect(text, config, false)
			-- If both dialect reflexes are the same, display only one of them.
			toPhoneticRemainder(ralik, config)
			if ralik ~= ratak then
				toPhoneticRemainder(ratak, config)
			end
		end
	end
	
	return outSeq
	
end



toPhoneticDialect = function(text, config, isRalik)
	
	-- To streamline morpheme-initial regular expressions.
	text = "&"..text
	
	-- Morphemes can begin with geminated consonants, but spoken words cannot.
	
	-- Morphemes with {hhV-}.
	if isRalik then
		-- Rālik {hhVCC-} becomes {hVhVCC-}?
		-- Experimental.  Examples may not actually exist.
		-- But prevents {hhVCC-} becoming {hVhCC-} next.
		text = string_gsub2(text,
			"( *hG)( *hG *)()( *. *.)", "%1%3%2%3%4"
		)
		-- Remaining Rālik {hhVC-} becomes {hVhC-}.
		text = string.gsub(text, "( *hG)( *hG *)()", "%1%3%2")
	else
		-- Ratak {hhV-} becomes {hV-}.
		text = string.gsub(text, "( *hG *)hG( *)", "%1%2")
	end
	
	-- Morphemes with remaining {CCV-}.
	if isRalik then
		-- Rālik {CCa-} becomes {yeCCa-}.
		text = string.gsub(
			text, "( *)(.)( *)%2( *a)", "%1hjE%2%3%2%4"
		)
		-- Rālik remaining {CCV-} becomes {yVCCV-}.
		text = string.gsub(
			text, "( *)(.)( *)%2( *)()", "%1hj%5%2%3%2%4%5"
		)
	else
		-- Ratak {CCa-} becomes {CeCa-}.
		text = string.gsub(text, "( *)(.)( *)%2( *a)", "%1%2E%3%2%4")
		-- Ratak remaining {CCV-} becomes {CVCV-}.
		text = string.gsub(
			text, "( *)(.)( *)%2( *)()", "%1%2%5%3%2%4%5"
		)
	end
	
	-- Initial {yiyV-, yiwV-, wiwV-} sequences have special behavior.
	-- To block this in the template argument, use "'i" instead of "i".
	if isRalik then
		-- Rālik {wiwV-} becomes {yiwV-}.
		text = string.gsub(text, "( *h)w( *i *hw *)", "%1j%2")
	end
	-- {iwV-} becomes {iwwV-} in both dialects.
	text = string.gsub(text, "( *h *i *hw)( *)", "%1hw%2")
	-- {yiyV-} sequences
	text = string.gsub(text,
		"( *)hj( *)i( *)hj( *)",
		isRalik and "%1Yj%2%3%4" or "%1yj%2%3%4"
	)
	
	-- No longer need initial "&".
	text = text.sub(text, 2)
	
	-- Don't need to protect {i} anymore.
	text = string.gsub(text, "I", "i")
	
	return text
	
end



toPhoneticRemainder = function(code, config, leftFlag, rightFlag)
	
	local text = code
	local chars, fn
	
	needVOWEL()
	
	local diphthongs = config.diphthongs
	
	-- If the phrase begins or ends with a bare vowel
	-- and no pseudo-glide, display phrase up to five times
	-- with each of the different pseudo-glides and possible vowel reflexes.
	if IS_VOWEL then
		text = "_j"..code
		toPhoneticRemainder(text, config, false, rightFlag)
		if not diphthongs then
			toPhoneticRemainder(text, config, true, rightFlag)
		end
		text = "_G"..code
		toPhoneticRemainder(text, config, false, rightFlag)
		if not diphthongs then
			toPhoneticRemainder(text, config, true, rightFlag)
		end
		text = "_w"..code
		toPhoneticRemainder(text, config, false, rightFlag)
		if not diphthongs then
			toPhoneticRemainder(text, config, true, rightFlag)
		end
		return
	end	
	if IS_VOWEL then
		text = code.."_j"
		toPhoneticRemainder(text, config, leftFlag, false)
		if not diphthongs then
			toPhoneticRemainder(text, config, leftFlag, true)
		end
		text = code.."_G"
		toPhoneticRemainder(text, config, leftFlag, false)
		if not diphthongs then
			toPhoneticRemainder(text, config, leftFlag, true)
		end
		text = code.."_w"
		toPhoneticRemainder(text, config, leftFlag, false)
		if not diphthongs then
			toPhoneticRemainder(text, config, leftFlag, true)
		end
		return
	end
	
	local enunciate = config.enunciate
	local initialJ  = config.initialJ
	local medialJ   = config.medialJ
	local finalJ    = config.finalJ
	local liaison   = config.liaison
	local noHints   = config.noHints
	local outSeq    = config.outSeq
	local voice     = config.voice
	
	-- Turn on liaison if we're enunciating.
	liaison = liaison or enunciate
	
	if	initialJ == "x" or
		medialJ == "x" or
		finalJ == "x"
	then
		local subSeq = {}
		config.outSeq = subSeq
		if initialJ == "x" then
			config.initialJ = "t"
		end
		if medialJ == "x" then
			config.medialJ = "t"
		end
		if finalJ == "x" then
			config.finalJ = "t"
		end
		toPhoneticRemainder(code, config)
		if initialJ == "x" then
			config.initialJ = "s"
		end
		if medialJ == "x" then
			config.medialJ = "s"
		end
		if finalJ == "x" then
			config.finalJ = "s"
		end
		toPhoneticRemainder(code, config)
		addUnique(outSeq, table.concat(subSeq, " ~ "))
		config.outSeq = outSeq
		config.initialJ = initialJ
		config.medialJ = medialJ
		config.finalJ = finalJ
		return
	end
	
	text = "&"..text.."&"
	
	if enunciate then
		
		-- Create a prosodic break at consonant clusters.
		text = string.gsub(text, "() *(.)", "%1&&%2")
		
	else
		
		-- Glides always trigger epenthesis, even neighboring other glides.
		text = string_gsub2(text, "()( *h)(.)( *)(h)%3( *)()",
			function(vowelL, _, secondary, __, primaryR, ___, vowelR)
				if secondary == "w" then
					primaryR = "H"
				end
				return (
					vowelL.._..secondary..
					maxF1(vowelL, vowelR).."#"..
					__..primaryR..secondary..___..vowelR
				)
			end
		)
		text = string.gsub(text, "()( *)hG( *.)", "%1%2hG%1#%3")
		text = string.gsub(text, "(.)( *)hG( *)()", "%1%4#%2hG%3%4")
		text = string.gsub(text, "()( *)h(.)( *.)", "%1%2h%3%1#%4")
		text = string.gsub(text, "(.)( *)h(. *)()", "%1%4#%2h%3%4")
		text = string.gsub(text, "(.)( *.)", "%1i#%2")
		
		-- Preserve these exceptionally stable clusters.
		text = string.gsub(text, "l( *)tG", "l%1|tG")
		
		-- Unstable consonant clusters trigger epenthesis.
		
		-- Liquids before coronal obstruents.
		text = string.gsub(text, "(.)( *)t", "%1v%2t")
		
		-- Nasals and liquids after coronal obstruents.
		text = string.gsub(text, "t(.)( *)", "t%1v%2")
		
		-- Heterorganic clusters.
		
		-- Labial consonants neighboring coronal or dorsal consonants.
		text = string.gsub(text, "(.)( *)", "%1v%2")
		
		-- Coronal consonants neighboring labial or dorsal consonants.
		text = string.gsub(text, "(.)( *)", "%1v%2")
		
		-- Dorsal consonants neighboring labial or coronal consonants.
		text = string.gsub(text, "(.)( *)", "%1v%2")
		
		-- Organic speech involves certain consonant cluster assimilations.
		
		-- Forward assimilation of rounded consonants.
		-- There is no rounded coronal obstruent.
		text = string.gsub(text, "(w *)", "%1w")
		
		-- Backward assimilation of remaining secondary articulations.
		text = string.gsub(text, "( *.)()", "%2%1%2")
		
		-- Backward nasal assimilation of primary articulations.
		text = string.gsub(text, "(. *)()", "%2%1%2")
		
		-- No longer need to protect exceptionally stable consonant clusters.
		text = string.gsub(text, "|", "")
		
		-- Give a vowel height to all epenthetic vowels that still lack one.
		text = string_gsub2(text, "(.)( *..)v( *.. *)(.)",
			function(vowelL, consonL, consonR, vowelR)
				return vowelL..consonL..
					maxF1(vowelL, vowelR, "E").."#"..
					consonR..vowelR
			end
		)
		
	end
	
	-- Tag all vowels for next set of operations.
	text = string.gsub(text, "()", "/%1")
	
	-- There is no variation in the surface realizations of vowels
	-- between two identical secondary articulations.
	text = string_gsub2(text, "()( *)/()(#? *.)%1",
		function(secondary, _, vowel, infix)
			return (
				secondary.._..VOWEL]]..
				infix..secondary
			)
		end
	)
	
	if diphthongs then
		
		text = string_gsub2(text, "(.)()( *)/()(#?)( *)(.)()",
			function(
				primaryL, secondaryL, _, vowel, epenth, __, primaryR, secondaryR
			)
				local f1 = F1
				return (
					primaryL..secondaryL.._..
					VOWEL]..epenth.."="..
					VOWEL]..epenth..__..
					primaryR..secondaryR
				)
			end
		)
		
	else
		
		-- Vowels neighboring pseudo-glides.
		fn = function(
			primaryL, secondaryL, _, vowel, epenth,
			__, primaryR, secondaryR, flag
		)
			local f2L = F2
			local f2R = F2
			local f2
			if flag then
				f2 = math.max(f2L, f2R)
			else
				f2 = math.min(f2L, f2R)
			end
			return (
				primaryL..secondaryL.._..
				VOWEL]..epenth..__..
				primaryR..secondaryR
			)
		end
		text = string.gsub(text, "(_)()( *)/("..V..")(#?)( *)(.)()",
			function(a, b, c, d, e, f, g, h)
				return fn(a, b, c, d, e, f, g, h, leftFlag)
			end
		)
		text = string.gsub(text, "(.)()( *)/("..V..")(#?)( *)(_)()",
			function(a, b, c, d, e, f, g, h)
				return fn(a, b, c, d, e, f, g, h, rightFlag)
			end
		)
		
		needVOWEL_REFLEX()
		
		-- Vowels between two non-glides have the most predictable reflexes.
		text = string_gsub2(text,
			"()(.)( *)/()(#? *)()(.)",
			function(
				primaryL, secondaryL, _, vowel, infix, primaryR, secondaryR
			)
				return primaryL..secondaryL.._..
					VOWEL_REFLEX
						]]]..
					infix..primaryR..secondaryR
			end
		)
		
		-- Exceptionally for the single word "rej".
		text = string.gsub(text, "& *(rG *)()( *tj) *&",
			function(prefix, vowel, suffix)
				return "&"..prefix..FRONT_VOWEL..suffix.."&"
			end
		)
		
		-- Vowels always claim the secondary articulation
		-- of a neighboring back unrounded glide.
		text = string.gsub(text, "(hG *)/()", function(prefix, vowel)
			return prefix..BACK_VOWEL
		end)
		text = string.gsub(text, "/()(#? *hG)", function(vowel, suffix)
			return BACK_VOWEL..suffix
		end)
		
		if not enunciate then
			-- Unless already claimed, epenthetic vowels after a glide
			-- always claim the secondary articulation to the left.
			text = string.gsub(text, "()(.)( *)/()#",
				function(primaryL, secondaryL, _, vowel)
					return (
						primaryL..secondaryL.._..
						VOWEL]].."#"
					)
				end
			)
		end
		
		-- Unless already claimed, vowels before a glide
		-- always claim the secondary articulation to the right.
		text = string.gsub(text, "/()(#?)( *)(.)",
			function(vowel, epenth, primaryR, secondaryR)
				return (
					VOWEL]]..epenth..
					primaryR..secondaryR
				)
			end
		)
		
		-- For now, unless already claimed, vowels before a rounded consonant
		-- claim the secondary articulation to the right.
		text = string.gsub(text, "/()(#? *.w)", function(vowel, suffix)
			return ROUND_VOWEL..suffix
		end)
		
		-- For now, unless already claimed, remaining vowels
		-- claim the secondary articulation to the left.
		text = string.gsub(text, "()( *)/()",
			function(secondaryL, _, vowel)
				return secondaryL.._..VOWEL]]
			end
		)
		
		-- Change certain vowels in a special environment from round to front.
		text = string_gsub2(text, "(hj *)()( *.w *"..V.." *h)",
			function(prefix, vowel, suffix)
				return prefix..FRONT_VOWEL..suffix
			end
		)
		text = string.gsub(text, "(hj *)()( *)(.w)( *)("..V..")",
			function(prefix, vowelL, _, conson, __, vowelR)
				if conson ~= "hw" or F1 ~= F1 then
					return prefix..FRONT_VOWEL.._..conson..__..vowelR
				end
			end
		)
		if not enunciate then
			text = string.gsub(text, "(hj *)()( *.w *.w)",
				function(prefix, vowel, suffix)
					return prefix..FRONT_VOWEL..suffix
				end
			)
		end
		text = string.gsub(text, "(a#? *hj *)Q( *.w *"..V..")", "%1a%2")
		if not enunciate then
			text = string.gsub(text, "(a#? *hj *)Q( *.w *.w)", "%1a%2")
		end
		
		-- Tag certain glide-vowel-non-glide sequences for special reflexes.
		if false and enunciate then
			text = string.gsub(
				text, "( *)("..V.." *)", "%1/%2"
			)
		else
			text = string.gsub(
				text, "( *)("..V.." *)", "%1/%2"
			)
			text = string.gsub(
				text, "( *h *)("..V.." *)", "%1/%2"
			)
			text = string.gsub(
				text, "( *h *)( *)", "%1/%2"
			)
			text = string.gsub(text, "()( *hj *)()( *G)",
				function(vowelL, infix, vowelR, suffix)
					if F1 > F1 then
						return vowelL..infix.."/"..vowelR..suffix
					end
				end
			)
			text = string.gsub(
				text, "(hj *#? *hw *)("..V.." *)", "%1/%2"
			)
		end
		
		-- Untag certain sequences, exempting them from special reflexes.
		text = string.gsub(text, "(hj *)/( *w)", "%1%2")
		
		-- Special reflexes.
		text = string.gsub(text, "()( *)/("..V..")( *)(.)()",
			function(secondaryL, _, vowel, __, primaryR, secondaryR)
				return (
					secondaryL.._..
					VOWEL_REFLEX
						]]]..
					__..primaryR..secondaryR
				)
			end
		)
		
		-- Exceptional phrase-initial reflex.
		text = string.gsub(text, "& *(j *)()( *G)",
			function(prefix, vowel, suffix)
				return "&"..prefix..FRONT_VOWEL..suffix
			end
		)
		text = string.gsub(text, "& *(w *)M( *tG)", "&%1u%2")
		
	end
	
	if not enunciate then
		-- Temporarily cancel epenthetic {i} neighboring {yi'y}.
		text = string.gsub(text, "i#( *yj)", "%1")
		-- {yi'y} neighboring {i} may now be demoted to {y}.
		text = string.gsub(text, "(#? *)yj", "%1hj")
		text = string.gsub(text, "yj( *)", "hj%1")
	end
	-- {'yiy} may now be demoted everywhere.
	if not enunciate then
		text = string.gsub(text, "(i# *)Yj", "%1hjihj")
		text = string.gsub(text, "Yj", "hjihji#hj")
	else
		text = string.gsub(text, "Yj", "hjihj&&hj")
	end
	
	-- For the purposes of this template,
	-- surface all glides pronounced in isolation.
	text = string.gsub(text, "& *h(.) *&", "&H%1&")
	
	if not diphthongs then
		
		-- Opportunistically front these vowels.
		text = string.gsub(text, "(j *)()( *?G? *G *"..V..")",
			function(prefix, vowel, suffix)
				return prefix..FRONT_VOWEL..suffix
			end
		)
		
		-- Surface certain glides.
		text = string.gsub(text, "& *h(w *)", "&H%1")
		text = string.gsub(text, "h(w *)", "H%1")
		text = string.gsub(text, "& *h(j *)", "&H%1")
		if not enunciate then
			text = string.gsub(text, "(..# *)h(w *)", "%1H%2")
			text = string.gsub(text, "(..# *)h(j *"..V..")", "%1H%2")
		end
		text = string.gsub(text, "(#? *)h(j *)", "%1H%2")
		text = string.gsub(text, "()(#? *)hw( *)()",
			function(vowelL, infix, _, vowelR)
				if F1 > F1 then
					return vowelL..infix.."Hw".._..vowelR
				end
			end
		)
		text = string.gsub(text, "()(#? *)hj( *)()",
			function(vowelL, infix, _, vowelR)
				if F1 > F1 then
					return vowelL..infix.."Hj".._..vowelR
				end
			end
		)
		text = string.gsub(text, "()(#? *)hj( *)()",
			function(vowelL, infix, _, vowelR)
				if F1 < F1 then
					return vowelL..infix.."Hj".._..vowelR
				end
			end
		)
		text = string.gsub(text, "("..V..")( *)h() *&",
			function(vowel, _, secondary)
				if F2 ~= F2 then
					return vowel.._.."H"..secondary.."&"
				end
			end
		)
		
		if not enunciate then
			
			-- Protect word-final epenthetic vowels after non-glides
			-- from the next operation.
			text = string.gsub(text, "(."..V..")(# )", "%1/%2")
			
			-- De-epenthesize vowels if they still neighbor unsurfaced glides.
			text = string.gsub(text, "("..V..")#( *h.)", "%1%2")
			text = string.gsub(text, "(h. *"..V..")#", "%1")
			
			-- Adjust F1 of currently remaining epenthetic vowels.
			text = string_gsub2(text,
				"("..V..")( *.)(.)#( *. *)("..V..")",
				function(vowelL, infixL, vowel, infixR, vowelR)
					return (
						vowelL..infixL..
						VOWEL]].."/#"..
						infixR..vowelR
					)
				end
			)
			
			text = string.gsub(text, "/", "")
			
		end
		
	end
	
	-- Delete all remaining unsurfaced glides.
	text = string.gsub(text, "h.", "")
	
	-- Surface realization for {yi'y}.
	text = string.gsub(text, "yj", "i^")
	
	if not diphthongs then
		
		-- Realization for surfaced {y}.
		text = string_gsub2(text, "("..V.."?)(#?)( *)Hj( *)("..V.."?)",
			function(vowelL, epenthL, _, __, vowelR)
				if vowelL ~= "" then
					if vowelR ~= "" then
						if	vowelL == vowelR and
							F2 == F2J
						then
							return vowelL.._..__..vowelR
						else
							return (
								vowelL..epenthL.._..
								maxF1(vowelL, vowelR, "E").."^"..__..vowelR
							)
						end
					else
						return vowelL.._..epenthL..maxF1(vowelL, "E").."^"..__
					end
				else
					if vowelR ~= "" then
						return _..maxF1(vowelR, "E").."^"..__..vowelR
					else
						return _.."i^"..__
					end
				end
			end
		)
		
		if not enunciate then
			
			-- Flatten this epenthetic vowel and surfaced glide.
			text = string_gsub2(
				text, "( *"..C..")E#( *)E%^( *)a", "%1a%2%3a"
			)
			
			-- Collapse this epenthetic vowel and
			-- surfaced glide into a semi-vowel.
			text = string.gsub(text, "()#( *)%1%^", "%2%1^")
			
		end
		
	end
	
	if MERGED_MID_VOWELS then
		text = string.gsub(text, "E", "e")
		text = string.gsub(text, "O", "o")
	end
	
	chars = splitChars(text, ".")
	
	if not diphthongs and not enunciate then
		-- Geminate long vowels.
		local index = #chars
		repeat
			local ch = chars
			local index2 = index - 1
			if IS_VOWEL then
				local ch2 = chars
				if	ch2 ~= "#" and
					ch2 ~= "^" and
					chars == ch
				then
					chars = ":"
				end
			end
			index = index2
		until index == 1
		text = table.concat(chars, "")
	end
	
	-- Just in case we've accumulated some whitespace at the edges.
	text = string.gsub(text, " *(&+) *", "%1")
	
	needCONSON_REFLEX()
	
	-- Tweak remaining consonants, using offsets as a guide.
	text = string.gsub(text, "()(.)()( *)(?)(?)()",
		function(
			offsetL, primaryL, secondaryL, _, primaryR, secondaryR, offsetR
		)
			local isInitial = chars == "&"
			local isFinal = chars == "&"
			if	primaryL == "H" or
				primaryL == "y"
			then
				return primaryL..secondaryL.._
			end
			if primaryL == "_" then
				if noHints then
					-- Delete pseudo-glide.
					return _
				end
				if isInitial then
					-- Show secondary articulation to the left, not the right.
					return secondaryL..primaryL.._
				end
				return primaryL..secondaryL.._
			end
			local geminated = primaryL == primaryR
			if primaryL ~= "t" and primaryR == "t" then
				-- /tʲ/         is  palatalized postalveolar.
				-- /tˠ/         is  velarized   dental.
				-- /nʲ, rʲ, lʲ/ are palatalized dental.
				-- /nˠ, rˠ, lˠ/ are velarized   postalveolar.
				-- Regressively assimilate primary dental or postalveolar.
				-- None of this will be visible unless PHONETIC_DETAILS == true.
				primaryL = CONSON_REFLEX
					
				primaryR = CONSON_REFLEX
			else
				primaryL = CONSON_REFLEX
				if primaryR ~= "" then
					primaryR = CONSON_REFLEX
				end
			end
			if primaryR == "T" then
				if primaryL == "T" then
					primaryL = finalJ
					primaryR = initialJ
					if	primaryL == "S" and
						primaryR ~= "s"
					then
						primaryL = "T"
					elseif
						primaryL == "T" and
						primaryR == "s" and
						medialJ == "S"
					then
						primaryL = "S"
					end
				else
					primaryR = medialJ
				end
			elseif primaryL == "T" then
				if isInitial then
					primaryL = initialJ
				elseif isFinal then
					primaryL = finalJ
				else
					primaryL = medialJ
				end
			end
			if primaryR ~= "" then
				-- Consonant cluster.
				-- For some reason, the {t} in {lt} and {ļt} is voiceless.
				if	not geminated and
					primaryL ~= "l" and
					primaryL ~= "L"
				then
					primaryL = VOICED_PRIMARY or primaryL
					primaryR = VOICED_PRIMARY or primaryR
				end
				-- Display secondary articulation only once for the cluster.
				secondaryL = ""
			elseif
				not isInitial and
				not isFinal
			then
				-- Medial single consonant.
				primaryL = VOICED_PRIMARY or primaryL
			end
			if voice == false then
				primaryL = VOICELESS_PRIMARY or primaryL
				primaryR = VOICELESS_PRIMARY or primaryR
			elseif voice == true then
				primaryL = VOICED_PRIMARY or primaryL
				primaryR = VOICED_PRIMARY or primaryR
			end
			return primaryL..secondaryL.._..primaryR..secondaryR
		end
	)
	
	if not diphthongs then
		
		if not enunciate then
			-- Elegantly connect long and epenthetic vowels across word gaps.
			text = string.gsub(text, "(): +", "%1 : ")
			text = string.gsub(text, "("..V..") +%1()", "%1 :%2")
			text = string.gsub(text, "("..V..") +%1 *&", "%1 :&")
			text = string.gsub(text, "("..V..")# +%1", " %1 :")
			text = string.gsub(text, "("..V.."#) +", " %1 ")
		end
		
		if W_OFF_GLIDES then
			-- Add  off-glides after certain consonants.
			text = string.gsub(text, "(G *)()", "%1BG%2")
			text = string.gsub(text, "(w *)()", "%1Hw%2")
			-- Remove  off-glides after certain consonants
			-- when they occur after rounded vowels.
			text = string.gsub(text, "( *? *w *)Hw", "%1")
			text = string.gsub(text, "( *? *Nw *)HwM", "%1M")
		end
		
	end
	
	if not enunciation and PARENTHETICAL_EPENTHESIS then
		text = string.gsub(text, "(.)#", "(%1)")
		if W_OFF_GLIDES then
			text = string.gsub(text, "(.)%(("..V..")", "(%1%2")
			text = string.gsub(text, "()( *%^)", "(%1)%2")
		end
		text = string.gsub(text, "%)(=?)%(", "%1")
	end
	
	-- Clean up prosodic unit margins.
	text = string.gsub(text, " *&*", "&")
	if false and enunciate then
		text = string.gsub(text, "("..V..")", "%1.")
		text = string.gsub(text, "("..V..")%.%^", "%1^")
		text = string.gsub(text, "%.(.&)", "%1")
		text = string.gsub(text, "%.("..V.."%^&)", "%1")
		text = string.gsub(text, "%.&", "&")
	end
	text = string.gsub(text, "^&* *", "")
	text = string.gsub(text, " *&*$", "")
	
	-- Convert remaining word gaps to liaison.
	text = string.gsub(text, " +", liaison and "_" or "")
	
	needPHONETIC_IPA()
	text = string.gsub(text, ".?", PHONETIC_IPA)
	
	addUnique(outSeq, text)
	
end



ZTBL = function(text, sep)
	local tbl = {}
	for key in mw.text.gsplit(text, sep or " ") do
		tbl = true
	end
	return tbl
end



export._parse = parse
export._toBender = toBender
export._toMOD = toMOD
export._toPhonemic = toPhonemic
export._toPhonetic = toPhonetic

function export.bender(frame)
	return table.concat(toBender(parse(frame.args, frame.args)), ", ")
end

function export.MOD(frame)
	return toMOD(frame.args)
end

function export.parse(frame)
	return table.concat(parse(frame.args), ", ")
end

function export.phonemic(frame)
	return table.concat(toPhonemic(parse(frame.args)), ", ")
end

function export.phonetic(frame)
	return table.concat(toPhonetic(parse(frame.args), frame.args), ", ")
end

return export