Wiktionary omwiktionary https://om.wiktionary.org/wiki/Fuula_Dura MediaWiki 1.47.0-wmf.9 case-sensitive Media Special Talk User User talk Wiktionary Wiktionary talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk TimedText TimedText talk Module Module talk Event Event talk dhufuu 0 41521 81988 55777 2026-07-02T13:21:32Z EyobAbebe7 3540 /* Gochima */ 81988 wikitext text/x-wiki ==Oromoo== ===Afaaneffannoo=== {{syllables}} **{{Om-audio}} ===Gochima=== {{Om-verb}} # bakka biraatii ka'anii bakka asii ga'uu. :{{fkn}} ° (Gama sanaa ka'eetu dhufe). ===Latii Gochimaa=== {{Om-conjug|dhufuu|koottu}} {{dag}} ahf9xl1vtd5spg810mfa6tfj0krrnsu Template:Om-conjug 10 62064 81985 81982 2026-07-02T12:43:09Z EyobAbebe7 3540 /* */ 81985 wikitext text/x-wiki <includeonly>{{#invoke:Om-conjug|generate}}</includeonly><includeonly>{{#invoke:Present|generate}}</includeonly><includeonly>{{#invoke:Perf|generate}}</includeonly><includeonly>{{#invoke:Continue|generate}}</includeonly><includeonly>{{#invoke:Inten|generate}}</includeonly><includeonly>{{#invoke:Om-imp|generate}}</includeonly><noinclude> {{Documentation|content= == Fayyadama (Usage) == Template kun gochimoota Afaan Oromoo (Oromo verbs) haala yeroo garaa garaatiin (Tenses) diiguuf (conjugate) gargaara. === Haala itti fayyadamnu === Fuula gochimaa tokko irratti (fakkeenyaaf fuula "deemuu" jedhu irratti), koodii armaan gadii qofa barreessaa: <code><nowiki>{{Om-conjug}}</nowiki></code> Yookiin, fuula biraa irra teessanii gochima barbaaddan tokkoof gabatee uumuu yoo barbaaddan, maqaa gochimichaa itti dabaluun akkasitti barreessaa: <code><nowiki>{{Om-conjug|deemuu}}</nowiki></code> <code><nowiki>{{Om-conjug|word=nyaachuu}}</nowiki></code> }} </noinclude> g176zt8482u6pklwojq8859dbnd4lzm Module:Perf 828 62068 81986 81983 2026-07-02T13:06:34Z EyobAbebe7 3540 81986 Scribunto text/plain local p = {} -- =================================================== -- 1. FUNCTIONS GARGAARTUU (Helper Functions) -- =================================================== local function endsWith(str, suffix) return mw.ustring.sub(str, -mw.ustring.len(suffix)) == suffix end local function slice(str, cut) if cut == 0 then return str end return mw.ustring.sub(str, 1, -(cut + 1)) end -- =================================================== -- 2. SEERA YEROO DARBEE (Bu'uura Yeroo Raawwatamaa Ammaatiif) -- =================================================== local function get_past_forms(root) local full_rules = { {"ooch", 0, "e", "ite", "e", "ite", "ine", "itan", "an"}, {"och", 2, "dhe", "ote", "dhe", "ote", "one", "otan", "dhan"}, {"ach", 2, "dhe", "tte", "te", "tte", "nne", "ttan", "tan"}, {"eech", 0, "e", "ite", "e", "ite", "ine", "itan", "an"}, {"ech", 2, "dhe", "tte", "dhe", "tte", "nne", "ttan", "dhan"}, {"kuch", 2, "te", "tte", "te", "tte", "nne", "ttan", "tan"}, {"uch", 0, "e", "ite", "e", "ite", "ine", "itan", "an"}, {"odh", 2, "dhe", "ote", "dhe", "ote", "one", "otan", "dhan"}, {"uudh", 2, "dhe", "te", "dhe", "te", "ne", "tan", "dhan"}, {"udh", 2, "dhe", "ute", "dhe", "ute", "une", "utan", "dhan"}, {"iidh", 2, "dhe", "te", "dhe", "te", "ne", "tan", "dhan"}, {"idh", 2, "dhe", "ite", "dhe", "ite", "ine", "itan", "dhan"}, {"aadh", 2, "dhe", "te", "dhe", "te", "ne", "tan", "dhan"}, {"adh", 0, "e", "ite", "e", "ite", "ine", "itan", "an"}, {"eedh", 0, "e", "ite", "e", "ite", "ine", "itan", "an"}, {"edh", 2, "dhe", "ete", "dhe", "ete", "ene", "etan", "dhan"}, {"sh", 0, "e", "te", "e", "te", "ne", "tan", "an"}, {"ny", 0, "e", "ite", "e", "ite", "ine", "itan", "an"}, {"uuph", 0, "e", "xe", "e", "xe", "ne", "xan", "an"}, {"iph", 0, "e", "xe", "e", "xe", "ne", "xan", "an"}, {"yy", 0, "e", "ite", "e", "ite", "ine", "itan", "an"} } for _, rule in ipairs(full_rules) do if endsWith(root, rule[1]) then local base = slice(root, rule[2]) return { Ani = base .. rule[3], Ati = base .. rule[4], Inni = base .. rule[5], Isheen = base .. rule[6], Nuti = base .. rule[7], Isin = base .. rule[8], Isaan = base .. rule[9] } end end local partial_rules = { {"aaw", 3, "oofne", "oofte", "ooftan"}, {"caw", 2, "aane", "aate", "aatan"}, {"aw", 2, "oofne", "oofte", "ooftan"}, {"aay", 3, "oofne", "oofte", "ooftan"}, {"aah", 3, "oofne", "oofte", "ooftan"}, {"ooh", 3, "oone", "oote", "ootan"}, {"ah", 1, "ane", "ate", "atan"}, {"udha'", 1, "ane", "ate", "atan"}, {"aacha'", 2, "ofne", "ofte", "oftan"}, {"ooba'", 2, "ofne", "ofte", "oftan"}, {"dha'", 2, "oofne", "oofte", "ooftan"}, {"msha'", 2, "oofne", "oofte", "ooftan"}, {"iishaa'", 3, "ofne", "ofte", "oftan"}, {"ishaa'", 3, "oofne", "oofte", "ooftan"}, {"uushaa'", 3, "ofne", "ofte", "oftan"}, {"ushaa'", 3, "oofne", "oofte", "ooftan"}, {"uu'", 2, "une", "ute", "utan"}, {"u'", 1, "une", "ute", "utan"}, {"aari'", 1, "ne", "te", "tan"}, {"ooji'", 1, "ne", "te", "tan"}, {"i'", 1, "ine", "ite", "itan"}, {"aafa'", 2, "ofne", "ofte", "oftan"}, {"uufa'", 2, "ofne", "ofte", "oftan"}, {"uusa'", 2, "ofne", "ofte", "oftan"}, {"saasa'", 1, "ane", "ate", "atan"}, {"aassa'", 2, "ofne", "ofte", "oftan"}, {"eessa'", 2, "ofne", "ofte", "oftan"}, {"aasa'", 2, "ofne", "ofte", "oftan"}, {"akaa'", 3, "oofne", "oofte", "ooftan"}, {"naa'", 3, "oofne", "oofte", "ooftan"}, {"ana'", 3, "nofne", "nofte", "noftan"}, {"nna'", 3, "nofne", "nofte", "noftan"}, {"aara'", 2, "ofne", "ofte", "oftan"}, {"bja'", 2, "oofne", "oofte", "ooftan"}, {"jja'", 2, "ofne", "ofte", "oftan"}, {"oonja'", 2, "ofne", "ofte", "oftan"}, {"aaja'", 2, "ofne", "ofte", "oftan"}, {"ooja'", 2, "ofne", "ofte", "oftan"}, {"eeja'", 2, "ofne", "ofte", "oftan"}, {"ucca'", 2, "ofne", "ofte", "oftan"}, {"aanca'", 2, "ofne", "ofte", "oftan"}, {"aanxa'", 2, "ofne", "ofte", "oftan"}, {"aaxa'", 2, "ofne", "ofte", "oftan"}, {"eexa'", 2, "ofne", "ofte", "oftan"}, {"iixa'", 2, "ofne", "ofte", "oftan"}, {"ooxa'", 2, "ofne", "ofte", "oftan"}, {"uuxa'", 2, "ofne", "ofte", "oftan"}, {"uura'", 2, "ofne", "ofte", "oftan"}, {"eela'", 2, "ofne", "ofte", "oftan"}, {"kaakka'", 1, "ane", "ate", "atan"}, {"uuka'", 2, "ofne", "ofte", "oftan"}, {"okka'", 1, "ane", "ate", "atan"}, {"kkaa'", 3, "oofne", "oofte", "ooftan"}, {"ukaa'", 3, "oofne", "oofte", "ooftan"}, {"kaa'", 3, "eenye", "eesse", "eessan"}, {"ottaa'", 3, "oofne", "oofte", "ooftan"}, {"aadda'", 2, "ofne", "ofte", "oftan"}, {"dda'", 1, "ane", "ate", "atan"}, {"ooda'", 2, "ofne", "ofte", "oftan"}, {"eda'", 1, "ane", "ate", "atan"}, {"ida'", 1, "ane", "ate", "atan"}, {"da'", 2, "eenye", "eesse", "eessan"}, {"mtaa'", 3, "oofne", "oofte", "ooftan"}, {"taa'", 3, "eenye", "eesse", "eessan"}, {"nga'", 2, "ofne", "ofte", "oftan"}, {"maaga'", 2, "ofne", "ofte", "oftan"}, {"oga'", 2, "ofne", "ofte", "oftan"}, {"aanga'", 2, "ofne", "ofte", "oftan"}, {"anga'", 1, "ane", "ate", "atan"}, {"rga'", 1, "ane", "ate", "atan"}, {"alga'", 2, "eenye", "eesse", "eessan"}, {"lga'", 1, "ane", "ate", "atan"}, {"enga'", 1, "ane", "ate", "atan"}, {"dhaga'", 2, "eenye", "eesse", "eessan"}, {"eega'", 2, "ane", "ate", "atan"}, {"aga'", 1, "ane", "ate", "atan"}, {"gga'", 1, "ane", "ate", "atan"}, {"ga'", 2, "eenye", "eesse", "eessan"}, {"omma'", 2, "ane", "ate", "atan"}, {"mma'", 2, "ofne", "ofte", "oftan"}, {"uma'", 2, "oofne", "oofte", "ooftan"}, {"aarra'", 2, "ofne", "ofte", "oftan"}, {"aata'", 2, "ofne", "ofte", "oftan"}, {"iita'", 2, "ofne", "ofte", "oftan"}, {"uqqa'", 1, "ane", "ate", "atan"}, {"qa'", 2, "ofne", "ofte", "oftan"}, {"yaa'", 2, "ane", "ate", "atan"}, {"ooyya'", 2, "oofne", "oofte", "ooftan"}, {"aa'", 3, "oofne", "oofte", "ooftan"}, {"a'", 1, "ane", "ate", "atan"}, {"boo'", 1, "nye", "sse", "ssan"}, {"oo'", 1, "ne", "te", "tan"}, {"o'", 1, "one", "ote", "otan"} } local nuti, ati, ishee, isin local matched = false if mw.ustring.match(root, "[bcdfghjklmnpqrstvwxz][bcdfghjklmnpqrstvwxz]$") then nuti = root .. "ine"; ati = root .. "ite"; ishee = root .. "ite"; isin = root .. "itan" matched = true end if not matched then for _, rule in ipairs(partial_rules) do if endsWith(root, rule[1]) then local base = slice(root, rule[2]) nuti = base .. rule[3]; ati = base .. rule[4]; ishee = base .. rule[4]; isin = base .. rule[5] matched = true break end end end if not matched then if endsWith(root, "d") then nuti = slice(root, 1) .. "nne"; ati = root .. "de"; ishee = root .. "de"; isin = root .. "dan"; matched = true elseif endsWith(root, "l") then nuti = root .. "le"; ati = root .. "te"; ishee = root .. "te"; isin = root .. "tan"; matched = true elseif endsWith(root, "b") then nuti = root .. "ne"; ati = root .. "de"; ishee = root .. "de"; isin = root .. "dan"; matched = true elseif endsWith(root, "c") then nuti = root .. "ne"; ati = root .. "ce"; ishee = root .. "ce"; isin = root .. "can"; matched = true elseif endsWith(root, "g") then nuti = root .. "ne"; ati = root .. "de"; ishee = root .. "de"; isin = root .. "dan"; matched = true elseif endsWith(root, "n") then nuti = slice(root, 1) .. "nne"; ati = root .. "te"; ishee = root .. "te"; isin = root .. "tan"; matched = true elseif endsWith(root, "m") then nuti = slice(root, 1) .. "mne"; ati = root .. "te"; ishee = root .. "te"; isin = root .. "tan"; matched = true elseif endsWith(root, "j") then nuti = root .. "ne"; ati = root .. "je"; ishee = root .. "je"; isin = root .. "jan"; matched = true elseif endsWith(root, "q") then nuti = root .. "ne"; ati = root .. "xe"; ishee = root .. "xe"; isin = root .. "xan"; matched = true elseif endsWith(root, "r") then nuti = root .. "re"; ati = root .. "te"; ishee = root .. "te"; isin = root .. "tan"; matched = true elseif endsWith(root, "x") then nuti = root .. "ne"; ati = root .. "xe"; ishee = root .. "xe"; isin = root .. "xan"; matched = true end end if not matched then nuti = root .. "ne"; ati = root .. "te"; ishee = root .. "te"; isin = root .. "tan" end return { Ani = root .. "e", Ati = ati, Inni = root .. "e", Isheen = ishee, Nuti = nuti, Isin = isin, Isaan = root .. "an" } end -- =================================================== -- 3. SEERA YEROO RAAWWATAMAA AMMAA (Present Perfect) -- =================================================== local function get_present_perfect_forms(past_forms) local aff = {} local neg = {} -- Eeyyamaa (Affirmative): Xumura jechoota yeroo darbee irratti jijjiirama gochuu aff.Ani = mw.ustring.sub(past_forms.Ani, 1, -2) .. "eera" aff.Ati = mw.ustring.sub(past_forms.Ati, 1, -2) .. "eetta" aff.Inni = mw.ustring.sub(past_forms.Inni, 1, -2) .. "eera" aff.Isheen = mw.ustring.sub(past_forms.Isheen, 1, -2) .. "eetti" aff.Nuti = mw.ustring.sub(past_forms.Nuti, 1, -2) .. "eerra" -- Isin fi Isaan xumura 'an' qabu. 'an' haquun bakka buusna: aff.Isin = mw.ustring.sub(past_forms.Isin, 1, -3) .. "aniittu" aff.Isaan = mw.ustring.sub(past_forms.Isaan, 1, -3) .. "aniiru" -- Diigamaa (Negative): Yeroo hunda 'hin' + xumura bumbaa maqaa "Nuti" local neg_word = past_forms.Nuti neg.Ani = neg_word neg.Ati = neg_word neg.Inni = neg_word neg.Isheen = neg_word neg.Nuti = neg_word neg.Isin = neg_word neg.Isaan = neg_word return aff, neg end -- =================================================== -- 4. KUTAA MOOJULII WAAMAMU (Main Generate Function) -- =================================================== function p.generate(frame) local args = frame.args if frame:getParent() then args = frame:getParent().args end local verb = args[1] or args.word if not verb or mw.text.trim(verb) == "" then verb = mw.title.getCurrentTitle().text end verb = mw.ustring.lower(mw.text.trim(verb)) local root = verb if endsWith(verb, "uu") then root = mw.ustring.sub(verb, 1, -3) end local past_forms = get_past_forms(root) local perf_aff, perf_neg = get_present_perfect_forms(past_forms) local pronouns = {"Ani", "Ati", "Inni", "Isheen", "Nuti", "Isin", "Isaan"} -- GABATEE YEROO RAAWWATAMAA AMMAA local html = "{| class=\"wikitable\" style=\"text-align:center;\"\n" html = html .. "|+ '''Yeroo Raawwatamaa Ammaa (Present Perfect Tense): [[" .. verb .. "]]'''\n" html = html .. "! Bumbaa Maqaa !! Eeyyamaa (Affirmative) !! Diigamaa (Negative)\n" for _, p_name in ipairs(pronouns) do local aff_link = "[[" .. perf_aff[p_name] .. "]]" local neg_link = "[[hin]] [[" .. perf_neg[p_name] .. "]]" html = html .. "|-\n! " .. p_name .. "\n| " .. aff_link .. " || " .. neg_link .. "\n" end html = html .. "|}" return html end return p s867zl18u6ggewc5nsmtbc3xkwi6spy Module:Continue 828 62071 81987 81981 2026-07-02T13:10:50Z EyobAbebe7 3540 81987 Scribunto text/plain local p = {} -- =================================================== -- 1. FUNCTIONS GARGAARTUU (Helper Functions) -- =================================================== local function endsWith(str, suffix) return mw.ustring.sub(str, -mw.ustring.len(suffix)) == suffix end -- =================================================== -- 2. KUTAA MOOJULII WAAMAMU (Main Generate Function) -- =================================================== function p.generate(frame) local args = frame.args if frame:getParent() then args = frame:getParent().args end local verb = args[1] or args.word if not verb or mw.text.trim(verb) == "" then verb = mw.title.getCurrentTitle().text end verb = mw.ustring.lower(mw.text.trim(verb)) -- Hundee gochimaa (root) baasuu: 'uu' dhumaa irraa haquu local root = verb if endsWith(verb, "uu") then root = mw.ustring.sub(verb, 1, -3) end -- Bifa itti fufiinsaa uumuu local cont_base_aa = root .. "aa" -- Fkn: deemaa (Kaan hundaaf) local cont_base_aan = root .. "aan" -- Fkn: deemaan (Ani qofaaf - eeyyamaa irratti) -- Gargaaraa Gochimaa (Auxiliary Verbs): Eeyyamaa local aux_aff = { Ani = "jira", Ati = "jirta", Inni = "jira", Isheen = "jirti", Nuti = "jirra", Isin = "jirtu", Isaan = "jiru" } -- Gargaaraa Gochimaa (Auxiliary Verbs): Diigamaa local aux_neg = { Ani = "jiru", Ati = "jirtu", Inni = "jiru", Isheen = "jirtu", Nuti = "jirru", Isin = "jirtan", Isaan = "jiran" } local pronouns = {"Ani", "Ati", "Inni", "Isheen", "Nuti", "Isin", "Isaan"} -- GABATEE YEROO AMMAA ITTI FUFAA (Present Continuous) local html = "{| class=\"wikitable\" style=\"text-align:center;\"\n" html = html .. "|+ '''Yeroo Ammaa Itti Fufaa (Present Continuous): [[" .. verb .. "]]'''\n" html = html .. "! Bumbaa Maqaa !! Eeyyamaa (Affirmative) !! Diigamaa (Negative)\n" for _, p_name in ipairs(pronouns) do -- Eeyyamaa irratti 'Ani' qofaaf "-aan", warreen biroof "-aa" fayyadamuu local current_aff_base = cont_base_aa if p_name == "Ani" then current_aff_base = cont_base_aan end -- Eeyyamaa: Fkn: [[deemaan]] [[jira]] YKN [[deemaa]] [[jirta]] local aff_link = "[[" .. current_aff_base .. "]] [[" .. aux_aff[p_name] .. "]]" -- Diigamaa: Fkn: [[deemaa]] [[hin]] [[jiru]] (Hundaafuu "-aa" dhaan) local neg_link = "[[" .. cont_base_aa .. "]] [[hin]] [[" .. aux_neg[p_name] .. "]]" html = html .. "|-\n! " .. p_name .. "\n| " .. aff_link .. " || " .. neg_link .. "\n" end html = html .. "|}" return html end return p b9s7ky07fk2s54vq46u4krh66lnpl2y Module:Inten 828 62072 81984 2026-07-02T12:39:11Z EyobAbebe7 3540 Created page with "local p = {} -- =================================================== -- 1. FUNCTIONS GARGAARTUU (Helper Functions) -- =================================================== local function endsWith(str, suffix) return mw.ustring.sub(str, -mw.ustring.len(suffix)) == suffix end -- =================================================== -- 2. KUTAA MOOJULII WAAMAMU (Main Generate Function) -- =================================================== function p.generate(frame) lo..." 81984 Scribunto text/plain local p = {} -- =================================================== -- 1. FUNCTIONS GARGAARTUU (Helper Functions) -- =================================================== local function endsWith(str, suffix) return mw.ustring.sub(str, -mw.ustring.len(suffix)) == suffix end -- =================================================== -- 2. KUTAA MOOJULII WAAMAMU (Main Generate Function) -- =================================================== function p.generate(frame) local args = frame.args if frame:getParent() then args = frame:getParent().args end local verb = args[1] or args.word if not verb or mw.text.trim(verb) == "" then verb = mw.title.getCurrentTitle().text end verb = mw.ustring.lower(mw.text.trim(verb)) -- Bu'uura gochimaa bifa raawwii (infinitive) ta'uu mirkaneessuu local infinitive = verb if not endsWith(verb, "uu") then infinitive = verb .. "uu" end -- Bifa karooraa uumuu (Fkn: deemuu + f = deemuuf) local int_base_uuf = infinitive .. "f" -- Kaan hundaaf (Fkn: deemuuf) local int_base_uufan = infinitive .. "fan" -- Ani qofaaf (Fkn: deemuufan) -- Gargaaraa Gochimaa (Auxiliary Verbs): Eeyyamaa local aux_aff = { Ani = "jira", Ati = "jirta", Inni = "jira", Isheen = "jirti", Nuti = "jirra", Isin = "jirtu", Isaan = "jiru" } -- Gargaaraa Gochimaa (Auxiliary Verbs): Diigamaa local aux_neg = { Ani = "jiru", Ati = "jirtu", Inni = "jiru", Isheen = "jirtu", Nuti = "jirru", Isin = "jirtan", Isaan = "jiran" } local pronouns = {"Ani", "Ati", "Inni", "Isheen", "Nuti", "Isin", "Isaan"} -- GABATEE KUTAA KAROORA FUULDURAA (Intentional Future) local html = "{| class=\"wikitable\" style=\"text-align:center;\"\n" html = html .. "|+ '''Kutaa Karoora Fuulduraa (Intentional Future Aspect): [[" .. verb .. "]]'''\n" html = html .. "! Bumbaa Maqaa !! Eeyyamaa (Affirmative) !! Diigamaa (Negative)\n" for _, p_name in ipairs(pronouns) do -- Eeyyamaa irratti 'Ani' qofaaf "-uufan", warreen biroof "-uuf" fayyadamuu local current_aff_base = int_base_uuf if p_name == "Ani" then current_aff_base = int_base_uufan end -- Eeyyamaa: Fkn: [[deemuufan]] [[jira]] YKN [[deemuuf]] [[jirta]] local aff_link = "[[" .. current_aff_base .. "]] [[" .. aux_aff[p_name] .. "]]" -- Diigamaa: Fkn: [[deemuuf]] [[hin]] [[jiru]] (Hundaafuu "-uuf" dhaan) local neg_link = "[[" .. int_base_uuf .. "]] [[hin]] [[" .. aux_neg[p_name] .. "]]" html = html .. "|-\n! " .. p_name .. "\n| " .. aff_link .. " || " .. neg_link .. "\n" end html = html .. "|}" return html end return p j5vxxyyp1vngdc6x5hpfxoxxuu9te3g