Documentation for this module may be created at Module:Sandbox/Nardog/6/doc
local segments = {}
local rawSegments = {
-- CONSONANTS
{
code = "b",
text = "b",
tooltip = "'b' in 'buy'"
},
{
code = "d",
text = "d",
tooltip = "'d' in 'dye'"
},
{
code = "dj",
aliases = { "dy", "dʲ" },
text = "dj",
tooltip = "/dj/: 'd' in 'dew'"
},
{
code = "dʒ",
aliases = { "dZ", "ʤ" },
text = "dʒ",
tooltip = "/dʒ/: 'j' in 'jam'"
},
{
code = "ð",
aliases = { "D" },
text = "ð",
tooltip = "/ð/: 'th' in 'thy'"
},
{
code = "f",
text = "f",
tooltip = "'f' in 'find'"
},
{
code = "ɡ",
aliases = { "g" },
text = "ɡ",
tooltip = "/ɡ/: 'g' in 'guy'"
},
{
code = "h",
text = "h",
tooltip = "'h' in 'hi'"
},
{
code = "hw",
aliases = { "ʍ" },
text = "hw",
tooltip = "/hw/: 'wh' in 'why'"
},
{
code = "j",
aliases = { "y" },
text = "j",
tooltip = "/j/: 'y' in 'yes'"
},
{
code = "k",
text = "k",
tooltip = "'k' in 'kind'"
},
{
code = "l",
text = "l",
tooltip = "'l' in 'lie'"
},
{
code = "lj",
aliases = { "ly", "lʲ" },
text = "lj",
tooltip = "/lj/: 'l' in 'lute'"
},
{
code = "m",
text = "m",
tooltip = "'m' in 'my'"
},
{
code = "n",
text = "n",
tooltip = "'n' in 'nigh'"
},
{
code = "nj",
aliases = { "ny", "nʲ" },
text = "nj",
tooltip = "/nj/: 'n' in 'new'"
},
{
code = "ŋ",
aliases = { "N", "ng" },
text = "ŋ",
tooltip = "/ŋ/: 'ng' in 'sing'"
},
{
code = "p",
text = "p",
tooltip = "'p' in 'pie'"
},
{
code = "r",
aliases = { "ɹ", "ɻ" },
text = "r",
tooltip = "'r' in 'rye'"
},
{
code = "s",
text = "s",
tooltip = "'s' in 'sigh'"
},
{
code = "sj",
aliases = { "sy", "sʲ" },
text = "sj",
tooltip = "/sj/: 's' in 'consume'"
},
{
code = "ʃ",
aliases = { "S", "sh" },
text = "ʃ",
tooltip = "/ʃ/: 'sh' in 'shy'"
},
{
code = "t",
text = "t",
tooltip = "'t' in 'tie'"
},
{
code = "tj",
aliases = { "ty", "tʲ" },
text = "tj",
tooltip = "/tj/: 't' in 'tune'"
},
{
code = "tʃ",
aliases = { "tS", "ʧ", "ch" },
text = "tʃ",
tooltip = "/tʃ/: 'ch' in 'China'"
},
{
code = "θ",
aliases = { "T" },
text = "θ",
tooltip = "/θ/: 'th' in 'thigh'"
},
{
code = "θj",
aliases = { "θy", "θʲ" },
text = "θj",
tooltip = "/θj/: 'th' in 'enthuse'"
},
{
code = "v",
text = "v",
tooltip = "'v' in 'vie'"
},
{
code = "w",
text = "w",
tooltip = "'w' in 'wind'"
},
{
code = "z",
text = "z",
tooltip = "'z' in 'zoom'"
},
{
code = "zj",
aliases = { "zy", "zʲ" },
text = "zj",
tooltip = "/zj/: 'Z' in 'Zeus'"
},
{
code = "ʒ",
aliases = { "Z", "zh" },
text = "ʒ",
tooltip = "/ʒ/: 's' in 'pleasure'"
},
-- VOWELS
{
code = "ɑː",
aliases = { "A:", "ɑ:", "aː", "a:" },
text = "ɑː",
tooltip = "/ɑː/: 'a' in 'father'"
},
{
code = "ɑːr",
aliases = { "ɑɹ", "aːr", "a:r", "ɑ:r", "ɑr" },
text = "ɑːr",
tooltip = "/ɑːr/: 'ar' in 'far'"
},
{
code = "ɒ",
aliases = { "Q" },
text = "ɒ",
tooltip = "/ɒ/: 'o' in 'body'"
},
{
code = "ɒr",
aliases = { "Qr" },
text = "ɒr",
tooltip = "/ɒr/: 'or' in 'moral'"
},
{
code = "æ",
aliases = { "ae", "{" },
text = "æ",
tooltip = "/æ/: 'a' in 'bad'"
},
{
code = "ær",
aliases = { "aer", "&r", "æɹ" },
text = "ær",
tooltip = "/ær/: 'arr' in 'marry'"
},
{
code = "aɪ",
aliases = { "ai", "aI" },
text = "aɪ",
tooltip = "/aɪ/: 'i' in 'tide'"
},
{
code = "aɪər",
aliases = { "aɪr", "aIr", "aɪə" },
text = "aɪər",
tooltip = "/aɪər/: 'ire' in 'fire'"
},
{
code = "aʊ",
aliases = { "au", "aU" },
text = "aʊ",
tooltip = "/aʊ/: 'ou' in 'mouth'"
},
{
code = "aʊər",
aliases = { "aʊr", "aUr", "aʊə", "aur" },
text = "aʊər",
tooltip = "/aʊər/: 'our' in 'hour'"
},
{
code = "ɛ",
aliases = { "E" },
text = "ɛ",
tooltip = "/ɛ/: 'e' in 'dress'"
},
{
code = "ɛr",
aliases = { "Er" },
text = "ɛr",
tooltip = "/ɛr/: 'err' in 'merry'"
},
{
code = "eɪ",
aliases = { "ei", "eI", "eː", "e:" },
text = "eɪ",
tooltip = "/eɪ/: 'a' in 'face'"
},
{
code = "ɛər",
aliases = { "eir", "eIr", "e@r", "E@r", "ɛɪɹ", "eɪr", "eːr", "e:r", "ɛəɹ", "ɛə", "ɛːr", "ɛ:r", "ɛː", "ɛ:", "E:", "E:r" },
text = "ɛər",
tooltip = "/ɛər/: 'are' in 'bare'"
},
{
code = "ɛəˈr",
aliases = { "ɛə'r", "eəˈr", "eə'r", "e@'r", "E@'r", "ɛːˈr", "E:'r" },
text = "ɛəˈr",
tooltip = "/ɛəˈr/: 'ere' in 'thereof'"
},
{
code = "ɛəˌr",
aliases = { "ɛə,r", "eəˌr", "eə,r", "E@,r", "E@%r", "e@,r", "e@%r", "ɛːˌr", "E:,r", "E:%r" },
text = "ɛəˌr",
tooltip = "/ɛəˌr/: 'ere' in 'thereof'"
},
{
code = "ɪ",
aliases = { "I", "ᵻ" },
text = "ɪ",
tooltip = "/ɪ/: 'i' in 'kit'"
},
{
code = "ɪr",
text = "ɪr",
tooltip = "/ɪr/: 'irr' in 'mirror'"
},
{
code = "iː",
aliases = { "i:" },
text = "iː",
tooltip = "/iː/: 'ee' in 'fleece'"
},
{
code = "ɪər",
aliases = { "i:r", "iːr", "I@r", "i@r", "ɪəɹ", "iːɹ", "ɪə" },
text = "ɪər",
tooltip = "/ɪər/: 'ear' in 'near'"
},
{
code = "ɪəˈr",
aliases = { "ɪə'r", "I@'r" },
text = "ɪəˈr",
tooltip = "/ɪəˈr/: 'er' in 'spheroidal'"
},
{
code = "ɪəˌr",
aliases = { "ɪə,r", "I@,r", "I@%r" },
text = "ɪəˌr",
tooltip = "/ɪəˌr/: 'er' in 'spheroidal'"
},
{
code = "oʊ",
aliases = { "o:", "oː", "ou", "oU", "@u", "@U", "əʊ", "əu", "oʊ-" },
text = "oʊ",
tooltip = "/oʊ/: 'o' in 'code'"
},
{
code = "ɔː",
aliases = { "O", "O:", "ɔ:", "ɒː", "Q:" },
text = "ɔː",
tooltip = "/ɔː/: 'au' in 'fraud'"
},
{
code = "ɔːr",
aliases = { "Or", "ɔɹ", "ɔ(r)", "ɔr", "ɔər", "oUr", "ɔəɹ", "ɔʊɹ", "oʊɹ", "oʊr", "oːr", "o:r", "ɔə", "ɔə(r)" },
text = "ɔːr",
tooltip = "/ɔːr/: 'ar' in 'war'"
},
{
code = "ɔɪ",
aliases = { "oj", "ɔj", "oi", "oɪ", "ɔi", "OI", "oy" },
text = "ɔɪ",
tooltip = "/ɔɪ/: 'oi' in 'choice'"
},
{
code = "ɔɪər",
aliases = { "ɔɪr", "oyr", "ɔɪə" },
text = "ɔɪər",
tooltip = "/ɔɪər/: 'oir' in 'loir'"
},
{
code = "ʊ",
aliases = { "U", "ᵿ" },
text = "ʊ",
tooltip = "/ʊ/: 'u' in 'push'"
},
{
code = "ʊr",
aliases = { "Ur" },
text = "ʊr",
tooltip = "/ʊr/: 'our' in 'courier'"
},
{
code = "uː",
aliases = { "u:" },
text = "uː",
tooltip = "/uː/: 'oo' in 'goose'"
},
{
code = "ʊər",
aliases = { "u:r", "uːr", "u@r", "U@r", "ʊəɹ", "ʊə" },
text = "ʊər",
tooltip = "/ʊər/: 'our' in 'tour'"
},
{
code = "ʊəˈr",
aliases = { "ʊə'r", "U@'r" },
text = "ʊəˈr",
tooltip = "/ʊəˈr/: 'ur' in 'plurality'"
},
{
code = "ʊəˌr",
aliases = { "ʊə,r", "U@,r", "U@%r" },
text = "ʊəˌr",
tooltip = "/ʊəˌr/: 'ur' in 'plurality'"
},
{
code = "ʌ",
aliases = { "V" },
text = "ʌ",
tooltip = "/ʌ/: 'u' in 'cut'"
},
{
code = "ʌr",
aliases = { "Vr", "ʌɹ" },
text = "ʌr",
tooltip = "/ʌr/: 'urr' in 'hurry'"
},
{
code = "ɜːr",
aliases = { "ɝː", "ɝ", "3r", "3:r", "əːr", "@:r", "ɜɹ", "ɜ(r)", "ɜr" },
text = "ɜːr",
tooltip = "/ɜːr/: 'ur' in 'fur'"
},
{
code = "ə",
aliases = { "@" },
text = "ə",
tooltip = "/ə/: 'a' in 'about'"
},
-- SYLLABIC CONSONANTS
{
code = "ər",
aliases = { "ɚ", "@r", "əɹ", "ə(r)" },
text = "ər",
tooltip = "/ər/: 'er' in 'letter'"
},
{
code = "əl",
aliases = { "@l", "ᵊl", "l̩" },
text = "əl",
tooltip = "/əl/: 'le' in 'bottle'"
},
{
code = "ən",
aliases = { "@n", "ᵊn", "n̩" },
text = "ən",
tooltip = "/ən/: 'on' in 'button'"
},
{
code = "əm",
aliases = { "@m", "ᵊm", "m̩" },
text = "əm",
tooltip = "/əm/: 'm' in 'rhythm'"
},
-- ARCHIPHONEMES
{
code = "i",
text = "i",
tooltip = "/i/: 'y' in 'happy'"
},
{
code = "u",
text = "u",
tooltip = "/u/: 'u' in 'influence'"
},
-- MARGINAL SEGMENTS
{
code = "x",
aliases = { "kh" },
text = "x",
tooltip = "/x/: 'ch' in 'loch'"
},
{
code = "ʔ",
aliases = { "?" },
text = "ʔ",
tooltip = "/ʔ/: the catch in 'uh-oh'"
},
{
code = "ɒ̃",
aliases = { "ɑ̃", "ɒ~", "ɑ~", "Q~" },
text = "ɒ̃",
tooltip = "/ɒ̃/: nasal 'an' in 'vin blanc'"
},
{
code = "æ̃",
aliases = { "ae~", "{~", "ã", "a~" },
text = "æ̃",
tooltip = "/æ̃/: nasal 'in' in 'vin blanc'"
},
{
code = "ɜː",
aliases = { "3", "3:", "ɜ:", "ɜ", "əː", "@:" },
text = "ɜː",
tooltip = "/ɜː/: r-less 'ur' in 'nurse'"
},
-- SUPRASEGMENTALS
{
code = "ˈ",
aliases = { "'", '"'},
text = "ˈ",
tooltip = "/ˈ/: primary stress follows"
},
{
code = "ˌ",
aliases = { ",", "%" },
text = "ˌ",
tooltip = "/ˌ/: secondary stress follows"
},
{
code = ".",
aliases = { "·" },
text = ".",
tooltip = "/./: syllable break"
},
{
code = "#",
text = "#",
tooltip = "/#/: word break"
},
{
code = "!",
text = "|",
tooltip = "/|/: prosodic break (minor)"
},
{
code = "!!",
aliases = { "‖" },
text = "‖",
tooltip = "/‖/: prosodic break (major)"
},
-- SEPARATORS
-- Tables without tooltip text are used as word separators. In addition to
-- not having any tooltip text in the template output, they are not
-- underlined.
{
code = "_",
text = "<span class=\"wrap\"> </span>",
},
{
code = "nbsp",
aliases = { " " },
text = " ",
},
{
code = ",_",
text = ",<span class=\"wrap\"> </span>",
},
{
code = "-",
aliases = { "–" },
text = "-",
},
{
code = "(",
text = "(",
},
{
code = ")",
text = ")",
},
-- This is useful for highly variable words in place names, which are not
-- important to transcribe.
{
code = "...",
text = " ...<span class=\"wrap\"> </span>",
},
-- Obsolete combinations, kept for compatibility
{
code = "juː",
text = "juː",
tooltip = "/juː/: 'u' in 'cute'"
},
{
code = "jʊər",
text = "jʊər",
tooltip = "/jʊər/: 'ure' in 'cure'"
},
}
for _, v in ipairs(rawSegments) do
local t = { text = v.text, tooltip = v.tooltip }
segments[v.code] = t
if v.aliases then
for _, alias in ipairs(v.aliases) do
segments[alias] = t
end
end
end
return { segments = segments, rawSegments = rawSegments }