text:
Module:he-verb

--[=[

TODO: - Implement support for hollow roots in nif`al. - Implement support for geminate roots in pa`al and nif`al. - Implement smarter ktiv male spellings. - Implement support for mixed binyanim (such as for ניגש and יכול). - Implement support for alternative forms.

Reference:

Input parameters: 1: binyan abbreviation p: first root letter a: second root letter l: third root letter

Root letters may be prefixed with ':' to include them literally, in which case they will not be   parsed as hollow or weak and no dageshes will be added to or removed from them. Any of the final form codes or intermediate data below can also be given explicitly in the input.

Binyan abbreviations: pa: pa`al pi: pi`el po: po`el/polel pu: pu`al poal: po`al/polal hif: hif`il huf: huf`al nif: nif`al hit: hitpa`el hitpo: hitpo`el/hitpolel hitpu: hitpu`al *rare modern coinage

Tense abbreviations: inf: to-infinitive imp: imperative fut: future (a.k.a. imperfect or prefix conjugation) pres: present (a.k.a. active participle) past: past (a.k.a. perfect or suffix conjugation) noun: action noun pp: passive participle

Gender abbreviations: s: singular *first person only p: plural *first person only ms: masculine singular fs: feminine singular mp: masculine plural fp: feminine plural

Person abbreviations: 1: first person 2: second person 3: third person

Exhaustive list of final form codes:

inf noun *optional pp *optional

imp_ms imp_fs imp_mp imp_fp *obsolete

fut_1s fut_2ms *always equal to fut_3fs fut_2fs fut_3ms fut_3fs *always equal to fut_2ms fut_1p fut_2mp fut_2fp *obsolete and always equal to fut_3fp fut_3mp fut_3fp *obsolete and always equal to fut_2fp

past_1s past_2ms past_2fs past_3ms past_3fs past_1p past_2mp past_2fp past_3mp past_3fp *obsolete before Biblical Hebrew, therefore equal to past_3mp

pres_ms pres_fs pres_mp pres_fp

Intermediate data:

root_p root_a root_l

gem *whether to treat as geminate

imp_pre_stem imp_prs_stem imp_mid_stem imp_fin_stem imp_suf_stem imp_ffp_stem

fut_gem fut_char *characteristic vowel [a,i,u], pa`al only (default: u)       fut_pre_stem fut_prs_stem fut_1sp_stem fut_mid_stem fut_fin_stem fut_suf_stem fut_ffp_stem

pres_gem pres_short *if not empty, use the pa`el-present, pa`al only pres_stem

past_gem past_char *characteristic vowel [a,i,u], pa`al only (default: a)       past_pre_stem past_2p_pre_stem past_stem past_3_stem past_3ms_stem past_3fs_stem past_2p_stem

]=]

local m_utilities = require("Module:utilities") local m_links = require("Module:links") local m_strutils = require("Module:string utilities")

local export = {} local get_stems_for = {}

local lang = require("Module:languages").getByCode("he")

local convert_root_char = { ["א"] = "א", ["ב"] = "ב", ["בּ"] = "בּ", -- always hard ["בֿ"] = "בֿ", -- always soft ["ג"] = "ג", ["גּ"] = "גּ", -- always hard ["גֿ"] = "גֿ", -- always soft ["ד"] = "ד", ["דּ"] = "דּ", -- always hard ["דֿ"] = "דֿ", -- always soft ["ה"] = "ה", ["ו"] = "ו", ["ז"] = "ז", ["ח"] = "ח", ["ט"] = "ט", ["י"] = "י", ["כ"] = "כ", ["כּ"] = "כּ", -- always hard ["כֿ"] = "כֿ", -- always soft ["ל"] = "ל", ["מ"] = "מ", ["נ"] = "נ", ["ס"] = "ס", ["ע"] = "ע", ["פ"] = "פ", ["פּ"] = "פּ", -- always hard ["פֿ"] = "פֿ", -- always soft ["צ"] = "צ", ["ק"] = "ק", ["ר"] = "ר", ["ש"] = "שׁ", -- assume shin ["שׁ"] = "שׁ", -- shin ["שׂ"] = "שׂ", -- sin ["ת"] = "ת", ["תּ"] = "תּ", -- always hard ["תֿ"] = "תֿ", -- always soft }

local convert_final_root_char = { ["ה"] = "י", -- make defective ["הּ"] = "ה", -- remove mappiq ["ו"] = "י", -- make defective ["ך"] = "כ", -- normalize final ["ךּ"] = "כּ", -- always hard, normalize final ["ךֿ"] = "כֿ", -- always soft, normalize final ["ם"] = "מ", -- normalize final ["ן"] = "נ", -- normalize final ["ף"] = "פ", -- normalize final ["ףּ"] = "פּ", -- always hard, normalize final ["ףֿ"] = "פֿ", -- always soft, normalize final ["ץ"] = "צ", -- normalize final }

local forms_itp = { ["שׁ"] = "שְׁתּ", ["שׂ"] = "שְׂתּ", ["ס"] = "סְתּ", ["ז"] = "זְדּ", ["צ"] = "צְט", ["ת"] = {"ית", "תּ"}, ["ד"] = {"יד", "דּ"}, ["ט"] = {"יט", "טּ"}, }

local forms_etp = { ["ת"] = "תּ", ["ד"] = "דּ", ["ט"] = "טּ", }

local forms = { ["בֿ"] = "ב", ["גֿ"] = "ג", ["דֿ"] = "ד", ["כֿ"] = "כ", ["פֿ"] = "פ", ["תֿ"] = "ת", }

local forms_initial = { ["ב"] = "בּ", ["ג"] = "גּ", ["ד"] = "דּ", ["כ"] = "כּ", ["פ"] = "פּ", ["ת"] = "תּ", }

local non_doubling_letters = { ["א"] = 1, ["ה"] = 2, ["ח"] = 3, ["ע"] = 2, ["ר"] = 1, }

local forms_final_furtive = { ["ה"] = "הַּ", ["ח"] = "חַ", ["ע"] = "עַ", }

local forms_final = { ["ה"] = "הּ", ["כ"] = "ךְ", ["כּ"] = "ךְּ", ["כֿ"] = "ךְ", ["מ"] = "ם", ["נ"] = "ן", ["פ"] = "ף", ["פֿ"] = "ף", ["צ"] = "ץ", }

local short_gem_vowel = { ["a"] = "ַ", ["i"] = {"י", "ִ"}, ["u"] = {"ו", "ֻ"}, ["e"] = "ֶ", ["o"] = {"ו", "ָ"}, }

local lengthened_gem_vowel = { ["a"] = "ָ", ["i"] = {"י", "ֵ"}, ["u"] = {"ו", "ֹ"}, ["e"] = {"י", "ֵ"}, ["o"] = {"ו", "ֹ"}, }

local mixed_gem_vowel = { ["a"] = "ַ", ["i"] = {"י", "ִ"}, ["u"] = {"ו", "ֹ"}, ["e"] = "ֶ", ["o"] = {"ו", "ֹ"}, }

local stressed_gem_vowel = { ["a"] = "ַ", ["i"] = "ֵ", ["u"] = {"ו", "ֹ"}, ["e"] = "ֵ", ["o"] = {"ו", "ֹ"}, }

local doubling_type = { [1] = lengthened_gem_vowel, [2] = mixed_gem_vowel, [3] = short_gem_vowel, }

local gutturals = { ["א"] = true, ["ה"] = true, ["ח"] = true, ["ע"] = true, }

local char_vowel = { ["a"] = "ַ", ["i"] = "ֵ", ["u"] = {"ו", "ֹ"}, ["A"] = "ָ", ["I"] = "ִי", ["U"] = "וּ", ["E"] = "ֵ", ["O"] = "וֹ", }

local char_vowel_open = { ["a"] = "ָ", ["i"] = "ֵ", ["u"] = {"ו", "ֹ"}, ["A"] = "ָ", ["I"] = "ִי", ["U"] = "וּ", ["E"] = "ֵ", ["O"] = "וֹ", }

local char_vowel_short = { ["a"] = "ַ", ["i"] = "ֵ", ["u"] = {"ו", "ֹ"}, ["A"] = "ַ", ["I"] = "ֵ", ["U"] = {"ו", "ֹ"}, ["E"] = "ֵ", ["O"] = {"ו", "ֹ"}, }

local char_vowel_open_short = { ["a"] = "ָ", ["i"] = "ֵ", ["u"] = {"ו", "ֹ"}, ["A"] = "ָ", ["I"] = "ֵ", ["U"] = {"ו", "ֹ"}, ["E"] = "ֵ", ["O"] = {"ו", "ֹ"}, }

local char_vowel_closed = { ["a"] = "ַ", ["i"] = "ַ", ["u"] = {"ו", "ֹ"}, ["A"] = "ַ", ["I"] = "ַ", ["U"] = {"ו", "ֹ"}, ["E"] = "ַ", ["O"] = {"ו", "ֹ"}, }

local char_vowel_unstressed = { ["a"] = "ַ", ["i"] = "ַ", ["u"] = {"ו", "ָ"}, ["A"] = "ַ", ["I"] = "ַ", ["U"] = {"ו", "ָ"}, ["E"] = "ַ", ["O"] = {"ו", "ָ"}, }

local char_vowel_open_fp = { ["a"] = "ֶ", ["i"] = "ֶ", ["u"] = {"ו", "ֹ"}, ["A"] = "ֶ", ["I"] = "ֶ", ["U"] = {"ו", "ֹ"}, ["E"] = "ֶ", ["O"] = {"ו", "ֹ"}, }

local char_vowel_reduce = { ["a"] = nil, ["i"] = nil, ["u"] = nil, ["A"] = "ָ", ["I"] = "ִי", ["U"] = "וּ", ["E"] = "ֵ", ["O"] = "וֹ", }

local chataf_vowel = { ["a"] = "ֲ", ["i"] = "ֱ", ["u"] = {"ו", "ֳ"}, }

local monophthongize = { ["י"] = "ֵי", ["ו"] = "וֹ", }

local function gen_link(x) if type(x) == "table" then local pg = (lang:makeEntryName(x[1])) if pg == (lang:makeEntryName(x[2])) then return m_links.full_link({lang = lang, term = pg, alt = x[2]}) else return m_links.full_link({lang = lang, term = pg, alt = pg .. " / " .. x[2]}) end else if x == "-" then return "—" -- m-dash else return m_links.full_link({lang = lang, term = x}) end end end

local function process_args(args) for key, value in pairs(args) do       local i = mw.ustring.find(value, "[\\/]") if i then args[key] = {mw.ustring.sub(value, 1, i - 1), mw.ustring.sub(value, i + 1)} end end end

local function append_parts_2(a, b)   if type(a) == "table" then if type(b) == "table" then return {a[1] .. b[1], a[2] .. b[2]} else return {a[1] .. (lang:makeEntryName(b)), a[2] .. b}       end else if type(b) == "table" then return {(lang:makeEntryName(a)) .. b[1], a .. b[2]} else return a .. b       end end end

local function append_parts(a, ...) for _, b in ipairs({...}) do       a = append_parts_2(a, b)    end return a end

local function equal(a, b)   if type(a) == "table" then return type(b) == "table" and a[1] == b[1] and a[2] == b[2] else return a == b   end end

local function attach_t(x, novowel, assim_t) local is_table = (type(x) == "table") local wv = is_table and x[2] or x   if mw.ustring.sub(wv, -2) == "תְ" then if is_table then return {x[1] .. "ת", mw.ustring.sub(wv, 1, -2) .. (novowel and "ְּ" or "ּ")} else return append_parts(mw.ustring.sub(wv, 1, -2), {"ת", (novowel and "ְּ" or "ּ")}) end elseif assim_t and mw.ustring.sub(wv, -2) == "נְ" and (not is_table or mw.ustring.sub(x[1], -1) == "נ") then if is_table then return {mw.ustring.sub(x[1], 1, -2) .. "ת", mw.ustring.sub(wv, 1, -3) .. (novowel and "תְּ" or "תּ")} else return mw.ustring.sub(wv, 1, -3) .. (novowel and "תְּ" or "תּ") end else local dagesh = (mw.ustring.sub(wv, -1) == "ְ") return append_parts(x, dagesh and (novowel and "תְּ" or "תּ") or "ת") end end

local function attach_n(x) local is_table = (type(x) == "table") local wv = is_table and x[2] or x   if mw.ustring.sub(wv, -2) == "נְ" then if is_table then return {x[1], mw.ustring.sub(wv, 1, -2) .. "ּ"}       else return mw.ustring.sub(wv, 1, -2) .. "ּ"       end else return append_parts(x, "נ") end end

local function get_form_initial(letter) if type(letter) == "table" then return letter elseif mw.ustring.sub(letter, 1, 1) == ":" then return mw.ustring.sub(letter, 2) else return forms_initial[letter] or forms[letter] or letter end end

local function get_form_itp(letter) return forms_itp[letter] or append_parts("תְ", get_form_initial(letter)) end

local function get_form_etp(letter) return forms_etp[letter] or forms_itp[letter] or append_parts("תְ", get_form_initial(letter)) end

