Jump to content

Module:Auphen/YAR-AI

From Yezur Wiki

This is the documentation for Module:Auphen/YAR-AI, the sound data for Middle Airananwe (registry code YAR-AI) on the Yezur wiki. It contains no code: it returns a table of sound categories and rules which Module:Auphen/frame loads and hands to the engine, Module:Auphen. It is reached through {{auphen|word|YAR-AI}}, which returns an estimated pronunciation between slashes. The dictionary's practice for the language is set out at Dictionary:About Middle Airananwe.

Fields

Field Purpose
ipacats The sound categories the rules refer to, written in sounds rather than letters. [V] and [C], the vowels and the consonants, are used as environments; [D] the voiced obstruents and [T] their voiceless counterparts are the target and the change of the final-devoicing rule, mapped member for member in the order declared (b d g v z ð ɣ ʑ ɟ against p t k f s θ x ɕ c). [V] and [C] also list sounds the rules themselves produce, such as the laxed vowels and [ʀ], so that later rules still see them.
ipa_rules The letter-to-sound mapping, applied left to right before the ruleset runs. The digraphs are listed first, and the engine takes the longest spelling that fits at each position, so a digraph is read before its component letters.
pronounce The pronunciation ruleset, run in the order written over the output of ipa_rules.
sets Named rulesets for grammar forms. Empty for this language; see below.

Orthography

The mapping covers the letters a b c d e f g h i k l m n o p q r s t u v x y z. Most carry their own value; the rest, with the digraphs, are:

Spelling Sound
aa ee ii oo uu the long vowels /aː eː iː oː uː/, carried through the mapping as ā ē ī ō ū and given their length mark by pronounce
mb nd ng /ᵐb ⁿd ᵑg/
bh gh ph th dh /β ɣ p͡ɸ θ ð/
c ch /ʦ ʧ/
ty dy ny ly sy zy ky gy /tʲ dʲ ɲ ʎ ɕ ʑ c ɟ/
q gu /kʷ gʷ/
x y /kʃ j/

There are no rules for sh or j: they are not part of the orthography, their work being done by sy and zy, and the language accordingly has no /ʃ/ or /ʒ/. Outside the eight digraphs of the palatal series, ⟨y⟩ is left as the glide /j/ — vyala gives /vjala/. Because the longest spelling wins at each position, ⟨gu⟩ is taken before ⟨uu⟩ in guu, which leaves a bare ⟨u⟩ for pronounce to lengthen.

Pronunciation

pronounce supplies the allophony. The coronals t d s z n l palatalise before i, short or long; n is [ŋ] before a velar; r is [ʀ] word-initially and [ɾ] between vowels, where h is likewise [ɦ]; the short vowels lax to [ɛ ɔ ɪ ʊ ä] before two consonants or before a word-final one, a prenasalised stop counting as a single consonant, so that embaa keeps its [e]; and e weakens to [ə] after a vowel and word-finally. A voiced obstruent is then made voiceless word-finally, which reaches the stop of a final prenasalised cluster as well (kamb gives /käᵐp/). The last rules write the long vowels with the length mark, lengthen a /u/ left standing after /gʷ/, and give /gʷ/ a following /u/ before a consonant and at the end of a word. Stress is fixed on the penultimate syllable and is neither written nor marked in the output.

[ŋ] is not itself a member of [C], so a short vowel before ⟨nk⟩, ⟨nq⟩ or ⟨nx⟩ is not laxed: senta gives /sɛnta/ but senka gives /seŋka/.

Spelling Output Shows
sido /ɕido/ a coronal palatalised before i
zyerta /ʑɛrta/ a short vowel laxed in a closed syllable
arahe /aɾaɦə/ intervocalic r and h; final e
maged /magɛt/ final devoicing, the spelling keeping the voiced stem
gulda /gʷulda/ ⟨gu⟩ before a consonant
guu /gʷuː/ ⟨gu⟩ taken first, the leftover ⟨u⟩ lengthened
hayraanye /häjraːɲə/ the native name of the language

Rulesets

sets is empty, so {{auphen|word|YAR-AI|ruleset}} reports an unknown ruleset for any name given and files the page in Category:Auphen errors. The language's single noun declension is built instead by Module:MiddleAirananwe through Template:YAR-AI-decl, which assembles the forms from the spelling rather than deriving them with the engine.

Editing this page changes every estimated pronunciation in the language; the entries that call {{auphen}} serve the old output from the parser cache until they are purged. The engine's own behaviour, and where it diverges from the notation it ports, is logged at Module talk:Auphen.


-- Module:Auphen/YAR-AI -- sound data for Middle Airananwe (registry code
-- YAR-AI). Pure data, loaded by [[Module:Auphen/frame]].
--   ipacats   : IPA-scope categories used by the ruleset
--   ipa_rules : spelling -> IPA sound, digraphs first so they beat the letters
--   pronounce : the pronunciation-estimation ruleset
--   sets      : none; declension is displayed by [[Module:MiddleAirananwe]]
-- There is no /ʃ/ or /ʒ/: <sh> and <j> are not part of the orthography, their
-- work being done by <sy> and <zy>. Stress is fixed (penultimate), unwritten.
return {
  ipacats = {
    ['[V]'] = {'a','e','i','o','u','ā','ē','ī','ō','ū','ɛ','ɔ','ɪ','ʊ','ə','ä'},
    ['[C]'] = {'p','b','t','d','k','g','c','ɟ','ʦ','ʧ','f','v','β','θ','ð','s','z',
               'ɕ','ʑ','ɣ','h','m','n','ɲ','l','ʎ','r','ʀ','j','tʲ','dʲ','kʷ','gʷ',
               'kʃ','p͡ɸ','ᵐb','ⁿd','ᵑg'},
    ['[D]'] = {'b','d','g','v','z','ð','ɣ','ʑ','ɟ'},
    ['[T]'] = {'p','t','k','f','s','θ','x','ɕ','c'},
  },
  ipa_rules = [[
aa/ā
ee/ē
ii/ī
oo/ō
uu/ū
mb/ᵐb
nd/ⁿd
ng/ᵑg
bh/β
gh/ɣ
ph/p͡ɸ
th/θ
dh/ð
ch/ʧ
gu/gʷ
ty/tʲ
dy/dʲ
ny/ɲ
ly/ʎ
sy/ɕ
zy/ʑ
ky/c
gy/ɟ
a/a
b/b
c/ʦ
d/d
e/e
f/f
g/g
h/h
i/i
k/k
l/l
m/m
n/n
o/o
p/p
q/kʷ
r/r
s/s
t/t
u/u
v/v
x/kʃ
y/j
z/z
]],
  pronounce = [[
t/tʲ/_i|_ī
d/dʲ/_i|_ī
s/ɕ/_i|_ī
z/ʑ/_i|_ī
n/ɲ/_i|_ī
l/ʎ/_i|_ī
n/ŋ/_k|_g|_kʷ|_gʷ|_kʃ|_ᵑg
r/ʀ/#_
e/ɛ/_[C][C]|_[C]#
o/ɔ/_[C][C]|_[C]#
i/ɪ/_[C][C]|_[C]#
u/ʊ/_[C][C]|_[C]#
a/ä/_[C][C]|_[C]#
e/ə/[V]_|_#
r/ɾ/[V]_[V]
h/ɦ/[V]_[V]
[D]/[T]/_#
ā/aː
ē/eː
ī/iː
ō/oː
ū/uː
gʷu/gʷuː
gʷ/gʷu/_[C]|_#
]],
  sets = {},
}