Module:xchc-noun: Difference between revisions
No edit summary |
No edit summary |
||
| Line 22: | Line 22: | ||
local vowel = "[aeɛioɔuyø]" | local vowel = "[aeɛioɔuyø]" | ||
local function | local function matche(foo, pat) | ||
return | local ipa = m_ipa.crux(foo) | ||
return ipa:match(pat .. "ː?$") | |||
end | end | ||
| Line 54: | Line 55: | ||
data.g = g | data.g = g | ||
data.sg = "" | data.sg = "" | ||
data.pau = | data.pau = matche(wordpron(word), "[eiøy]") and "ч" | ||
or | or matche(wordpron(word), "[ɛa]") and "н" | ||
or | or matche(wordpron(word), "[uoɔ]") and "ӈ" | ||
or gsubh("Bӈ","о̆","э̆",nil,nil,"о̆") | or gsubh("Bӈ","о̆","э̆",nil,nil,"о̆") | ||
data.pl = { | data.pl = { | ||
["i"] = | ["i"] = matche(wordpron(word), voiceless) and gsubh("фBд","ө","э",nil,nil,"э") or gsubh("вBд","ө","э",nil,nil,"э"), | ||
["a"] = | ["a"] = matche(wordpron(word), voiceless) and gsubh("шBд","о̆","э̆",nil,nil,"о̆") or gsubh("жBд","о̆","э̆",nil,nil,"о̆"), | ||
} | } | ||
| Line 115: | Line 116: | ||
local decl = { | local decl = { | ||
["nom"] = "", | ["nom"] = "", | ||
["acc"] = | ["acc"] = matche(w_number[n_sh], vowel) and "дза" or matche(w_number[n_sh], voiced) and "да" or "та", | ||
["dat"] = | ["dat"] = matche(w_number[n_sh], vowel) and "ша" or matche(w_number[n_sh], voiced) and "за" or "са", | ||
["gen"] = "ля", | ["gen"] = "ля", | ||
["ins"] = | ["ins"] = matche(w_number[n_sh], vowel) and "лза" or gsubh("Bлз","ө", "э", nil, nil, "ө"), | ||
["pro"] = gsubh("сBц","ө", "э", nil, nil, "ө"), | ["pro"] = gsubh("сBц","ө", "э", nil, nil, "ө"), | ||
["ade"] = "ляц", | ["ade"] = "ляц", | ||