local function get_form_medial(letter) if type(letter) == "table" then return letter elseif mw.ustring.sub(letter, 1, 1) == ":" then return mw.ustring.sub(letter, 2) else return forms[letter] or letter end end

local dagesh_or_rafe = {["ּ"] = true, ["ֿ"] = true} local function add_dagesh(letter) if type(letter) == "table" then return letter elseif mw.ustring.sub(letter, 1, 1) == ":" then return get_form_medial(letter) elseif non_doubling_letters[letter] or dagesh_or_rafe[mw.ustring.sub(letter, -1)] then return get_form_medial(letter) else -- TODO: Handle geresh return get_form_medial(letter) .. "ּ"   end end

local function get_form_double(letter, vowel, force_lengthening, stressed) local lengthen = non_doubling_letters[letter] if force_lengthening then lengthen = lengthen and 1 end if stressed then vowel = vowel and (lengthen and vowel == "a" and "ָ" or stressed_gem_vowel[vowel]) or "" else vowel = vowel and (lengthen and doubling_type[lengthen][vowel] or short_gem_vowel[vowel]) or "" end return append_parts(vowel, add_dagesh(letter)) end

local function get_form_final(letter, char) if type(letter) == "table" then return letter elseif mw.ustring.sub(letter, 1, 1) == ":" then return mw.ustring.sub(letter, 2) else return (char ~= "a" and char ~= "A" and forms_final_furtive[letter]) or forms_final[letter] or forms[letter] or letter end end

local function get_elet_ending(letter) if letter == "א" then return "ֵאת" else local vowel = gutturals[letter] and "ַ" or "ֶ" return append_parts(vowel, get_form_medial(letter), vowel, "ת") end end

local function ends_in_guttural(letter) if type(letter) == "table" then letter = letter[2] end return gutturals[mw.ustring.sub(letter, -1)] end

local function shva_na(letter, vowel) return ends_in_guttural(letter) and chataf_vowel[vowel or "a"] or "ְ" end

local function reduce(char, chataf) return char_vowel_reduce[char] or chataf and "ֲ" or "ְ" end

local letters    = "[א-ת]" local not_letters = "[^א-ת]" local modifiers  = "[ּֿׁׂׄ׳]?" local separators = "[-־ %.,!|]?" local root_regex = "(" .. letters .. modifiers .. ")" .. separators

local function parse_root_part(part, last) if mw.ustring.sub(part, 1, 1) == ":" then return part end local letters = {} local len = 0 local subber = function(letter) table.insert(letters, letter) len = len + 1 return "" end local scraps = mw.ustring.gsub(part, root_regex, subber) if scraps ~= "" then return ":" .. part end if len < 1 then return nil elseif len == 1 then return part else local ret = "" for i, letter in ipairs(letters) do           local letterx = last and i == len and convert_final_root_char[letter] or convert_root_char[letter] if not letterx then error("Unrecognized root letter '" .. letter .. "'.") end ret = append_parts(ret, get_form_medial(letterx), i == len and "" or "ְ") end if type(ret) == "table" then return ret else return ":" .. ret end end end

local function parse_root(args) if args[2] == "" then args[2] = nil end if args[3] == "" then args[3] = nil end if args[4] == "" then args[4] = nil end if args[3] then args["p"] = args["p"] or parse_root_part(args[2]) args["a"] = args["a"] or parse_root_part(args[3]) args["l"] = args["l"] or parse_root_part(args[4], true) elseif args[2] then local radicals = {} local len = 0 local subber = function(radical) table.insert(radicals, radical) len = len + 1 return "" end local scraps = mw.ustring.gsub(args[2], root_regex, subber) if scraps ~= "" then error("Unrecognized characters in root.") end if len < 3 then error("Root must have at least three letters.") elseif len == 3 then args["p"] = args["p"] or radicals[1] args["a"] = args["a"] or radicals[2] args["l"] = args["l"] or radicals[3] elseif len == 4 then args["p"] = args["p"] or radicals[1] args["a"] = args["a"] or radicals[2] args["a2"] = args["a2"] or radicals[3] args["l"] = args["l"] or radicals[4] elseif len > 4 then error("Roots with more than four letters must be explicitly delimited.") end end end

local function convert_root(args) for _, x in ipairs({"p", "a", "a2", "l"}) do       if args[x] then local root_x = "root_" .. x           if not args[root_x] then if mw.ustring.sub(args[x], 1, 1) == ":" then args[root_x] = args[x] else args[root_x] = x == "l" and convert_final_root_char[args[x]] or convert_root_char[args[x]] if not args[root_x] then error("Unrecognized root letter '" .. args[x] .. "'.") end end end end end if args["root_a2"] then local a = append_parts(get_form_medial(args["root_a"]), "ְ", get_form_initial(args["root_a2"])) if type(a) ~= "table" then a = ":" .. a       end args["root_a"] = a       args["root_a2"] = nil end end

local function conjugate(args) args["imp_pre_stem"] = args["imp_pre_stem"] or args["fut_pre_stem"] args["imp_mid_stem"] = args["imp_mid_stem"] or args["fut_mid_stem"] args["imp_fin_stem"] = args["imp_fin_stem"] or args["fut_fin_stem"] args["imp_suf_stem"] = args["imp_suf_stem"] or args["fut_suf_stem"] args["imp_prs_stem"] = args["imp_prs_stem"] or args["fut_prs_stem"] args["imp_ffp_stem"] = args["imp_ffp_stem"] or args["fut_ffp_stem"] local fp_long = args["fp_long"] and args["fp_long"] ~= "-" if fp_long then args["fut_long_stem"] = append_parts(args["fut_long_stem"] or args["fut_suf_stem"], "ֶי") args["imp_long_stem"] = append_parts(args["imp_long_stem"] or args["imp_suf_stem"], "ֶי") end if args["imp"] ~= "-" then if not args["imp_ms"] then args["imp_ms"] = append_parts(args["imp_pre_stem"], args["imp_mid_stem"], args["imp_fin_stem"]) end if not args["imp_fs"] then args["imp_fs"] = append_parts(args["imp_prs_stem"] or args["imp_pre_stem"], args["imp_mid_stem"], args["imp_suf_stem"], "ִי") end if not args["imp_mp"] then args["imp_mp"] = append_parts(args["imp_prs_stem"] or args["imp_pre_stem"], args["imp_mid_stem"], args["imp_suf_stem"], "וּ") end if not args["imp_fp"] then args["imp_fp"] = append_parts(fp_long and (args["imp_long_pre_stem"] or args["imp_prs_stem"]) or args["imp_pre_stem"], args["imp_mid_stem"], attach_n(fp_long and args["imp_long_stem"] or args["imp_ffp_stem"]), "ָה") end end

if args["fut"] ~= "-" then if not args["fut_1s"] then args["fut_1s"] = append_parts("א", args["fut_1sp_stem"] or args["fut_pre_stem"], args["fut_mid_stem"], args["fut_fin_stem"]) end if not args["fut_2ms"] then args["fut_2ms"] = append_parts("תּ", args["fut_pre_stem"], args["fut_mid_stem"], args["fut_fin_stem"]) end if not args["fut_2fs"] then args["fut_2fs"] = append_parts("תּ", args["fut_prs_stem"] or args["fut_pre_stem"], args["fut_mid_stem"], args["fut_suf_stem"], "ִי") end if not args["fut_3ms"] then args["fut_3ms"] = append_parts("י", args["fut_pre_stem"], args["fut_mid_stem"], args["fut_fin_stem"]) end if not args["fut_3fs"] then args["fut_3fs"] = args["fut_2ms"] end if not args["fut_1p"] then args["fut_1p"] = append_parts("נ", args["fut_pre_stem"], args["fut_mid_stem"], args["fut_fin_stem"]) end if not args["fut_2mp"] then args["fut_2mp"] = append_parts("תּ", args["fut_prs_stem"] or args["fut_pre_stem"], args["fut_mid_stem"], args["fut_suf_stem"], "וּ") end if not args["fut_2fp"] then args["fut_2fp"] = append_parts("תּ", fp_long and (args["fut_long_pre_stem"] or args["fut_prs_stem"]) or args["fut_pre_stem"], args["fut_mid_stem"], attach_n(fp_long and args["fut_long_stem"] or args["fut_ffp_stem"]), "ָה") end if not args["fut_3mp"] then args["fut_3mp"] = append_parts("י", args["fut_prs_stem"] or args["fut_pre_stem"], args["fut_mid_stem"], args["fut_suf_stem"], "וּ") end if not args["fut_3fp"] then args["fut_3fp"] = append_parts("תּ", fp_long and (args["fut_long_pre_stem"] or args["fut_prs_stem"]) or args["fut_pre_stem"], args["fut_mid_stem"], attach_n(fp_long and args["fut_long_stem"] or args["fut_ffp_stem"]), "ָה") end end

if args["pres"] ~= "-" then args["pres_pre_stem"] = args["pres_pre_stem"] or "" args["pres_prs_stem"] = args["pres_prs_stem"] or args["pres_pre_stem"] if not args["pres_ms"] then args["pres_ms"] = append_parts(args["pres_pre_stem"], args["pres_ms_stem"]) end if not args["pres_fs"] then args["pres_fs_stem"] = args["pres_fs_stem"] or append_parts(args["pres_suf_stem"], "ָה") args["pres_fs"] = append_parts(args["pres_prs_stem"], args["pres_fs_stem"]) end if not args["pres_mp"] then args["pres_mp"] = append_parts(args["pres_prs_stem"], args["pres_suf_stem"], "ִים") end if not args["pres_fp"] then args["pres_fp"] = append_parts(args["pres_prs_stem"], args["pres_suf_stem"], "וֹת") end end

if args["past"] ~= "-" then args["past_pre_stem"] = args["past_pre_stem"] or "" args["past_2p_pre_stem"] = args["past_2p_pre_stem"] or args["past_pre_stem"] local past_long = args["past_long"] and args["past_long"] ~= "-" if past_long then args["past_stem"] = append_parts(args["past_long_stem"] or args["past_3_stem"] or args["past_stem"], "וֹ") args["past_2p_stem"] = args["past_stem"] args["past_long_pre_stem"] = args["past_long_pre_stem"] or args["root_l"] == "י" and args["past_pre_stem"] or args["past_2p_pre_stem"] else args["past_2p_stem"] = args["past_2p_stem"] or args["past_stem"] end local assim_t = args["assim_t"] and args["assim_t"] ~= "-" if not args["past_1s"] then args["past_1s"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_pre_stem"], attach_t(args["past_stem"], false, assim_t), "ִי") end if not args["past_2ms"] then args["past_2ms"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_pre_stem"], attach_t(args["past_stem"], false, assim_t), "ָ") end if not args["past_2fs"] then args["past_2fs"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_pre_stem"], attach_t(args["past_stem"], true, assim_t)) end if not args["past_3ms"] then args["past_3ms"] = append_parts(args["past_pre_stem"], args["past_3ms_stem"]) end if not args["past_3fs"] then args["past_3fs"] = append_parts(args["past_3fs_pre_stem"] or args["past_3_pre_stem"] or args["past_pre_stem"], args["past_3fs_stem"] or args["past_3_stem"], "ָה") end if not args["past_1p"] then args["past_1p"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_pre_stem"], attach_n(args["past_stem"]), "וּ") end if not args["past_2mp"] then args["past_2mp"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_2p_pre_stem"], attach_t(args["past_2p_stem"], false, assim_t), "ֶם") end if not args["past_2fp"] then args["past_2fp"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_2p_pre_stem"], attach_t(args["past_2p_stem"], false, assim_t), "ֶן") end if not args["past_2mp2"] then args["past_2mp2"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_pre_stem"], attach_t(args["past_stem"], false, assim_t), "ֶם") end if not args["past_2fp2"] then args["past_2fp2"] = append_parts(past_long and args["past_long_pre_stem"] or args["past_pre_stem"], attach_t(args["past_stem"], false, assim_t), "ֶן") end if not args["past_3mp"] then args["past_3mp"] = append_parts(args["past_3_pre_stem"] or args["past_pre_stem"], args["past_3_stem"], "וּ") end if not args["past_3fp"] then args["past_3fp"] = args["past_3mp"] end end

args["inf"] = args["inf"] or "-"

args["heading"] = "Conjugation of " .. gen_link(args["past_3ms"]) .. " (see also Appendix:Hebrew verbs)" end

local function get_imp_stem_endings(args, root_l, char, chataf, keep_long_vowel, guttural_force_patach) if root_l == "א" then args["imp_fin_stem"] = args["imp_fin_stem"] or append_parts(keep_long_vowel and char_vowel_open[char] or char_vowel_open_short[char], "א") args["imp_suf_stem"] = args["imp_suf_stem"] or append_parts(reduce(char, chataf), "א") args["imp_ffp_stem"] = args["imp_ffp_stem"] or append_parts(char_vowel_open_fp[char], "א") args["imp_long_stem"] = args["imp_long_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), "א") elseif root_l == "י" then args["imp_fin_stem"] = args["imp_fin_stem"] or "ֵה" args["imp_suf_stem"] = args["imp_suf_stem"] or "" args["imp_ffp_stem"] = args["imp_ffp_stem"] or "ֶי" else args["imp_fin_stem"] = args["imp_fin_stem"] or append_parts(keep_long_vowel and char_vowel[char] or guttural_force_patach and gutturals[root_l] and "ַ" or char_vowel_short[char], get_form_final(root_l, guttural_force_patach and (not keep_long_vowel) and gutturals[root_l] and "a" or char)) args["imp_suf_stem"] = args["imp_suf_stem"] or append_parts(reduce(char, chataf), get_form_medial(root_l)) args["imp_ffp_stem"] = args["imp_ffp_stem"] or append_parts(gutturals[root_l] and "ַ" or char_vowel_short[char], get_form_medial(root_l), "ְ") args["imp_long_stem"] = args["imp_long_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), get_form_medial(root_l)) end end

