local p = {}
function p.salam(frame)
do
local t = {}
-- perfect conjugations ገበረ
t[1] = string.format("mə %s %sa %s", frame.args[1], frame.args[2], frame.args[3])
t[2] = string.format("%sä %sä %s ku",frame.args[1], frame.args[2], frame.args[3])
t[3] = string.format("%sä %sä %s na",frame.args[1], frame.args[2], frame.args[3])
t[4] = string.format("%sä %sä %s ka",frame.args[1], frame.args[2], frame.args[3])
t[5] = string.format("%sä %sä %s kum",frame.args[1], frame.args[2], frame.args[3])
t[6] = string.format("%sä %sä %s ki",frame.args[1], frame.args[2], frame.args[3])
t[7] = string.format("%sä %sä %s kən",frame.args[1], frame.args[2], frame.args[3])
t[8] = string.format("%sä %sä %sä",frame.args[1], frame.args[2], frame.args[3])
t[9] = string.format("%sä %sä %su",frame.args[1], frame.args[2], frame.args[3])
t[10] = string.format("%sä %sä %sä t",frame.args[1], frame.args[2], frame.args[3])
t[11] = string.format("%sä %sä %sa",frame.args[1], frame.args[2], frame.args[3])
--gerundive conjugations ገቢሩ
t[12] = string.format("%sä %si %sä",frame.args[1], frame.args[2], frame.args[3])
t[13] = string.format("%sä %si %s na",frame.args[1], frame.args[2], frame.args[3])
t[14] = string.format("%sä %si %s ka",frame.args[1], frame.args[2], frame.args[3])
t[15] = string.format("%sä %si %s kum",frame.args[1], frame.args[2], frame.args[3])
t[16] = string.format("%sä %si %s ki",frame.args[1], frame.args[2], frame.args[3])
t[17] = string.format("%sä %si %s kən",frame.args[1], frame.args[2], frame.args[3])
t[18] = string.format("%sä %si %su",frame.args[1], frame.args[2], frame.args[3])
t[19] = string.format("%sä %si %som",frame.args[1], frame.args[2], frame.args[3])
t[20] = string.format("%sä %si %sa",frame.args[1], frame.args[2], frame.args[3])
t[21] = string.format("%sä %si %sän",frame.args[1], frame.args[2], frame.args[3])
--imperfect conjugations ይገብር
t[22] = string.format("ʾə %sä %s %sə %s",frame.args[1], frame.args[2], frame.args[2], frame.args[3])
t[23] = string.format("nə %sä %s %sə %s",frame.args[1], frame.args[2], frame.args[2], frame.args[3])
t[24] = string.format("tə %sä %s %sə %s",frame.args[1], frame.args[2], frame.args[2], frame.args[3])
t[25] = string.format("tə %sä %s %su",frame.args[1], frame.args[2], frame.args[3])
t[26] = string.format("tə %sä %s %si",frame.args[1], frame.args[2], frame.args[3])
t[27] = string.format("tə %sä %s %sa",frame.args[1], frame.args[2], frame.args[3])
t[28] = string.format("yə %sä %s %sə %s",frame.args[1], frame.args[2], frame.args[2], frame.args[3])
t[29] = string.format("yə %sä %s %su",frame.args[1], frame.args[2], frame.args[3])
t[30] = string.format("tə %sä %s %sə %s",frame.args[1], frame.args[2], frame.args[2], frame.args[3])
t[31] = string.format("yə %sä %s %sa",frame.args[1], frame.args[2], frame.args[3])
--jussive conjugations ይግበር
t[32] = string.format("ʾə %s %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[33] = string.format("nə %s %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[34] = string.format("tə %s %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[35] = string.format("tə %s %sä %su", frame.args[1], frame.args[2], frame.args[3])
t[36] = string.format("tə %s %sä %si", frame.args[1], frame.args[2], frame.args[3])
t[37] = string.format("tə %s %sä %sa", frame.args[1], frame.args[2], frame.args[3])
t[38] = string.format("yə %s %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[39] = string.format("yə %s %sä %su", frame.args[1], frame.args[2], frame.args[3])
t[40] = string.format("tə %s %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[41] = string.format("yə %s %sä %sa", frame.args[1], frame.args[2], frame.args[3])
--affirmative command conjugations ግበር
t[42] = string.format("%sə %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[43] = string.format("%sə %sä %su", frame.args[1], frame.args[2], frame.args[3])
t[44] = string.format("%sə %sä %si", frame.args[1], frame.args[2], frame.args[3])
t[45] = string.format("%sə %sä %sa", frame.args[1], frame.args[2], frame.args[3])
--negative command conjugations
t[46] = string.format("ʾa y tə %s %sä %s", frame.args[1], frame.args[2], frame.args[3])
t[47] = string.format("ʾa y tə %s %sä %su", frame.args[1], frame.args[2], frame.args[3])
t[48] = string.format("ʾa y tə %s %sä %si", frame.args[1], frame.args[2], frame.args[3])
t[49] = string.format("ʾa y tə %s %sä %sa", frame.args[1], frame.args[2], frame.args[3])
--t[22] = mw.ustring.gsub(t[22], "(%bbb)", function(a) return mw.ustring.sub(a,1,1) end)
local tm = {}
for var=1,49,1 do
tm[var] = mw.ustring.gsub(t[var], "(%bhh)", function(a) return mw.ustring.sub(a,1,1) end) --not actually used, doesn't double
tm[var] = mw.ustring.gsub(tm[var], "(%bll)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bḥḥ)", function(a) return mw.ustring.sub(a,1,1) end) --not used, the other letters that don't double won't appear
tm[var] = mw.ustring.gsub(tm[var], "(%bss)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bšš)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bḳḳ)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bbb)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%btt)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bnn)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bkk)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bxx)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bww)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bzz)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%byy)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bdd)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bǧǧ)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bgg)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bṭṭ)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bčč)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bṣṣ)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bff)", function(a) return mw.ustring.sub(a,1,1) end)
tm[var] = mw.ustring.gsub(tm[var], "(%bḳʰ)", function(a) return mw.ustring.sub(a,1,2) end)
end
-- consonant characters that hypothetically double in verbs: hlḥsšḳʰbtnʾkxwʿzydǧgṭčṣf
local rtr = {
["hä"]="ሀ", ["hu"]="ሁ", ["hi"]="ሂ", ["ha"]="ሃ", ["he"]="ሄ", ["hə"]="ህ", ["ho"]="ሆ", ["h"]="ህ",
["lä"]="ለ", ["lu"]="ሉ", ["li"]="ሊ", ["la"]="ላ", ["le"]="ሌ", ["lə"]="ል", ["lo"]="ሎ",
["lʷa"]="ሏ", ["l"]="ል",
["ḥä"]="ሐ", ["ḥu"]="ሑ", ["ḥi"]="ሒ", ["ḥa"]="ሓ", ["ḥe"]="ሔ", ["ḥə"]="ሕ", ["ḥo"]="ሖ",
["ḥʷa"]="ሗ", ["ḥ"]="ሕ",
["mä"]="መ", ["mu"]="ሙ", ["mi"]="ሚ", ["ma"]="ማ", ["me"]="ሜ", ["mə"]="ም", ["mo"]="ሞ",
["mʷa"]="ሟ", ["mʲä"]="ፙ",
["rä"]="ረ", ["ru"]="ሩ", ["ri"]="ሪ", ["ra"]="ራ", ["re"]="ሬ", ["rə"]="ር", ["ro"]="ሮ",
["rʷa"]="ሯ", ["rʲä"]="ፘ",
["sä"]="ሰ", ["su"]="ሱ", ["si"]="ሲ", ["sa"]="ሳ", ["se"]="ሴ", ["sə"]="ስ", ["so"]="ሶ",
["sʷa"]="ሷ",
["šä"]="ሸ", ["šu"]="ሹ", ["ši"]="ሺ", ["ša"]="ሻ", ["še"]="ሼ", ["šə"]="ሽ", ["šo"]="ሾ",
["šʷa"]="ሿ",
["ḳä"]="ቀ", ["ḳu"]="ቁ", ["ḳi"]="ቂ", ["ḳa"]="ቃ", ["ḳe"]="ቄ", ["ḳə"]="ቅ", ["ḳo"]="ቆ",
["ḳʷä"]="ቈ", ["ḳʷi"]="ቊ", ["ḳʷa"]="ቋ", ["ḳʷe"]="ቌ", ["ḳʷə"]="ቍ",
["ḳʰä"]="ቐ", ["ḳʰu"]="ቑ", ["ḳʰi"]="ቒ", ["ḳʰa"]="ቓ", ["ḳʰe"]="ቔ", ["ḳʰə"]="ቕ", ["ḳʰo"]="ቖ",
["ḳʰʷä"]="ቘ", ["ḳʰʷi"]="ቚ", ["ḳʰʷa"]="ቛ", ["ḳʰʷe"]="ቜ", ["ḳʰʷə"]="ቝ",
["bä"]="በ", ["bu"]="ቡ", ["bi"]="ቢ", ["ba"]="ባ", ["be"]="ቤ", ["bə"]="ብ", ["bo"]="ቦ",
["bʷa"]="ቧ",
["tä"]="ተ", ["tu"]="ቱ", ["ti"]="ቲ", ["ta"]="ታ", ["te"]="ቴ", ["tə"]="ት", ["to"]="ቶ",
["tʷa"]="ቷ",
["nä"]="ነ", ["nu"]="ኑ", ["ni"]="ኒ", ["na"]="ና", ["ne"]="ኔ", ["nə"]="ን", ["no"]="ኖ",
["nʷa"]="ኗ",
["ʾä"]="አ", ["ʾu"]="ኡ", ["ʾi"]="ኢ", ["ʾa"]="ኣ", ["ʾe"]="ኤ", ["ʾə"]="እ", ["ʾo"]="ኦ",
["kä"]="ከ", ["ku"]="ኩ", ["ki"]="ኪ", ["ka"]="ካ", ["ke"]="ኬ", ["kə"]="ክ", ["ko"]="ኮ",
["kʷä"]="ኰ", ["kʷi"]="ኲ", ["kʷa"]="ኳ", ["kʷe"]="ኴ", ["kʷə"]="ኵ",
["xä"]="ኸ", ["xu"]="ኹ", ["xi"]="ኺ", ["xa"]="ኻ", ["xe"]="ኼ", ["xə"]="ኽ", ["xo"]="ኾ", ["xʷə"]="ዅ",
["wä"]="ወ", ["wu"]="ዉ", ["wi"]="ዊ", ["wa"]="ዋ", ["we"]="ዌ", ["wə"]="ው", ["wo"]="ዎ",
["ʿä"]="ዐ", ["ʿu"]="ዑ", ["ʿi"]="ዒ", ["ʿa"]="ዓ", ["ʿe"]="ዔ", ["ʿə"]="ዕ", ["ʿo"]="ዖ",
["zä"]="ዘ", ["zu"]="ዙ", ["zi"]="ዚ", ["za"]="ዛ", ["ze"]="ዜ", ["zə"]="ዝ", ["zo"]="ዞ",
["zʷa"]="ዟ",
["yä"]="የ", ["yu"]="ዩ", ["yi"]="ዪ", ["ya"]="ያ", ["ye"]="ዬ", ["yə"]="ይ", ["yo"]="ዮ",
["dä"]="ደ", ["du"]="ዱ", ["di"]="ዲ", ["da"]="ዳ", ["de"]="ዴ", ["də"]="ድ", ["do"]="ዶ",
["dʷa"]="ዷ",
["ǧä"]="ጀ", ["ǧu"]="ጁ", ["ǧi"]="ጂ", ["ǧa"]="ጃ", ["ǧe"]="ጄ", ["ǧə"]="ጅ", ["ǧo"]="ጆ",
["ǧʷa"]="ጇ",
["gä"]="ገ", ["gu"]="ጉ", ["gi"]="ጊ", ["ga"]="ጋ", ["ge"]="ጌ", ["gə"]="ግ", ["go"]="ጎ",
["gʷä"]="ጐ", ["gʷi"]="ጒ", ["gʷa"]="ጓ", ["gʷe"]="ጔ", ["gʷə"]="ጕ",
["ṭä"]="ጠ", ["ṭu"]="ጡ", ["ṭi"]="ጢ", ["ṭa"]="ጣ", ["ṭe"]="ጤ", ["ṭə"]="ጥ", ["ṭo"]="ጦ",
["ṭʷa"]="ጧ",
["č̣ä"]="ጨ", ["č̣u"]="ጩ", ["č̣i"]="ጪ", ["č̣a"]="ጫ", ["č̣e"]="ጬ", ["č̣ə"]="ጭ", ["č̣o"]="ጮ",
["č̣ʷa"]="ጯ",
["ṣä"]="ጸ", ["ṣu"]="ጹ", ["ṣi"]="ጺ", ["ṣa"]="ጻ", ["ṣe"]="ጼ", ["ṣə"]="ጽ", ["ṣo"]="ጾ",
["ṣʷa"]="ጿ",
["fä"]="ፈ", ["fu"]="ፉ", ["fi"]="ፊ", ["fa"]="ፋ", ["fe"]="ፌ", ["fə"]="ፍ", ["fo"]="ፎ",
["fʷa"]="ፏ", ["fʲä"]="ፚ", ["m"]="ም" , ["r"]="ር", ["s"]="ስ", ["š"]="ሽ",["ḳ"]="ቅ", ["ḳʰ"]="ቕ",
["b"]="ብ", ["t"]="ት", ["n"]="ን", ["ʾ"]="እ", ["k"]="ክ", ["x"]="ኽ", ["w"]="", ["ʿ"]="ዕ", ["z"]="ዝ",
["y"]="ይ", ["d"]="ድ", ["ǧ"]="ጅ", ["g"]="ግ", ["ṭ"]="ጥ", ["č̣"]="ጭ", ["ṣ"]="ጽ", ["f"]="ፍ",
}
local tf = {}
for var=1,49,1 do
tf[var] = mw.ustring.gsub(tm[var], "%a%a", rtr)
tf[var] = mw.ustring.gsub(tf[var],"." , rtr)
tf[var] = mw.ustring.gsub(tf[var], "%s+", "")
t[var] = mw.ustring.gsub(t[var], "%s+","")
end
return string.format("| infinitive = %s\n",tf[1]),
string.format("| perfect_1s = %s\n",tf[2]),
string.format("| perfect_1p = %s\n",tf[3]),
string.format("| perfect_2sm = %s\n",tf[4]),
string.format("| perfect_2pm = %s\n",tf[5]),
string.format("| perfect_2sf = %s\n",tf[6]),
string.format("| perfect_2pf = %s\n",tf[7]),
string.format("| perfect_3sm = %s\n",tf[8]),
string.format("| perfect_3pm = %s\n",tf[9]),
string.format("| perfect_3sf = %s\n",tf[10]),
string.format("| perfect_3pf = %s\n",tf[11]),
string.format("| gerundive_1s = %s\n",tf[12]),
string.format("| gerundive_1p = %s\n",tf[13]),
string.format("| gerundive_2sm = %s\n",tf[14]),
string.format("| gerundive_2pm = %s\n",tf[15]),
string.format("| gerundive_2sf = %s\n",tf[16]),
string.format("| gerundive_2pf = %s\n",tf[17]),
string.format("| gerundive_3sm = %s\n",tf[18]),
string.format("| gerundive_3pm = %s\n",tf[19]),
string.format("| gerundive_3sf = %s\n",tf[20]),
string.format("| gerundive_3pf = %s\n",tf[21]),
string.format("| imperfect_1s = %s\n",tf[22]),
string.format("| imperfect_1p = %s\n",tf[23]),
string.format("| imperfect_2sm = %s\n",tf[24]),
string.format("| imperfect_2pm = %s\n",tf[25]),
string.format("| imperfect_2sf = %s\n",tf[26]),
string.format("| imperfect_2pf = %s\n",tf[27]),
string.format("| imperfect_3sm = %s\n",tf[28]),
string.format("| imperfect_3pm = %s\n",tf[29]),
string.format("| imperfect_3sf = %s\n",tf[30]),
string.format("| imperfect_3pf = %s\n",tf[31]),
string.format("| jussive_1s = %s\n",tf[32]),
string.format("| jussive_1p = %s\n",tf[33]),
string.format("| jussive_2sm = %s\n",tf[34]),
string.format("| jussive_2pm = %s\n",tf[35]),
string.format("| jussive_2sf = %s\n",tf[36]),
string.format("| jussive_2pf = %s\n",tf[37]),
string.format("| jussive_3sm = %s\n",tf[38]),
string.format("| jussive_3pm = %s\n",tf[39]),
string.format("| jussive_3sf = %s\n",tf[40]),
string.format("| jussive_3pf = %s\n",tf[41]),
string.format("| imperative_2sm = %s\n",tf[42]),
string.format("| imperative_2pm = %s\n",tf[43]),
string.format("| imperative_2sf = %s\n",tf[44]),
string.format("| imperative_2pf = %s\n",tf[45]),
string.format("| imperative_2smN = %s\n",tf[46]),
string.format("| imperative_2pmN = %s\n",tf[47]),
string.format("| imperative_2sfN = %s\n",tf[48]),
string.format("| imperative_2pfN = %s\n",tf[49])
end
end
return p