local function get_fut_stem_endings(args, root_l, char, chataf) if root_l == "א" then args["fut_fin_stem"] = args["fut_fin_stem"] or append_parts(char_vowel_open[char], "א") args["fut_suf_stem"] = args["fut_suf_stem"] or append_parts(reduce(char, chataf), "א") args["fut_ffp_stem"] = args["fut_ffp_stem"] or append_parts(char_vowel_open_fp[char], "א") args["fut_long_stem"] = args["fut_long_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), "א") elseif root_l == "י" then args["fut_fin_stem"] = args["fut_fin_stem"] or "ֶה" args["fut_suf_stem"] = args["fut_suf_stem"] or "" args["fut_ffp_stem"] = args["fut_ffp_stem"] or "ֶי" else args["fut_fin_stem"] = args["fut_fin_stem"] or append_parts(char_vowel[char], get_form_final(root_l, char)) args["fut_suf_stem"] = args["fut_suf_stem"] or append_parts(reduce(char, chataf), get_form_medial(root_l)) args["fut_ffp_stem"] = args["fut_ffp_stem"] or append_parts(gutturals[root_l] and "ַ" or char_vowel_short[char], get_form_medial(root_l), "ְ") args["fut_long_stem"] = args["fut_long_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), get_form_medial(root_l)) end end

local function get_pres_stem_endings(args, root_l, char, chataf, use_elet, use_et) if root_l == "י" then args["pres_ms_stem"] = args["pres_ms_stem"] or "ֶה" args["pres_suf_stem"] = args["pres_suf_stem"] or "" if use_et then args["pres_fs_stem"] = args["pres_fs_stem"] or "ֵית" end else args["pres_ms_stem"] = args["pres_ms_stem"] or append_parts(char_vowel_open[char], get_form_final(root_l, char)) args["pres_suf_stem"] = args["pres_suf_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), get_form_medial(root_l)) if use_elet then args["pres_fs_stem"] = args["pres_fs_stem"] or get_elet_ending(root_l) end end end

local function get_past_stem_endings(args, root_l, char, chataf, kca, use_e) if root_l == "א" then args["past_stem"] = args["past_stem"] or append_parts(kca and char_vowel_open[char] or "ֵ", "א") args["past_3ms_stem"] = args["past_3ms_stem"] or append_parts(char_vowel_open[char], "א") args["past_3_stem"] = args["past_3_stem"] or append_parts(reduce(char, chataf), "א") args["past_long_stem"] = args["past_long_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), "א") elseif root_l == "י" then args["past_stem"] = args["past_stem"] or use_e and "ֵי" or "ִי" args["past_3ms_stem"] = args["past_3ms_stem"] or "ָה" args["past_3fs_stem"] = args["past_3fs_stem"] or append_parts(reduce("a", chataf), "ת") args["past_3_stem"] = args["past_3_stem"] or "" else args["past_stem"] = args["past_stem"] or append_parts(char_vowel_closed[char], get_form_medial(root_l), "ְ") args["past_2p_stem"] = args["past_2p_stem"] or append_parts(char_vowel_unstressed[char], get_form_medial(root_l), "ְ") args["past_3ms_stem"] = args["past_3ms_stem"] or append_parts(char_vowel[char], get_form_final(root_l, char)) args["past_3_stem"] = args["past_3_stem"] or append_parts(reduce(char, chataf), get_form_medial(root_l)) args["past_long_stem"] = args["past_long_stem"] or append_parts(char == "a" and char_vowel_open[char] or reduce(char, chataf), get_form_medial(root_l)) end end

local function get_imp_stem_endings_gem(args, root_l, char) if root_l == "א" then args["imp_fin_stem"] = args["imp_fin_stem"] or append_parts(char == "a" and "ָ" or stressed_gem_vowel[char], "א") args["imp_suf_stem"] = args["imp_suf_stem"] or append_parts(char == "a" and "ָ" or stressed_gem_vowel[char], "א") args["imp_ffp_stem"] = args["imp_ffp_stem"] or append_parts(char ~= "u" and char ~= "o" and "ֶ" or stressed_gem_vowel[char], "א") else args["imp_fin_stem"] = args["imp_fin_stem"] or append_parts(stressed_gem_vowel[char], get_form_final(root_l, char)) args["imp_suf_stem"] = args["imp_suf_stem"] or get_form_double(root_l, char, true, true) args["imp_ffp_stem"] = args["imp_ffp_stem"] or append_parts(gutturals[root_l] and "ַ" or stressed_gem_vowel[char], get_form_medial(root_l), "ְ") args["imp_long_stem"] = args["imp_long_stem"] or get_form_double(root_l, char, true) end end

local function get_fut_stem_endings_gem(args, root_l, char) if root_l == "א" then args["fut_fin_stem"] = args["fut_fin_stem"] or append_parts(char == "a" and "ָ" or stressed_gem_vowel[char], "א") args["fut_suf_stem"] = args["fut_suf_stem"] or get_form_double("א", char) args["fut_ffp_stem"] = args["fut_ffp_stem"] or append_parts(char ~= "u" and char ~= "o" and "ֶ" or stressed_gem_vowel[char], "א") else args["fut_fin_stem"] = args["fut_fin_stem"] or append_parts(stressed_gem_vowel[char], get_form_final(root_l, char)) args["fut_suf_stem"] = args["fut_suf_stem"] or get_form_double(root_l, char, true, true) args["fut_ffp_stem"] = args["fut_ffp_stem"] or append_parts(gutturals[root_l] and "ַ" or stressed_gem_vowel[char], get_form_medial(root_l), "ְ") args["fut_long_stem"] = args["fut_long_stem"] or get_form_double(root_l, char, true) end end

local function get_pres_stem_endings_gem(args, root_l, char, short_a) if root_l == "א" then args["pres_ms_stem"] = args["pres_ms_stem"] or append_parts(char == "a" and "ָ" or stressed_gem_vowel[char], "א") args["pres_suf_stem"] = args["pres_suf_stem"] or get_form_double("א", char) else args["pres_ms_stem"] = args["pres_ms_stem"] or append_parts(char == "a" and (not short_a) and "ָ" or stressed_gem_vowel[char], get_form_final(root_l, char)) args["pres_suf_stem"] = args["pres_suf_stem"] or get_form_double(root_l, char, true) end end

local function get_past_stem_endings_gem(args, root_l, char) if root_l == "א" then args["past_stem"] = args["past_stem"] or append_parts(char == "a" and "ָ" or stressed_gem_vowel[char], "א") args["past_3ms_stem"] = args["past_3ms_stem"] or append_parts(char == "a" and "ָ" or stressed_gem_vowel[char], "א") args["past_3_stem"] = args["past_3_stem"] or get_form_double("א", char) else args["past_stem"] = args["past_stem"] or append_parts((char == "u" or char == "o") and {"ו", "ֹ"} or "ַ", get_form_medial(root_l), "ְ") args["past_2p_stem"] = args["past_2p_stem"] or append_parts((char == "u" or char == "o") and {"ו", "ָ"} or "ַ", get_form_medial(root_l), "ְ") args["past_3ms_stem"] = args["past_3ms_stem"] or append_parts(stressed_gem_vowel[char], get_form_final(root_l, char)) args["past_3_stem"] = args["past_3_stem"] or get_form_double(root_l, char, true, true) args["past_long_stem"] = args["past_long_stem"] or get_form_double(root_l, char, true) end end

get_stems_for["pa"] = function(args, categories) local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"]

if args["hollow"] ~= "-" then local past_char = args["past_char"] or "A" local fut_char = args["fut_char"] or (root_a == "י" and "I") or "U" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or past_char local prefix_vowel = (fut_char == "O" and past_char == "O" and args["prefix_e"] ~= "-") and "ֵ" or "ָ"

args["inf"] = args["inf"] or append_parts("ל", prefix_vowel, get_form_medial(root_p), char_vowel[inf_char], get_form_final(root_l, inf_char)) args["noun"] = args["noun"] or append_parts(get_form_initial(root_p), "ִי", get_form_medial(root_l), "ָה")

args["imp_pre_stem"] = args["imp_pre_stem"] or get_form_initial(root_p) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts(prefix_vowel, get_form_medial(root_p)) args["fut_long_pre_stem"] = args["fut_long_pre_stem"] or append_parts("ְ", get_form_medial(root_p)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, gutturals[root_p], true) get_fut_stem_endings(args, root_l, fut_char, gutturals[root_p])

args["pres_pre_stem"] = args["pres_pre_stem"] or get_form_initial(root_p) get_pres_stem_endings(args, root_l, pres_char, gutturals[root_p], false, false)

args["past_pre_stem"] = args["past_pre_stem"] or get_form_initial(root_p) get_past_stem_endings(args, root_l, past_char, gutturals[root_p], true, false) elseif false then -- reserved for special cases else local past_char = args["past_char"] or "a" local fut_char = args["fut_char"] local imp_char = args["imp_char"] local inf_char = args["inf_char"] local pres_char = args["pres_char"]

local if_ = nil local ef_ = nil local suf_if_ = nil if args["assim"] ~= "-" then fut_char = fut_char or ((args["elide"] ~= "-" or gutturals[root_l]) and "a") or "u" if_ = get_form_double(root_a, "i", true) ef_ = get_form_double(root_a, "e", true) elseif args["elide"] ~= "-" then if root_p == "א" then fut_char = fut_char or "a" if_ = append_parts("ֹא", get_form_medial(root_a)) ef_ = append_parts({"ו", "ֹ"}, get_form_medial(root_a)) else fut_char = fut_char or (gutturals[root_l] and root_l ~= "א" and "a") or "i" if_ = append_parts("ֵ", get_form_medial(root_a)) end elseif monophthongize[root_p] then fut_char = fut_char or "a" if_ = append_parts("ִי", get_form_medial(root_a)) elseif gutturals[root_p] then fut_char = fut_char or ((gutturals[root_l] or gutturals[root_a]) and "a") or "u" local v1 = (root_p == "א" or (root_l == "י" and root_p ~= "ע") or (root_l ~= "י" and fut_char == "a")) and "ֶ" or "ַ" if args["nochataf"] then if root_a == "י" then v1 = "ִ" end if_ = append_parts(v1, get_form_medial(root_p), "ְ", get_form_initial(root_a)) ef_ = append_parts("ֶ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) else local v2 = v1 == "ֶ" and "ֱ" or "ֲ" if_ = append_parts(v1, get_form_medial(root_p), v2, get_form_medial(root_a)) ef_ = append_parts("ֶ", get_form_medial(root_p), "ֱ", get_form_medial(root_a)) suf_if_ = append_parts(v1, get_form_medial(root_p), v1, get_form_medial(root_a)) end else fut_char = fut_char or ((gutturals[root_l] or gutturals[root_a]) and "a") or "u" if_ = append_parts("ִ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) ef_ = append_parts("ֶ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) end

local inf_if_ = nil local p_ = nil if args["elide"] ~= "-" and root_p ~= "א" then inf_char = inf_char or "i" imp_char = imp_char or fut_char args["inf"] = args["inf"] or append_parts("לָ", get_form_medial(root_a), get_elet_ending(root_l)) p_ = get_form_initial(root_a) elseif gutturals[root_p] then inf_char = inf_char or "u" imp_char = imp_char or (root_p == "א" and args["elide"] ~= "-" and (((gutturals[root_l] or gutturals[root_a]) and "a") or "u")) or fut_char local v1 = (root_p == "א" or (root_l ~= "י" and inf_char == "a")) and "ֶ" or "ַ" if args["nochataf"] then if root_a == "י" then v1 = "ִ" end inf_if_ = append_parts(v1, get_form_medial(root_p), "ְ", get_form_initial(root_a)) else local v2 = v1 == "ֶ" and "ֱ" or "ֲ" inf_if_ = append_parts(v1, get_form_medial(root_p), v2, get_form_medial(root_a)) end p_ = append_parts(get_form_initial(root_p), root_p == "א" and "ֱ" or "ֲ", get_form_medial(root_a)) if root_l ~= "י" and root_p == "א" and gutturals[root_a] then args["imp_prs_stem"] = args["imp_prs_stem"] or append_parts(get_form_initial(root_p), "ֶ", get_form_medial(root_a)) args["imp_suf_stem"] = args["imp_suf_stem"] or append_parts("ֱ", get_form_medial(root_l)) end else inf_char = inf_char or "u" imp_char = imp_char or fut_char inf_if_ = if_ p_ = append_parts(get_form_initial(root_p), shva_na(root_p), get_form_medial(root_a)) end

args["inf"] = args["inf"] or append_parts("ל", inf_if_, root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) args["noun"] = args["noun"] or append_parts(get_form_initial(root_p), shva_na(root_p), get_form_medial(root_a), "ִי", root_l == "י" and "ּ" or get_form_medial(root_l), "ָה") args["pp"] = args["pp"] or append_parts(get_form_initial(root_p), "ָ", get_form_medial(root_a), "וּ", get_form_final(root_l, "U"))

args["imp_pre_stem"] = args["imp_pre_stem"] or p_       if root_l ~= "י" and (args["elide"] == "-" or root_p == "א") then if gutturals[root_a] then args["imp_prs_stem"] = args["imp_prs_stem"] or append_parts(get_form_initial(root_p), "ַ", get_form_medial(root_a)) if imp_char ~= "u" and imp_char ~= "i" then args["imp_long_pre_stem"] = args["imp_long_pre_stem"] or args["imp_pre_stem"] end args["imp_suf_stem"] = args["imp_suf_stem"] or append_parts("ֲ", get_form_medial(root_l)) else args["imp_prs_stem"] = args["imp_prs_stem"] or append_parts(get_form_initial(root_p), "ִ", get_form_medial(root_a)) end end args["fut_pre_stem"] = args["fut_pre_stem"] or if_ args["fut_1sp_stem"] = args["fut_1sp_stem"] or ef_ if root_l ~= "י" then args["fut_prs_stem"] = args["fut_prs_stem"] or suf_if_ end args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a)) get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

if args["pres_short"] and args["pres_short"] ~= "" then -- pa`el args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts(get_form_initial(root_p), "ָ", get_form_medial(root_a)) if root_l ~= "י" then args["pres_prs_stem"] = args["pres_prs_stem"] or append_parts(get_form_initial(root_p), shva_na(root_p), get_form_medial(root_a)) end get_pres_stem_endings(args, root_l, pres_char or "E", ends_in_guttural(root_a), false, false) else -- po`el args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts(get_form_initial(root_p), "וֹ", get_form_medial(root_a)) get_pres_stem_endings(args, root_l, pres_char or "i", ends_in_guttural(root_a), true, false) end

args["past_pre_stem"] = args["past_pre_stem"] or append_parts(get_form_initial(root_p), "ָ", get_form_medial(root_a)) args["past_2p_pre_stem"] = args["past_2p_pre_stem"] or append_parts(get_form_initial(root_p), shva_na(root_p), get_form_medial(root_a)) if past_char == "i" or past_char == "u" then args["past_long_pre_stem"] = args["past_long_pre_stem"] or append_parts(get_form_initial(root_p), gutturals[root_a] and "ַ" or "ִ", get_form_medial(root_a)) end get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), true, false) end end

get_stems_for["pi"] = function(args, categories) local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"] local past_char = args["past_char"] or "i" local fut_char = args["fut_char"] or "i" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or "i"

if false then -- reserved for special cases elseif false then -- reserved for special cases else args["inf"] = args["inf"] or append_parts("לְ", get_form_medial(root_p), get_form_double(root_a, "a"), root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) args["noun"] = args["noun"] or append_parts(get_form_initial(root_p), get_form_double(root_a, "i"), "וּ", get_form_final(root_l, "U"))

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts(get_form_initial(root_p), get_form_double(root_a, "a")) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ְ", get_form_medial(root_p), get_form_double(root_a, "a")) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts("ֲ", get_form_medial(root_p), get_form_double(root_a, "a")) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a)) get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מְ", get_form_medial(root_p), get_form_double(root_a, "a")) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts(get_form_initial(root_p), get_form_double(root_a, "i")) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, false) end end

get_stems_for["po"] = function(args, categories) local root_p = args["root_p"] local root_a = args["hollow"] == "-" and args["root_a"] or args["root_l"] local root_l = args["root_l"] local past_char = args["past_char"] or "i" local fut_char = args["fut_char"] or "i" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or "i"

if false then -- reserved for special cases elseif false then -- reserved for special cases else args["inf"] = args["inf"] or append_parts("לְ", get_form_medial(root_p), "וֹ", get_form_medial(root_a), root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) -- args["noun"] = args["noun"] or append_parts(get_form_initial(root_p), "וֹ", get_form_medial(root_a), shva_na(root_a), get_form_medial(root_l), "וּת") args["noun"] = args["noun"] or append_parts(get_form_initial(root_p), "ִי", get_form_medial(root_a), "וּ", get_form_final(root_l, "U"))

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts(get_form_initial(root_p), "וֹ", get_form_medial(root_a)) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ְ", get_form_medial(root_p), "וֹ", get_form_medial(root_a)) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts("ֲ", get_form_medial(root_p), "וֹ", get_form_medial(root_a)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a)) get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מְ", get_form_medial(root_p), "וֹ", get_form_medial(root_a)) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts(get_form_initial(root_p), "וֹ", get_form_medial(root_a)) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, false) end end

get_stems_for["pu"] = function(args, categories) local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"] local past_char = args["past_char"] or "a" local fut_char = args["fut_char"] or "a" local pres_char = args["pres_char"] or "a"

if false then -- reserved for special cases elseif false then -- reserved for special cases else args["imp"] = args["imp"] or "-" args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ְ", get_form_medial(root_p), get_form_double(root_a, "u")) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts("ֲ", get_form_medial(root_p), get_form_double(root_a, "u")) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מְ", get_form_medial(root_p), get_form_double(root_a, "u")) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts(get_form_initial(root_p), get_form_double(root_a, "u")) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["poal"] = function(args, categories) local root_p = args["root_p"] local root_a = args["hollow"] == "-" and args["root_a"] or args["root_l"] local root_l = args["root_l"] local past_char = args["past_char"] or "a" local fut_char = args["fut_char"] or "a" local pres_char = args["pres_char"] or "a"

if false then -- reserved for special cases elseif false then -- reserved for special cases else args["imp"] = args["imp"] or "-" args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ְ", get_form_medial(root_p), "וֹ", get_form_medial(root_a)) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts("ֲ", get_form_medial(root_p), "וֹ", get_form_medial(root_a)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מְ", get_form_medial(root_p), "וֹ", get_form_medial(root_a)) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts(get_form_initial(root_p), "וֹ", get_form_medial(root_a)) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["hif"] = function(args, categories) local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"] local past_char = args["past_char"] or args["geminate"] ~= "-" and "i" or "I" local fut_char = args["fut_char"] or args["geminate"] ~= "-" and "i" or "I" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or args["geminate"] ~= "-" and "i" or "I"

if args["hollow"] ~= "-" then args["inf"] = args["inf"] or append_parts("לְהָ", get_form_medial(root_p), char_vowel[inf_char], get_form_final(root_l, inf_char)) args["noun"] = args["noun"] or append_parts(gutturals[root_p] and "הֶ" or "הֲ", get_form_medial(root_p), "ָ", get_form_medial(root_l), "ָה")

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts("הָ", get_form_medial(root_p)) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ָ", get_form_medial(root_p)) args["imp_long_pre_stem"] = args["imp_long_pre_stem"] or append_parts(gutturals[root_p] and "הַ" or "הֲ", get_form_medial(root_p)) args["fut_long_pre_stem"] = args["fut_long_pre_stem"] or append_parts("ְ", get_form_medial(root_p)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, gutturals[root_p], false, true) get_fut_stem_endings(args, root_l, fut_char, gutturals[root_p])

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מֵ", get_form_medial(root_p)) args["pres_prs_stem"] = args["pres_prs_stem"] or append_parts("מְ", get_form_medial(root_p)) get_pres_stem_endings(args, root_l, pres_char, gutturals[root_p], false, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("הֵ", get_form_medial(root_p)) args["past_2p_pre_stem"] = args["past_2p_pre_stem"] or append_parts(gutturals[root_p] and "הַ" or "הֲ", get_form_medial(root_p)) get_past_stem_endings(args, root_l, past_char, gutturals[root_p], false, true) elseif args["geminate"] ~= "-" then args["inf"] = args["inf"] or append_parts("לְהָ", get_form_medial(root_p), char_vowel[inf_char], get_form_final(root_l, inf_char)) --- args["noun"] = args["noun"] or append_parts(gutturals[root_p] and (non_doubling_letters[root_l] and "הֶ" or "הַ") or "הֲ", get_form_medial(root_p), get_form_double(root_l, "a", true), "ָה") args["noun"] = args["noun"] or append_parts(gutturals[root_p] and "הֶ" or "הֲ", get_form_medial(root_p), "ָ", get_form_medial(root_l), "ָה")

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts("הָ", get_form_medial(root_p)) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ָ", get_form_medial(root_p)) args["imp_long_pre_stem"] = args["imp_long_pre_stem"] or append_parts(gutturals[root_p] and "הַ" or "הֲ", get_form_medial(root_p)) args["fut_long_pre_stem"] = args["fut_long_pre_stem"] or append_parts("ְ", get_form_medial(root_p)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings_gem(args, root_l, imp_char) get_fut_stem_endings_gem(args, root_l, fut_char)

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מֵ", get_form_medial(root_p)) args["pres_prs_stem"] = args["pres_prs_stem"] or append_parts("מְ", get_form_medial(root_p)) get_pres_stem_endings_gem(args, root_l, pres_char)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("הֵ", get_form_medial(root_p)) args["past_2p_pre_stem"] = args["past_2p_pre_stem"] or append_parts(gutturals[root_p] and "הַ" or "הֲ", get_form_medial(root_p)) get_past_stem_endings_gem(args, root_l, past_char) elseif false then -- reserved for special cases else local af_ = nil local if_ = nil if args["assim"] ~= "-" then af_ = append_parts(gutturals[root_a] and "ָ" or "ַ", add_dagesh(root_a)) if_ = append_parts(gutturals[root_a] and "ֵ" or "ִ", add_dagesh(root_a)) elseif monophthongize[root_p] then af_ = append_parts(monophthongize[root_p], get_form_medial(root_a)) if_ = af_ elseif gutturals[root_p] then if args["nochataf"] then af_ = append_parts("ַ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) if_ = append_parts("ֶ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) else af_ = append_parts("ַ", get_form_medial(root_p), "ֲ", get_form_medial(root_a)) if_ = append_parts("ֶ", get_form_medial(root_p), "ֱ", get_form_medial(root_a)) end else af_ = append_parts("ַ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) if_ = append_parts(root_a == "א" and root_l == "י" and "ֶ" or "ִ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) end

args["inf"] = args["inf"] or append_parts("לְה", af_, root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) args["noun"] = args["noun"] or append_parts("ה", af_, "ָ", get_form_medial(root_l), "ָה")

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts("ה", af_) args["fut_pre_stem"] = args["fut_pre_stem"] or af_ args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a), false, args["assim"] ~= "-") get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מ", af_) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), false, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("ה", if_) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["huf"] = function(args, categories) local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"] local past_char = args["past_char"] or "a" local fut_char = args["fut_char"] or "a" local pres_char = args["pres_char"] or "a"

if args["hollow"] ~= "-" then args["imp"] = args["imp"] or "-" args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("וּ", get_form_medial(root_p)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_fut_stem_endings(args, root_l, fut_char, gutturals[root_p])

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מוּ", get_form_medial(root_p)) get_pres_stem_endings(args, root_l, pres_char, gutturals[root_p], true, true)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("הוּ", get_form_medial(root_p)) get_past_stem_endings(args, root_l, past_char, gutturals[root_p], false, true) elseif args["geminate"] ~= "-" then args["imp"] = args["imp"] or "-" args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("וּ", get_form_medial(root_p)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_fut_stem_endings_gem(args, root_l, fut_char)

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מוּ", get_form_medial(root_p)) get_pres_stem_endings_gem(args, root_l, pres_char)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("הוּ", get_form_medial(root_p)) get_past_stem_endings_gem(args, root_l, past_char) elseif false then -- reserved for special cases else local uf_ = nil if args["assim"] ~= "-" then uf_ = append_parts({"ו", "ֻ"}, add_dagesh(root_a)) elseif monophthongize[root_p] then uf_ = append_parts("וּ", get_form_medial(root_a)) elseif gutturals[root_p] then if args["nochataf"] then uf_ = append_parts({"ו", "ֻ"}, get_form_medial(root_p), "ְ", get_form_initial(root_a)) else uf_ = append_parts({"ו", "ָ"}, get_form_medial(root_p), "ֳ", get_form_medial(root_a)) end else uf_ = append_parts({"ו", "ֻ"}, get_form_medial(root_p), "ְ", get_form_initial(root_a)) end

args["imp"] = args["imp"] or "-" args["fut_pre_stem"] = args["fut_pre_stem"] or uf_ args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מ", uf_) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, true)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("ה", uf_) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["nif"] = function(args, categories) local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"] local past_char = args["past_char"] or "a" local fut_char = args["fut_char"] or gutturals[root_l] and root_l ~= "א" and "a" or "i" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or "a"

if false then -- reserved for special cases elseif false then -- reserved for special cases else local if_ = nil local suf_if_ = nil if args["assim"] ~= "-" then if_ = get_form_double(root_a, "i") elseif monophthongize[root_p] then if_ = append_parts(monophthongize[root_p], get_form_medial(root_a)) elseif gutturals[root_p] then local v1 = root_p == "ע" and root_l == "י" and "ַ" or "ֶ" if args["nochataf"] then if_ = append_parts(v1, get_form_medial(root_p), "ְ", get_form_initial(root_a)) else local v2 = v1 == "ַ" and "ֲ" or "ֱ" if_ = append_parts(v1, get_form_medial(root_p), v2, get_form_medial(root_a)) suf_if_ = append_parts(v1, get_form_medial(root_p), v1, get_form_medial(root_a)) end else if_ = append_parts("ִ", get_form_medial(root_p), "ְ", get_form_initial(root_a)) end

args["inf"] = args["inf"] or append_parts("לְה", get_form_double(root_p, "i", true), "ָ", get_form_medial(root_a), root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) if root_l == "י" then args["noun"] = args["noun"] or append_parts("ה", get_form_double(root_p, "i", true), "ָ", get_form_medial(root_a), "וּת") else args["noun"] = args["noun"] or append_parts("ה", get_form_double(root_p, "i", true), "ָ", get_form_medial(root_a), shva_na(root_a), get_form_medial(root_l), "וּת") end

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts("ה", get_form_double(root_p, "i", true), "ָ", get_form_medial(root_a)) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts(get_form_double(root_p, "i", true), "ָ", get_form_medial(root_a)) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts(get_form_double(root_p, "e", true), "ָ", get_form_medial(root_a)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a)) get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("נ", if_) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, true)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("נ", if_) if suf_if_ then local pres_stem_name = root_l == "י" and "past_3fs_pre_stem" or "past_3_pre_stem" args[pres_stem_name] = args[pres_stem_name] or append_parts("נ", suf_if_) end get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["hit"] = function(args, categories) local itp = get_form_itp(args["root_p"]) local etp = get_form_etp(args["root_p"]) local root_a = args["root_a"] local root_l = args["root_l"] local past_char = args["past_char"] or "i" local fut_char = args["fut_char"] or "i" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or "i"

if false then -- reserved for special cases elseif false then -- reserved for special cases else args["inf"] = args["inf"] or append_parts("לְהִ", itp, get_form_double(root_a, "a"), root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) if root_l == "י" then args["noun"] = args["noun"] or append_parts("הִ", itp, get_form_double(root_a, "a"), "וּת") else args["noun"] = args["noun"] or append_parts("הִ", itp, get_form_double(root_a, "a"), shva_na(root_a), get_form_medial(root_l), "וּת") end

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts("הִ", itp, get_form_double(root_a, "a")) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ִ", itp, get_form_double(root_a, "a")) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts("ֶ", etp, get_form_double(root_a, "a")) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a)) get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מִ", itp, get_form_double(root_a, "a")) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("הִ", itp, get_form_double(root_a, "a")) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["hitpo"] = function(args, categories) local itp = get_form_itp(args["root_p"]) local etp = get_form_etp(args["root_p"]) local root_a = args["hollow"] == "-" and args["root_a"] or args["root_l"] local root_l = args["root_l"] local past_char = args["past_char"] or "i" local fut_char = args["fut_char"] or "i" local imp_char = args["imp_char"] or fut_char local inf_char = args["inf_char"] or fut_char local pres_char = args["pres_char"] or "i"

if false then -- reserved for special cases elseif false then -- reserved for special cases else args["inf"] = args["inf"] or append_parts("לְהִ", itp, "וֹ", get_form_medial(root_a), root_l == "י" and "וֹת" or append_parts(char_vowel[inf_char], get_form_final(root_l, inf_char))) if root_l == "י" then args["noun"] = args["noun"] or append_parts("הִ", itp, "וֹ", get_form_medial(root_a), "וּת") else args["noun"] = args["noun"] or append_parts("הִ", itp, "וֹ", get_form_medial(root_a), shva_na(root_a), get_form_medial(root_l), "וּת") end

args["imp_pre_stem"] = args["imp_pre_stem"] or append_parts("הִ", itp, "וֹ", get_form_medial(root_a)) args["fut_pre_stem"] = args["fut_pre_stem"] or append_parts("ִ", itp, "וֹ", get_form_medial(root_a)) args["fut_1sp_stem"] = args["fut_1sp_stem"] or append_parts("ֶ", etp, "וֹ", get_form_medial(root_a)) args["fut_mid_stem"] = args["fut_mid_stem"] or "" get_imp_stem_endings(args, root_l, imp_char, ends_in_guttural(root_a)) get_fut_stem_endings(args, root_l, fut_char, ends_in_guttural(root_a))

args["pres_pre_stem"] = args["pres_pre_stem"] or append_parts("מִ", itp, "וֹ", get_form_medial(root_a)) get_pres_stem_endings(args, root_l, pres_char, ends_in_guttural(root_a), true, false)

args["past_pre_stem"] = args["past_pre_stem"] or append_parts("הִ", itp, "וֹ", get_form_medial(root_a)) get_past_stem_endings(args, root_l, past_char, ends_in_guttural(root_a), false, true) end end

get_stems_for["hitpu"] = function(args, categories) error("Binyan hitpu`al is not yet implemented.") end

local form_names = { ["inf"] = true, ["noun"] = true, ["pp"] = true,

["imp_ms"] = true, ["imp_fs"] = true, ["imp_mp"] = true, ["imp_fp"] = true,

["fut_1s"] = true, ["fut_2ms"] = true, ["fut_2fs"] = true, ["fut_3ms"] = true, ["fut_3fs"] = true, ["fut_1p"] = true, ["fut_2mp"] = true, ["fut_2fp"] = true, ["fut_3mp"] = true, ["fut_3fp"] = true,

["past_1s"] = true, ["past_2ms"] = true, ["past_2fs"] = true, ["past_3ms"] = true, ["past_3fs"] = true, ["past_1p"] = true, ["past_2mp"] = true, ["past_2fp"] = true, ["past_3mp"] = true, ["past_3fp"] = true,

["pres_ms"] = true, ["pres_fs"] = true, ["pres_mp"] = true, ["pres_fp"] = true, }

local optional_forms = { ["inf"] = true, ["noun"] = true, ["pp"] = true, }

local table_template = [===[ {heading}  {\op}| border="1" color="#cdcdcd" style="width:100%;border-collapse:collapse;line-height:2em;border:2px solid #000000;background:#fdfdfd;text-align:center" class="inflection-table" ! scope='row' colspan="2" style="background:#E4C0CF;border-right:2px solid" | non-finite forms {non_finite} ! colspan="2" rowspan="2" style="background:#E4C0CF;border-right:2px solid" | finite forms ! scope='col' colspan="2" style="background:#C0CFE4" | singular ! scope='col' colspan="2" style="background:#C0CFE4" | plural ! scope='col' style="background:#C0CFE4" | m. ! scope='col' style="background:#C0CFE4" | f. ! scope='col' style="background:#C0CFE4" | m. ! scope='col' style="background:#C0CFE4" | f. ! scope='row' rowspan="3" style="background:#E2E4C0;width:1px" | past ! scope='row' style="background:#C0CFE4;border-right:2px solid;width:1px" | first ! scope='row' style="background:#C0CFE4;border-right:2px solid" | second ! scope='row' style="background:#C0CFE4;border-right:2px solid" | third ! scope='row' colspan="2" style="background:#E2E4C0;border-right:2px solid" | present ! scope='row' rowspan="3" style="background:#E2E4C0" | future ! scope='row' style="background:#C0CFE4;border-right:2px solid" | first ! scope='row' style="background:#C0CFE4;border-right:2px solid" | second ! scope='row' style="background:#C0CFE4;border-right:2px solid" | third ! scope='row' colspan="2" style="background:#E2E4C0;border-right:2px solid" | imperative ! scope='row' colspan="2" style="background:#E4C0CF;border-right:2px solid" | notes {notes} ]===]
 * colspan="4" style="text-align:left" |
 * - style="border-top:2px solid"
 * - style="border-top:2px solid"
 * colspan="2" | {past_1s} || colspan="2" | {past_1p}
 * {past_2ms} || {past_2fs} || {past_2mp}{2p_tag} || {past_2fp}{2p_tag}
 * {past_3ms} || {past_3fs} || colspan="2" | {past_3mp}
 * - style="border-top:2px solid"
 * {pres_ms} || {pres_fs} || {pres_mp} || {pres_fp}
 * - style="border-top:2px solid"
 * colspan="2" | {fut_1s} || colspan="2" | {fut_1p}
 * {fut_2ms} || {fut_2fs} || {fut_2mp} || {fut_2fp}{fp_tag}
 * {fut_3ms} || {fut_3fs} || {fut_3mp} || {fut_3fp}{fp_tag}
 * - style="border-top:2px solid"
 * {imp_ms} || {imp_fs} || {imp_mp} || {imp_fp}{fp_tag}
 * - style="border-top:2px solid"
 * colspan="4" style="text-align:left;word-wrap:break-word;width:1px;padding-right:1em" |
 * {\cl}

local non_finite = { ["inf"] = "* to-infinitive: {inf}\n", ["noun"] = "* action noun: {noun}\n", ["pp"] = "* passive participle: {pp}\n", }

local function make_table(args) for key, _ in pairs(form_names) do       args[key] = args[key] and gen_link(args[key]) or (not optional_forms[key]) and "—" end args["non_finite"] = m_strutils.format(non_finite["inf"], args) if args["noun"] then args["non_finite"] = args["non_finite"] .. m_strutils.format(non_finite["noun"], args) end if args["pp"] then args["non_finite"] = args["non_finite"] .. m_strutils.format(non_finite["pp"], args) end return m_strutils.format(table_template, args) end

local function track(binyan, args) local sub = nil local hollow = args["hollow"] ~= "-" local assim = args["assim"] ~= "-" local elide = args["elide"] ~= "-" and binyan == "pa" -- elide is only relevant to pa`al I think local geminate = args["geminate"] ~= "-" if binyan == "pa" or binyan == "nif" or binyan == "hif" or binyan == "huf" then if hollow then if assim or elide or geminate then sub = "?" else sub = "hollow" end elseif elide then if geminate then sub = "?" elseif assim then sub = "assim+elide" else sub = "elide" end elseif geminate then if assim then sub = "geminate+assim" else sub = "geminate" end elseif assim then sub = "assim" end end local m_debug = require('Module:debug') m_debug.track("he-conj/" .. binyan .. (sub and ("/" .. sub) or "")) if sub == "?" then m_debug.track("he-conj/incompatible-combination") end if args["past_long"] and args["past_long"] ~= "-" then m_debug.track("he-conj/past_long") end if args["past_long"] and args["fp_long"] ~= "-" then m_debug.track("he-conj/fp_long") end end

local function track_page(lemma) local namespace = mw.title.getCurrentTitle.nsText if namespace == "" then local pagename = mw.title.getCurrentTitle.text

local is_table = (type(lemma) == "table") local male = (lang:makeEntryName(is_table and lemma[1] or lemma))

if pagename ~= male then local haser = (lang:makeEntryName(is_table and lemma[2] or lemma))

local m_debug = require('Module:debug') if pagename ~= haser then m_debug.track("he-conj/not_at_lemma") else m_debug.track("he-conj/at_haser_spelling") end end end end

-- The main entry point. -- This is the only function that can be invoked from a template. function export.show(frame) local args = frame:getParent.args local binyan = args[1] or frame.args[1] or error("Binyan has not been specified. Please pass parameter 1 to the module invocation or parent template.") -- PAGENAME = mw.title.getCurrentTitle.text -- NAMESPACE = mw.title.getCurrentTitle.nsText

local categories = {}

parse_root(args) convert_root(args)

local root_p = args["root_p"] local root_a = args["root_a"] local root_l = args["root_l"]

if not (root_p and root_a and root_l) then error("Missing root letters.") end

args["hollow"] = args["hollow"] or ((root_a == "י" or root_a == "ו") and root_l ~= "י" and "+") or "-" args["geminate"] = args["geminate"] or ((root_a == root_l) and root_l ~= "י" and "+") or "-" args["assim"] = args["assim"] or (args["hollow"] == "-" and args["geminate"] == "-" and root_p == "נ" and not gutturals[root_a] and "+") or "-" args["elide"] = args["elide"] or (args["geminate"] and (args["assim"] ~= "-" == "-" or root_p == "י" or root_p == "ו") and root_l ~= "י" and "+") or "-"

track(binyan, args)

if binyan == "-" then -- do nothing, stems are given explicitly elseif get_stems_for[binyan] then get_stems_for[binyan](args, categories) else error("Unknown binyan code '" .. binyan .. "'") end

conjugate(args) -- finishes conjugation based on stems from get_stems_for[binyan]

local pre_notes = "" if args["past_2mp2"] and not equal(args["past_2mp"], args["past_2mp2"]) then args["2p_tag"] = "1" args["fp_tag"] = "2" pre_notes = pre_notes .. "# Pronounced " .. gen_link(args["past_2mp2"]) .. " and " .. gen_link(args["past_2fp2"]) .. " in informal Modern Hebrew.\n# Rare in Modern Hebrew.\n" else args["2p_tag"] = "" args["fp_tag"] = "1" pre_notes = pre_notes .. "# Rare in Modern Hebrew.\n" end args["notes"] = pre_notes .. (args["notes"] or "")

if args["bot"] or "" ~= "" then return make_bot_list(forms, sep ~= "") else track_page(args["past_3ms"]) return make_table(args, title) .. m_utilities.format_categories(categories, lang) end end

return export

title: Module:he-verb


text:
ņemošs

Participle

 * 1) taking;

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: ņemošs


text:
neņemošs

Participle

 * 1) not taking;

title: neņemošs


text: veikalnieciskas

title: veikalnieciskas


text: veikalnieciskiem

title: veikalnieciskiem


text:
veikalnieciskās

Adjective

title: veikalnieciskās


text:
veikalnieciskos

Adjective

title: veikalnieciskos


text: veikalnieciskām

title: veikalnieciskām


text: veikalnieciskam

title: veikalnieciskam


text: veikalnieciskai

title: veikalnieciskai


text:
veikalnieciskais

Adjective

 * 1) the mercantile, the commercial, the businesslike;

title: veikalnieciskais


text: veikalniecisko

title: veikalniecisko


text:
piederams

Participle

 * 1) which can or should belong to;

title: piederams


text:
nepiederams

Participle

 * 1) which cannot or should not belong to;

title: nepiederams


text:
piederēdams

Participle

 * 1) belonging to, befitting;

title: piederēdams


text:
nepiederēdams

Participle

 * 1) not belonging to, not befitting;

title: nepiederēdams


text:
redzēdamies

Participle

 * 1) seeing oneself, each other; meeting;

title: redzēdamies


text:
ships that pass in the night

Etymology
From a poetic metaphor by (1807–1882).

Noun

 * 1)  Two or more people who encounter one another in a transitory, incidental manner and whose relationship is without lasting significance; two or more people who almost encounter one another, but do not do so.
 * 2) * 2011 July 15, Kim Bielenberg, "18 holes with the Holywood hero," Independent (Ireland) (retrieved 19 Oct 2013) :
 * At one point, Gerry McIlroy had two jobs, putting in a 100-hour week as a cleaner and barman, while his mother Rosie worked a night shift in a factory. . . . Rosie and Gerry were like ships that passed in the night.
 * 1)  Things which have no significant connection or commonality.
 * 2) * 2009 February 14, Richard Dawkins, "The Science Show: Interpreting Darwin's theory" (transcript of interview), abc.net.au (Australia) (retrieved 19 Oct 2013) :
 * As a connoisseur of enigmatic titles . . . the Gouldian title that gives me most pleasure is a joint paper, "Clams and brachiopods: Ships that pass in the night," in a learned journal.
 * 1)  Things which have no significant connection or commonality.
 * 2) * 2009 February 14, Richard Dawkins, "The Science Show: Interpreting Darwin's theory" (transcript of interview), abc.net.au (Australia) (retrieved 19 Oct 2013) :
 * As a connoisseur of enigmatic titles . . . the Gouldian title that gives me most pleasure is a joint paper, "Clams and brachiopods: Ships that pass in the night," in a learned journal.
 * 1) * 2009 February 14, Richard Dawkins, "The Science Show: Interpreting Darwin's theory" (transcript of interview), abc.net.au (Australia) (retrieved 19 Oct 2013) :
 * As a connoisseur of enigmatic titles . . . the Gouldian title that gives me most pleasure is a joint paper, "Clams and brachiopods: Ships that pass in the night," in a learned journal.
 * 1) * 2009 February 14, Richard Dawkins, "The Science Show: Interpreting Darwin's theory" (transcript of interview), abc.net.au (Australia) (retrieved 19 Oct 2013) :
 * As a connoisseur of enigmatic titles . . . the Gouldian title that gives me most pleasure is a joint paper, "Clams and brachiopods: Ships that pass in the night," in a learned journal.

Usage notes

 * Often used in the prepositional phrase.

title: ships that pass in the night


text: ships that passed in the night

title: ships that passed in the night


text: ships passing in the night

title: ships passing in the night


text:
neredzēdamies

Participle

 * 1) not seeing oneself, each other; not meeting;

title: neredzēdamies


text:
skatīdams

Participle

 * 1) seeing, looking;

title: skatīdams


text:
neskatīdams

Participle

 * 1) not seeing, not looking;

title: neskatīdams


text:
skaitīdams

Participle

 * 1) counting;

title: skaitīdams


text:
neskaitīdams

Participle

 * 1) not counting;

title: neskaitīdams


text: ships in the night

title: ships in the night


text:
iedzerdams

Participle

 * 1) drinking, having a drink;

title: iedzerdams


text:
neiedzerdams

Participle

 * 1) not drinking, not having a drink;

title: neiedzerdams


text:
ņemdams

Participle

 * 1) taking;

title: ņemdams


text:
neņemdams

Participle

 * 1) not taking;

title: neņemdams


text: veikalnieciskajam

title: veikalnieciskajam


text: veikalnieciskajām

title: veikalnieciskajām


text: veikalnieciskajā

title: veikalnieciskajā


text: veikalnieciskie

title: veikalnieciskie


text: veikalnieciskajiem

title: veikalnieciskajiem


text: veikalnieciskajai

title: veikalnieciskajai


text: veikalnieciskajos

title: veikalnieciskajos


text: veikalnieciskajās

title: veikalnieciskajās


text:
veikalnieciskāks

Adjective

 * 1) more mercantile, more commercial, more businesslike;

title: veikalnieciskāks


text: veikalnieciskāku

title: veikalnieciskāku


text:
User talk:Angga (usurped)

--Lo Ximiendo (talk) 04:46, 23 October 2013 (UTC)

Request for usurpation
Hello,. A request has been made via SRUC (metawiki) to usurp, or "take over", your username because another user would like to use it to edit.

If you do not object to being renamed to a new username in order for another user to use the name you currently have, please log in and post a reply here saying so (you may also tell us what username you would like to be renamed to, or we will provide you with a generic one) or use Special:GlobalRenameRequest.

If you do nothing : the request may be filled shortly, and your account will be moved to a generic username. You may request that it be moved to a new username of your choice at any time.

If you object to being renamed : please log in and make an edit to this page clearly stating that you object to usurpation. Any objection on your part will prevent usurpation.

Please note that even if your current username is usurped, you can still edit and your data will not be lost; your preferences, watchlist, and other user settings will be transferred to a new username.

Thank you for your time. علاء (talk) 05:47, 15 August 2018 (UTC)

title: User talk:Angga (usurped)


text:
エキスパート

Etymology
From.

Noun

 * 1) an expert

title: エキスパート


text:
άδω

Etymology
From.

Verb

 * 1) to sing

title: άδω


text:
accordeonfile

Etymology
From.

Noun

 * 1) heavy stop-and-start traffic

title: accordeonfile


text:
εμπόρευμα

Noun

 * 1) merchandise, commodities, wares

title: εμπόρευμα


text:
badhbh

Etymology
From.

Noun

 * 1) war-goddess
 * 2) hooded crow
 * 3) vulture or other ravenous bird
 * 4) a scold or curser
 * 5) a female fairy said to be attached to certain families and to foretell death, appearing as a hooded crow
 * 1) a scold or curser
 * 2) a female fairy said to be attached to certain families and to foretell death, appearing as a hooded crow
 * 1) a female fairy said to be attached to certain families and to foretell death, appearing as a hooded crow

title: badhbh


text: αγριοφωνάρας

title: αγριοφωνάρας


text: αγριοφωνάρες

title: αγριοφωνάρες


text: αγριόχοιρου

title: αγριόχοιρου


text: αγριόχοιρο

title: αγριόχοιρο


text: αγριόχοιρε

title: αγριόχοιρε


text: αγριόχοιροι

title: αγριόχοιροι


text: αγριόχοιρων

title: αγριόχοιρων


text: αγριόχοιρους

title: αγριόχοιρους


text: αγροικίας

title: αγροικίας


text: αγροικίες

title: αγροικίες


text: αγροικιών

title: αγροικιών


text:
虹彩炎

Noun

 * 1) iritis

title: 虹彩炎


text: ຫຼວງພຣະບາງ

title: ຫຼວງພຣະບາງ


text:
Watsonish

Adjective

 * 1) Resembling or characteristic of the character  from the Sherlock Holmes stories.

title: Watsonish


text:
ingubbiatura

Etymology
From.

Noun

 * 1) glaze (on pottery)

title: ingubbiatura


text:
poison hemlock

Noun

 * 1) The European hemlock, an extremely poisonous plant in the carrot family,.
 * 2)  A lethally poisonous drink made from the plant.

title: poison hemlock


text: Category:Japanese terms spelled with 庁 read as ちょう


text:
inoccupato

Etymology
From.

Adjective

 * 1) that is seeking first employment

Noun

 * 1) jobseeker (for the first time)

title: inoccupato


text: inorpellando

title: inorpellando


text: inorpellante

title: inorpellante


text: inorpellato

title: inorpellato


text: inorpellati

title: inorpellati


text: inorpellata

title: inorpellata


text: inorpello

title: inorpello


text: inorpelli

title: inorpelli


text: inorpella

title: inorpella


text: inorpelliamo

title: inorpelliamo


text:
inorpellare

Etymology
From.

Verb

 * 1)  to decorate with pinchbeck
 * 2)  to hide under a false, pleasant appearance
 * 3)  to disguise

title: inorpellare


text: inorpellate

title: inorpellate


text: inorpellano

title: inorpellano


text: inorpellavo

title: inorpellavo


text: inorpellavi

title: inorpellavi


text: inorpellava

title: inorpellava


text: inorpellavamo

title: inorpellavamo


text: inorpellavate

title: inorpellavate


text: inorpellavano

title: inorpellavano


text: inorpellai

title: inorpellai


text: inorpellasti

title: inorpellasti


text: inorpellò

title: inorpellò


text: inorpellammo

title: inorpellammo


text: inorpellaste

title: inorpellaste


text: inorpellarono

title: inorpellarono


text: inorpellerò

title: inorpellerò


text: inorpellerai

title: inorpellerai


text: inorpellerà

title: inorpellerà


text: inorpelleremo

title: inorpelleremo


text: inorpellerete

title: inorpellerete


text: inorpelleranno

title: inorpelleranno


text: inorpellerei

title: inorpellerei


text: inorpelleresti

title: inorpelleresti


text: inorpellerebbe

title: inorpellerebbe


text: inorpelleremmo

title: inorpelleremmo


text: inorpellereste

title: inorpellereste


text: inorpellerebbero

title: inorpellerebbero


text: inorpelliate

title: inorpelliate


text: inorpellino

title: inorpellino


text: inorpellassi

title: inorpellassi


text: inorpellasse

title: inorpellasse


text: inorpellassimo

title: inorpellassimo


text: inorpellassero

title: inorpellassero


text:
Chitonidae

Etymology
From.

title: Chitonidae


text:
Мәҙинә

Etymology
From.

title: Мәҙинә


text:
電圧計

Noun

 * 1) voltmeter

title: 電圧計


text:
turcopole

Etymology
From, from +.

Noun

 * 1)  A mounted  locally recruited by the Christian states during the Crusades.

title: turcopole


text:
turcopolier

Noun

 * 1)  A knight who is in charge of a group of turcopoles.

title: turcopolier


text: mallrat

title: mallrat


text:
positive punk

Etymology
So called because it lacked the nihilistic aggression of the wider subculture. .

Noun

 * 1)  Gothic rock.

title: positive punk


text:
southern fairy

Noun

 * 1)  Someone from southern, stereotyped as effete and pretentious.

title: southern fairy


text:
northern monkey

Noun

 * 1)  Someone from northern, stereotyped as uncouth and uncivilized.

title: northern monkey


text:
badb

Etymology
From, the name of a war goddess.

Noun

 * 1) hooded crow
 * 2) witch

title: badb


text:
niggercide

Etymology
From.

Noun

 * 1)  The killing of a  person.

title: niggercide


text:
Oudin coil

Etymology
.

Noun

 * 1) A modified  used to produce high voltage arcs and discharges.

title: Oudin coil


text:
black metaller

Etymology
From.

Noun

 * 1) A fan of  music.

title: black metaller


text:
death metaller

Etymology
From.

Noun

 * 1) A fan of.

title: death metaller


text:
thrash metaller

Etymology
From.

Noun

 * 1) A fan or performer of.

title: thrash metaller


text:
Мәккә

Etymology
From.

title: Мәккә


text:
gothabilly

Etymology
.

Noun

 * 1)  A musical genre combining  and, and its associated subculture (style of clothing, etc).
 * 2)  A member of this subculture.

title: gothabilly


text:
inorpellamento

Etymology
From.

Noun

 * 1) cheap, flashy decoration

title: inorpellamento


text:
inorpellatura

Etymology
From.

Noun

 * 1) cheap, flashy decoration

title: inorpellatura


text: ZOG

title: ZOG


text:
inorpellatore

Etymology
From.

Noun

 * 1) wolf in sheep's clothing

title: inorpellatore


text:
inquartazione

Noun

 * 1) inquartation, quartation

title: inquartazione


text:
insalataio

Noun

 * 1) a grower or seller of salad plants and/or herbs

title: insalataio


text: monophthongisation

title: monophthongisation


text: insalando

title: insalando


text: insalante

title: insalante


text: insalato

title: insalato


text: insalati

title: insalati


text:
insalare

Etymology
From.

Verb

 * 1)  to season with salt; to salt
 * 2)  to cause to become salt or saline
 * 3)  to regulate wisely
 * 1)  to regulate wisely

title: insalare


text: insalo

title: insalo


text: insali

title: insali


text: insala

title: insala


text: insaliamo

title: insaliamo


text: insalano

title: insalano


text: insalavo

title: insalavo


text: insalavi

title: insalavi


text: insalava

title: insalava


text: insalavamo

title: insalavamo


text: insalavate

title: insalavate


text: insalavano

title: insalavano


text: insalai

title: insalai


text: insalasti

title: insalasti


text: insalò

title: insalò


text: insalammo

title: insalammo


text: insalaste

title: insalaste


text: insalarono

title: insalarono


text: insalerò

title: insalerò


text: insalerai

title: insalerai


text: insalerà

title: insalerà


text: insaleremo

title: insaleremo


text: insalerete

title: insalerete


text: insaleranno

title: insaleranno


text: insalerei

title: insalerei


text: insaleresti

title: insaleresti


text: insalerebbe

title: insalerebbe


text: insaleremmo

title: insaleremmo


text: insalereste

title: insalereste


text: insalerebbero

title: insalerebbero


text: insaliate

title: insaliate


text: insalino

title: insalino


text: insalassi

title: insalassi


text: insalasse

title: insalasse


text: insalassimo

title: insalassimo


text: insalassero

title: insalassero


text:
insalatura

Etymology
From.

Noun

 * 1) (the act of) seasoning with salt
 * 2) salinification

title: insalatura


text:
Southern drawl

Noun

 * 1)  The  or  of the vowels,  and  into ,  and , occurring in English spoken in the Southern.

title: Southern drawl


text:
insaldatura

Etymology
From.

Noun

 * 1) starching

title: insaldatura


text:
insanguinamento

Etymology
From.

Noun

 * 1) bloodbath

title: insanguinamento


text:
chainlink

Etymology
From 🇰🇲.

Noun

 * 1) Wires woven in a  pattern to form a.

Translations

 * Finnish: panssariverkkoaita,
 * German:
 * Hungarian:
 * Spanish: eslabón de la cadena

title: chainlink


text: insapienza

title: insapienza


text:
serial killer van

Etymology
From the idea that such a van might be suited to abducting somebody.

Noun

 * 1)  A windowless.

title: serial killer van


text:
Acanthopleura

Etymology
From.

title: Acanthopleura


text:
inscienza

Noun

 * 1) ignorance (lack of knowledge)

title: inscienza


text:
crapstain

Etymology
From.

Noun

 * 1)  An  person.

title: crapstain


text:
insegnatore

Etymology
From.

Adjective

 * 1) teaching

Noun

 * 1) teacher
 * 2) lecturer

title: insegnatore


text:
brown note

Noun

 * 1) A hypothetical  frequency that would cause a person to lose control of their.

title: brown note


text:
judgy-pants

Noun

 * 1)  An excessively judgmental person.
 * 2) * 2011, Colleen Bezeau, "Editor's Note", Okanagan Child, Summer 2011, page 5:
 * Parenting is hard enough without having judgy-pants people interfering.

title: judgy-pants


text:
integrista

Adjective

 * 1) fundamental

title: integrista


text:
Citations:judgy pants

Noun: "alternative form of judgy-pants"

 * 2010, Kiefer Roberts, "Don’t Do That: Kiefer Roberts’ open letters to the campus community", The College Voice (Connecticut College), Volume 35, Issue 9, 6 December 2010, page 6:
 * Yeah, I listen to bands you like, too, but you wouldn’t know that because you’re too busy writing me off as a quality-hating, mass-market appreciating bullshit lover. Don’t be so hasty, judgy pants.

title: Citations:judgy pants


text:
interleuchina

Noun

 * 1)  interleukin

title: interleuchina


text:
internazionalprivatista

Noun

 * 1)  a lawyer who specializes in private international law

title: internazionalprivatista


text:
mallgoth

Etymology
From, suggesting that they purchase their clothes from mainstream retail outlets.

Noun

 * 1)  Originally, an inauthentic or trendy goth; now, a person who dresses in goth-inspired clothes, is interested in industrial metal and nu metal music, etc.
 * 2)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.
 * 1)  The culture or fashion style adopted by such a person.

Translations

 * Finnish: mallgoth-gootti
 * Macedonian: мо́лгот

 * Finnish: mallgoth-tyyli
 * Macedonian: мо́лготски стил

title: mallgoth


text:
private international law

Etymology
The sense of this word order is that it is private law that typically applies between various nationals, rather than international law of a private character.

Noun

 * 1) The law of a state that decides the law of which state is applied to legal relationships in civil and commercial matters that contain foreign elements.

Translations

 * Arabic: قَانُون دَوْلِيّ خَاصّ
 * Bulgarian: междунаро́дно ча́стно пра́во
 * Chinese:
 * Mandarin:
 * Finnish: kansainvälinen yksityisoikeus
 * French: droit international privé
 * German: Internationales Privatrecht, Kollisionsrecht
 * Polish: prawo prywatne międzynarodowe
 * Portuguese: direito internacional privado
 * Russian: междунаро́дное ча́стное пра́во
 * Serbo-Croatian:
 * Cyrillic: међуна́родно при̏ва̄тно пра́во
 * Latin: međunárodno prȉvātno právo
 * Spanish: derecho internacional privado
 * Thai: กฎหมายระหว่างประเทศแผนกคดีบุคคล

title: private international law


text:
spitshine

Etymology
From.

Noun

 * 1) A  where a liquid, traditionally, is used.

Verb

 * 1)  To clean with a spitshine.

title: spitshine


text:
fireshine

Etymology
From.

Noun

 * 1) The  or  of.

title: fireshine


text:
interpiano

Etymology
From.

Noun

 * 1) half-landing
 * 2) the distance between adjacent storeys of a building
 * 3) the distance between adjacent wings of a biplane, triplane etc.

title: interpiano


text:
half-landing

Noun

 * 1) A small landing between two flights of stairs that connect adjacent floors of a building.

Translations

 * Bulgarian:
 * Italian:
 * Polish:

title: half-landing


text:
smartwatch

Etymology
From. Compare.

Noun

 * 1) A wristwatch with electronic functionality beyond timekeeping.
 * 2) A mobile device worn on the wrist with a touchscreen display.

Translations

 * Chinese: 智能手錶; 智能手表
 * Danish: smartur
 * Dutch:
 * Esperanto: saĝhorloĝo
 * Estonian: nutikell
 * Finnish: älykello
 * French:
 * German:, Computeruhr
 * Hungarian: okosóra
 * Icelandic: snjallúr
 * Indonesian: arloji pintar, jam tangan pintar
 * Italian: orologio intelligente,
 * Japanese:
 * Korean: 스마트워치
 * Norwegian:
 * Bokmål: smartklokke
 * Nynorsk: smartklokke
 * Portuguese: relógio inteligente
 * Romanian: ceas inteligent, smartwatch
 * Serbo-Croatian:
 * Cyrillic: па̏метнӣ са̑т
 * Latin: pȁmetnī sȃt
 * Spanish: reloj inteligente, smartwatch
 * Swedish:
 * Turkish: akıllı saat
 * Vietnamese: đồng hồ thông minh

Etymology
.

title: smartwatch


text:
dragonking

Etymology
From.

Noun

 * 1)  A  with the ability to control dragons.

title: dragonking


text:
iridodonesi

Noun

 * 1) iridodonesis

title: iridodonesi


text:
Talk:iridodonesi

Note: Some dictionaries give this word a plural - iridodonesie. SemperBlotto (talk) 09:26, 23 October 2013 (UTC)

title: Talk:iridodonesi


text:
high fantasy

Noun

 * 1)  A subgenre of fantasy fiction set in a secondary world or fantasy world as opposed to the primary world or real world.
 * 2)  A subgenre of fantasy fiction that focuses on universal events, instead of just those directly associated with the main characters.
 * 3)  A work in this subgenre.
 * 1)  A subgenre of fantasy fiction that focuses on universal events, instead of just those directly associated with the main characters.
 * 2)  A work in this subgenre.
 * 1)  A work in this subgenre.
 * 1)  A work in this subgenre.

Adjective

 * 1)  Having a rich fantasy life; including having imaginary companions and playing pretend games.

title: high fantasy


text:
勢力均衡

Noun

 * 1) balance of power

title: 勢力均衡


text: Category:Japanese terms spelled with 均 read as きん


text:
hard science fiction

Etymology
.

Noun

 * 1)  A subgenre of  that focuses on technical detail and scientific accuracy.

title: hard science fiction


text: Category:Japanese terms spelled with 衡 read as こう


text:
soft science fiction

Etymology
After, attributed to.

Noun

 * 1)  A subgenre of science fiction that focuses on the nature of its speculative societies or that employs pseudoscience.

title: soft science fiction


text:
419 scammer

Etymology
From or.

Noun

 * 1) A person who carries out a.

title: 419 scammer


text: faggod

title: faggod


text:
gayfag

Noun

 * 1)  A, faggot

title: gayfag


text: SLI

title: SLI


text:
specific language impairment

Noun

 * 1)  A disorder where a person's language skills are retarded or abnormally poor for unknown reasons.

title: specific language impairment


text:
skatāms

Participle

 * 1) which can or should be seen, looked (at);

title: skatāms


text:
headcarry

Etymology
From.

Verb

 * 1)  To  on one’s.

title: headcarry


text:
neskatāms

Participle

 * 1) which cannot or should not be seen, looked (at);

title: neskatāms


text:
isegoria

Etymology
From.

Noun

 * 1) equality of all citizen in freedom of speech, specially in public assemblies.
 * 2) the right of each citizen of a city (or other unit) to speak in public and address that city.

Synonyms

 * isogoria
 * isegory (rare)

Translations

 * French:
 * Greek:
 * Interlingua:
 * Italian: (isegorìa)
 * Spanish:

title: isegoria


text:
skaitāms

Participle

 * 1) which can or should be counted;

title: skaitāms


text:
neskaitāms

Participle

 * 1) which cannot or should not be counted;

title: neskaitāms


text:
iedzerams

Participle

 * 1) which can or should be drunk;

title: iedzerams


text:
scambaiting

Etymology
From.

Noun

 * 1)  The practice of posing as a potential victim of a, usually the , in order to waste the scammer’s time and resources.

Translations

 * French: scambaiting
 * Russian: скамбейтинг, скамбэйтинг

title: scambaiting


text:
neiedzerams

Participle

 * 1) which cannot or should not be drunk;

title: neiedzerams


text:
isostenuria

Noun

 * 1)  isosthenuria

title: isostenuria


text:
ņemams

Participle

 * 1) which can or should be taken;

title: ņemams


text:
neņemams

Participle

 * 1) which cannot or should not be taken;

title: neņemams


text:
lithp

Etymology
Respelling of, as a person with a lisp would pronounce it.

title: lithp


text:
bayhead

Etymology
From.

Noun

 * 1)  A   dominated by bay laurels.

title: bayhead


text:
italofobia

Noun

 * 1) Italophobia

title: italofobia


text: veikalnieciskāka

title: veikalnieciskāka


text: jūnshī

title: jūnshī


text:
italosomalo

Noun

 * 1) a person with mixed Italian / Somali parentage

title: italosomalo


text:
ittiofobia

Noun

 * 1) ichthyophobia

title: ittiofobia


text:
veikalnieciskāk

Adverb

 * 1) more mercantile, more commercial, more businesslike, more commercially;

title: veikalnieciskāk


text: veikalnieciskākus

title: veikalnieciskākus


text:
izza

Etymology
From the Longobardic word *hitza, with the meaning of heat or fury.

Noun

 * 1) ire, anger, fury, wrath

Noun

 * 1) heartburn
 * 2) stomach acid, gastric acid

title: izza


text:
veikalnieciskākā

Adjective

title: veikalnieciskākā


text:
Broca's aphasia

Noun

 * 1)  A disorder where a sufferer is unable to use fluent grammar when speaking or writing, and utterances are almost always ungrammatical.

Translations

 * Afrikaans: Broca se afasie
 * Finnish: Brocan afasia, ekspressiivinen afasia
 * French:
 * Portuguese: afasia de Broca

title: Broca's aphasia


text: idiologi

title: idiologi


text: idrolati

title: idrolati


text: idronautiche

title: idronautiche


text: veikalnieciskākas

title: veikalnieciskākas


text: ieroduli

title: ieroduli


text: ierodule

title: ierodule


text: ierofanie

title: ierofanie


text: ifeme

title: ifeme


text: imenoplastiche

title: imenoplastiche


text: incantazioni

title: incantazioni


text: induttometri

title: induttometri


text: inessivi

title: inessivi


text: ingubbiature

title: ingubbiature


text: inoccupati

title: inoccupati


text: inorpellamenti

title: inorpellamenti


text: inorpellature

title: inorpellature


text: inorpellatori

title: inorpellatori


text: inquartazioni

title: inquartazioni


text: insalatai

title: insalatai


text: insalature

title: insalature


text: insaldature

title: insaldature


text: insanguinamenti

title: insanguinamenti


text: insapienze

title: insapienze


text: inscienze

title: inscienze


text: veikalnieciskākiem

title: veikalnieciskākiem


text: insegnatori

title: insegnatori


text: integristi

title: integristi


text: interleuchine

title: interleuchine


text: internazionalprivatisti

title: internazionalprivatisti


text: interpiani

title: interpiani


text: isostenurie

title: isostenurie


text: italofobie

title: italofobie


text: italosomali

title: italosomali


text: ittiofobie

title: ittiofobie


text: izze

title: izze


text:
veikalnieciskākās

Adjective

title: veikalnieciskākās


text:
herous

Etymology
From the, a contraction of.

Adjective

 * 1) of  relating to a ,
 * 2)  heroic,

Noun

 * 1) an epic

title: herous


text:
veikalnieciskākos

Adjective

title: veikalnieciskākos


text: veikalnieciskākām

title: veikalnieciskākām


text: veikalnieciskākam

title: veikalnieciskākam


text:
erityistalousalue

Noun

 * 1)  special economic zone, SEZ region which enjoys special economic privileges as compared to the rest of the country; used by state controlled economies to attract investments and boost growth, exports and employment

title: erityistalousalue


text:
igpay atinlay

Etymology
Pig Latin spelling of pig Latin.

Noun

 * 1)  Pig Latin.

title: igpay atinlay


text: veikalnieciskākai

title: veikalnieciskākai


text:
jequiritina

Noun

 * 1) abrin

title: jequiritina


text:
hayhead

Etymology
From.

Noun

 * 1) A type of   used to reap.

title: hayhead


text:
lactonazi

Noun

 * 1)  An overzealous lactivist.

title: lactonazi


text: lactonazis

title: lactonazis


text:
strawhead

Etymology
From.

Noun

 * 1)  A  person.

title: strawhead


text: veikalnieciskāki

title: veikalnieciskāki


text:
Herous

Etymology
From.

Adjective

 * 1) of  of  priestess of in the myth

title: Herous


text:
veikalnieciskākais

Adjective

 * 1) the more mercantile, the more commercial, the more businesslike;

title: veikalnieciskākais


text: veikalnieciskāko

title: veikalnieciskāko


text:
jivadaya

Alternative forms

 * (also capitalised forms)

Noun

 * 1)  kindness to animals (or to all living things)

title: jivadaya


text:
piederēts

Participle

 * 1) belonged to, befitted;

title: piederēts


text:
nepiederēts

Participle

 * 1) not belonged to, not befitted;

title: nepiederēts


text: erikoistalousalue

title: erikoistalousalue


text:
Citations:lacto-fascist

Noun: "(slang, derogatory) an overzealous lactivist"

 * 2009, Melanie McDonagh, "Ferries on a Sunday ride roughshod over sensibilities", The Telegraph, 19 July 2009:
 * For such mothers, I'd recommend a liberating article in the Atlantic, an American magazine, in April, in which Hannah Rosin reviewed the medical literature on whether breast milk actually confers the advantages the lacto-fascists claim.

title: Citations:lacto-fascist


text:
siege tower

Noun

 * 1)  A, consisting of a wheeled wooden  with ladders inside, which was parked next to walls so assailants could safely scale them.

Translations

 * Danish:
 * Dutch: belegeringstoren, evenhoge
 * Estonian: piiramistorn
 * Finnish: piiritystorni
 * French: ,
 * German:, Wandelturm
 * Greek:
 * Ancient: ἑλέπολις
 * Italian:
 * Latin: fala
 * Polish: wieża oblężnicza
 * Portuguese:
 * Russian: оса́дная ба́шня
 * Spanish:
 * Swedish: belägringstorn, stormtorn

title: siege tower


text:
kaliuria

Noun

 * 1)  kaliuresis

title: kaliuria


text:
skatīts

Participle

 * 1) seen, looked (at);

title: skatīts


text:
neskatīts

Participle

 * 1) not seen, not looked (at);

title: neskatīts


text:
kashmiri

Noun

 * 1) Kashmiri (language)

title: kashmiri


text:
skaitīts

Participle

 * 1) counted;

title: skaitīts


text:
staff sling

Noun

 * 1) A weapon consisting of a short  at the end of a.

title: staff sling


text: kellerina

title: kellerina


text:
neskaitīts

Participle

 * 1) not counted;

title: neskaitīts


text:
iedzerts

Participle

 * 1) drunk;

title: iedzerts


text:
neiedzerts

Participle

 * 1) not drunk;

title: neiedzerts


text:
killeraggio

Etymology
From.

Noun

 * 1)  hit assassination by a hitman
 * 2)  defamation
 * 1)  defamation

title: killeraggio


text:
cestrosphendone

Etymology
From via.

Noun

 * 1)  An Ancient Greek sling used to fling darts.

title: cestrosphendone


text:
fucka

Etymology
Borrowed from the verb. The adjective may be considered a borrowing from the adjective.

Adjective

 * 1)  fucked

Verb

 * 1)  to fuck up (mess up, ruin)

title: fucka


text:
ņemts

Participle

 * 1) taken;

title: ņemts


text:
kinetoscopio

Noun

 * 1) kinetoscope

Noun

 * 1) kinetoscope

title: kinetoscopio


text: crosscontaminate

title: crosscontaminate


text:
kinyarwanda

Noun

 * 1) Kinyarwanda (language)

Noun

 * 1) Kinyarwanda (language)

title: kinyarwanda


text:
trawlwire

Etymology
From.

Noun

 * 1)  A cable connecting a  to a.

title: trawlwire


text: piederēdama

title: piederēdama


text:
kirundi

Noun

 * 1) Kirundi

Noun

 * 1) Kirundi

title: kirundi


text: piederēdami

title: piederēdami


text: piederēdamas

title: piederēdamas


text:
Klandom

Etymology
From.

Noun

 * 1) The whole body of  members.

title: Klandom


text: nepiederēdama

title: nepiederēdama


text:
kobret

Noun

 * 1) a low-grade of heroin

title: kobret


text: nepiederēdami

title: nepiederēdami


text: nepiederēdamas

title: nepiederēdamas


text:
untortoiselike

Etymology
From.

Adjective

 * 1) Unlike a tortoise.

title: untortoiselike


text: redzēdamās

title: redzēdamās


text:
Citations:oxyt.

 * 1940, Henry George Liddell and Robert Scott, , : Clarendon Press, “ἀσφόδελος”:
 * II. oxyt., as Adj., the asphodel mead which the shades of heroes haunted, Od.11.539, 24.13: generally, flowery mead,  h.Merc. 221, 344. (On the accent v. Hdn.Gr.1.160.)

title: Citations:oxyt.


text:
manface

Etymology
From.

Noun

 * 1)  A  with  features.

title: manface


text: neredzēdamās

title: neredzēdamās


text:
ratface

Etymology
From.

Noun

 * 1)  A human  with  features.

Translations

 * German:

title: ratface


text: Citations:Britpicker

title: Citations:Britpicker


text: skatīdama

title: skatīdama


text: skatīdami

title: skatīdami


text: skatīdamas

title: skatīdamas


text:
kyriale

Noun

 * 1) Kyrie eleison (prayer)

title: kyriale


text: neskatīdama

title: neskatīdama


text: neskatīdami

title: neskatīdami


text:
palataalinen

Etymology
(see 🇨🇬). Adapted with the adjectival suffix.

Adjective

 * 1) palatal

title: palataalinen


text: neskatīdamas

title: neskatīdamas


text: skaitīdama

title: skaitīdama


text: skaitīdami

title: skaitīdami


text: skaitīdamas

title: skaitīdamas


text: neskaitīdama

title: neskaitīdama


text:
kharja

Etymology
.

Noun

 * 1)  The final refrain of a muwashshah.

Translations

 * Portuguese: carja
 * Spanish:

title: kharja


text: neskaitīdami

title: neskaitīdami


text: neskaitīdamas

title: neskaitīdamas


text:
ecoalarmist

Etymology
From.

Noun

 * 1) One who alarms others with  issues.

title: ecoalarmist


text: iedzerdama

title: iedzerdama


text: iedzerdami

title: iedzerdami


text:
high island

Noun

 * 1)  An  of  origin.

Translations

 * Azerbaijani: vukanik ada
 * Basque: uharte bolkaniko
 * Catalan: illa volcànica
 * Dutch: hoog eiland
 * Esperanto: vulkaninsulo
 * Estonian: vulkaaniline saar
 * French: île volcanique
 * German:
 * Italian: isola vulcanica
 * Latin: insula alta
 * Polish: wyspa wulkaniczna
 * Portuguese: ilha elevada
 * Russian: вулкани́ческий о́стров
 * Spanish: isla volcánica
 * Turkish: volkanik ada
 * Vietnamese: đảo núi lửa

title: high island


text: iedzerdamas

title: iedzerdamas


text:
low island

Noun

 * 1)  An  of  origin.

title: low island


text: neiedzerdama

title: neiedzerdama


text: neiedzerdami

title: neiedzerdami


text: neiedzerdamas

title: neiedzerdamas


text:
Christicide

Etymology
From.

Noun

 * 1)  The killing of.
 * 2)  One responsible for the death of Christ.

title: Christicide


text: ņemdama

title: ņemdama


text: ņemdami

title: ņemdami


text: ņemdamas

title: ņemdamas


text: neņemdama

title: neņemdama


text:
painy

Etymology
From.

Adjective

 * 1)  Relating to, having, showing or causing pain.

title: painy


text: neņemdami

title: neņemdami


text: neņemdamas

title: neņemdamas


text:
makkarankuori

Noun

 * 1) sausage casing

title: makkarankuori


text:
Metal Age

Noun

 * 1)  An  characterised by the use of tools made from a specific type of.

Proper noun

 * 1) The age characterised by the use of metal tools.
 * 2) The.

title: Metal Age


text:
envirotard

Etymology
.

Noun

 * 1)  An.

title: envirotard


text:
ecocrazy

Etymology
From.

Noun

 * 1)  A fanatical.

title: ecocrazy


text:
ecohippie

Etymology
From.

Noun

 * 1)  An.

title: ecohippie


text:
Chicagorilla

Etymology
, coined by.

Noun

 * 1)  A ; a.

title: Chicagorilla


text:
shkarzej

Etymology
A variant of. Alternatively from an unattested Balkan Latin ("to spin wool").

Verb

 * 1) to humiliate, to abase
 * 2) to roll in the dust (horses, donkeys)

title: shkarzej


text:
Winchellism

Etymology
, from.

Noun

 * 1) A word coined by Walter Winchell.
 * 2)  Behaviour associated with Walter Winchell.

title: Winchellism


text:
Winchellese

Etymology
, from.

Noun

 * 1) The writing and speaking style of Walter Winchell.

title: Winchellese


text:
Baltimoron

Etymology
.

Noun

 * 1)  Someone from, Maryland.

title: Baltimoron


text:
Ciceronical

Etymology
Either the (stem: ) or the  suffixed with the 🇨🇬.

title: Ciceronical


text:
pseudoenvironmentalist

Etymology
From.

Noun

 * 1) A false.

Adjective

 * 1) Falsely promoting  goals.

title: pseudoenvironmentalist


text:
Kinkadian

Etymology
, from.

Adjective

 * 1) Of or relating to American painter Thomas Kinkade or his style.

title: Kinkadian


text:
pseudo-inspirational

Etymology
From.

Adjective

 * 1) Falsely.

title: pseudo-inspirational


text: veikalnieciskākajam

title: veikalnieciskākajam


text: veikalnieciskākajām

title: veikalnieciskākajām


text:
Hoaxocaust

Etymology
.

Proper noun

 * 1)  The, seen as a.

title: Hoaxocaust


text: veikalnieciskākajā

title: veikalnieciskākajā


text: veikalnieciskākie

title: veikalnieciskākie


text: veikalnieciskākajiem

title: veikalnieciskākajiem


text: veikalnieciskākajai

title: veikalnieciskākajai


text: veikalnieciskākajos

title: veikalnieciskākajos


text: veikalnieciskākajās

title: veikalnieciskākajās


text:
Jewsrael

Etymology
.

Translations

 * Russian: Евра́иль

title: Jewsrael