Tuesday, July 2, 2013

Wiktionary - Recent changes [en]: Module:ar-verb

Changes are afoot at Blogtrottr!
By popular request, we're bringing in paid plans with some cool new features (and more on the way). You can read all about it in our blog post.
Wiktionary - Recent changes [en]
Track the most recent changes to the wiki in this feed. // via fulltextrssfeed.com
Module:ar-verb
Jul 2nd 2013, 23:49, by Atitarev

Line 440: Line 440:
 

end

 

end

 

end

 

end

  +

end

  +
  +

-- initialise forms_tr to "" using form_tr

  +

for key, form_tr in pairs(forms_tr) do

  +

-- check for empty strings and nil's

  +

if form_tr == "" or not form_tr then

  +

forms_tr[key] = ""

  +

end

 

end

 

end

   

The following documentation is located at Module:ar-verb/documentation. [edit]

  local com = require("Module:ar-common")  local translit = require("Module:ar-translit")     local export = {}     local conjugations = {}  local alif = "ا"  local dia = {      s = "ْ",      a = "َ",      i = "ِ",      u = "ُ",      sh_a = "َّ",      sh_i = "ِّ",      sh_u = "ُّ"      }  local translit = {      ["ب"] = "b",      ["ت"] = "t",      ["ث"] = "ṯ",      ["ج"] = "j",      ["ح"] = "ḥ",      ["خ"] = "x",      ["د"] = "d",      ["ذ"] = "ḏ",      ["ر"] = "r",      ["ز"] = "z",      ["س"] = "s",      ["ش"] = "š",      ["ص"] = "ṣ",      ["ض"] = "ḍ",      ["ط"] = "ṭ",      ["ظ"] = "ẓ",      ["ع"] = "ʿ",      ["غ"] = "ğ",      ["ف"] = "f",      ["ق"] = "q",      ["ك"] = "k",      ["ل"] = "l",      ["م"] = "m",      ["ن"] = "n",      ["ه"] = "h"      }     -- Within this module, conjugations are the functions that do the actual  -- conjugating by creating the forms of a basic verb.  -- They are defined further down.  local conjugations = {}     -- The main entry point.  -- This is the only function that can be invoked from a template.  function export.show(frame)      local conj_type = frame.args[1] or error("Conjugation type has not been specified. Please pass parameter 1 to the module invocation")      local args = frame:getParent().args      PAGENAME = mw.title.getCurrentTitle().text      NAMESPACE = mw.title.getCurrentTitle().nsText         --if this named parameter passed, make the verb intransitive, passive forms don't exist      local intrans = args["intrans"]         local forms, forms_tr, title, categories         if conjugations[conj_type] then          forms, title, categories, forms_tr = conjugations[conj_type](args)      else          error("Unknown conjugation type '" .. conj_type .. "'")      end         -- transitive/intransitive      if intrans then          table.insert(categories, "Arabic intransitive verbs")      else          table.insert(categories, "Arabic transitive verbs")      end      local ret = ""         if NAMESPACE == "" then          local sort_key = com.sort_key(PAGENAME)          for key, cat in ipairs(categories) do              ret = ret .. "[[Category:" .. cat .. "|" .. sort_key .. "]]"          end      end         return make_table(forms, forms_tr, title, intrans) .. ret      -- for testing forms only      --return test_forms(forms, title, intrans) .. ret  end     -- Conjugation functions     conjugations["I"] = function(args)      local forms, forms_tr = {}, {}      local categories = {"Arabic form-I verbs"}      local title = "form I"         -- for sound verbs in form I need to provide three radical consonants and two vowels - perfective and imperective      local rad1 = args[1] or "ف"      local rad2 = args[2] or "ع"      local rad3 = args[3] or "ل"      local pf_vowel = args[4] or "a"      local impf_vowel = args[5] or "a"         -- Verbal nouns (maṣādir) for form I are unpredictable and have to be supplied      forms["vn"] = args["vn"] or ""      forms["vn2"] = args["vn2"] or ""         --e.g. k, t, b for ك ت ب      local rad1_tr, rad2_tr, rad3_tr = translit[rad1], translit[rad2], translit[rad3]         -- will only need to attach past stem ending to this variable      local past_stem = rad1 .. dia["a"] .. rad2 .. dia[pf_vowel] .. rad3      local past_stem_tr = rad1_tr .. "a" .. rad2_tr .. pf_vowel .. rad3_tr         local pres_stem = rad1 .. dia.s .. rad2 .. dia[impf_vowel] .. rad3      local pres_stem_tr = rad1_tr .. rad2_tr .. impf_vowel .. rad3_tr         local subj_stem = pres_stem      local subj_stem_tr = pres_stem_tr         local juss_stem = pres_stem      local juss_stem_tr = pres_stem_tr         local ps_perf_stem = rad1 .. dia.u .. rad2 .. dia.i .. rad3      local ps_perf_stem_tr = rad1_tr .. "u" .. rad2_tr .. "i" .. rad3_tr         local ps_imperf_stem = rad1 .. dia.u .. rad2 .. dia.a .. rad3      local ps_imperf_stem_tr = rad1_tr .. "u" .. rad2_tr .. "a" .. rad3_tr         local ps_subj_stem = ps_imperf_stem      local ps_subj_stem_tr = ps_imperf_stem_tr         local ps_juss_stem = ps_imperf_stem      local ps_juss_stem_tr = ps_imperf_stem_tr         local imper_vowel = "a"      if impf_vowel == "a" or impf_vowel == "i" then          imper_vowel = "i"      elseif impf_vowel == "u" then          imper_vowel = "u"      end         local imper_stem = alif .. dia[imper_vowel] .. rad1 .. rad2 .. dia[impf_vowel] .. rad3      local imper_stem_tr = imper_vowel .. rad1_tr .. rad2_tr .. impf_vowel .. rad3_tr         -- make forms      export.perfective_conj(forms, past_stem)      export.perfective_conj_tr(forms_tr, past_stem_tr)      export.imperfective_conj(forms, pres_stem)      export.subjunctive_conj(forms, subj_stem)      export.jussive_conj(forms, juss_stem)      export.pass_perfective_conj(forms, ps_perf_stem)      export.pass_imperfective_conj(forms, ps_imperf_stem)      export.pass_subjunctive_conj(forms, ps_subj_stem)      export.pass_jussive_conj(forms, ps_juss_stem)      export.make_imperative(forms, imper_stem)         -- to do      forms["ap"] = ""      forms["pp"] = ""         return forms, title, categories, forms_tr  end     -- functions to add ending to stems  -- can be reused for all perfective forms with sound endings  function export.perfective_conj(forms, past_stem)      -- singular      forms["3sm-perf"] = past_stem .. dia.a      forms["3sf-perf"] = past_stem .. dia.a .. "تْ"      forms["2sm-perf"] = past_stem .. dia.s .. "تَ"      forms["2sf-perf"] = past_stem .. dia.s .. "تِ"      forms["1s-perf"] = past_stem .. dia.s .. "تُ"      --dual      forms["3dm-perf"] = past_stem .. dia.a .. "ا"      forms["3df-perf"] = past_stem .. dia.a .. "تَا"      forms["2d-perf"] = past_stem .. dia.s .. "تُمَا"      -- plural      forms["3pm-perf"] = past_stem .. dia.u .. "وا"      forms["3pf-perf"] = past_stem .. dia.s .. "نَ"      forms["2pm-perf"] = past_stem .. dia.s .. "تُمْ"      forms["2pf-perf"] = past_stem .. dia.s .. "تُنَّ"      forms["1p-perf"] = past_stem .. dia.s .. "نَا"  end     function export.perfective_conj_tr(forms_tr, past_stem_tr)      -- singular      forms_tr["3sm-perf"] = past_stem_tr .. "a"      forms_tr["3sf-perf"] = past_stem_tr .. "at"      forms_tr["2sm-perf"] = past_stem_tr .. "ta"      forms_tr["2sf-perf"] = past_stem_tr .. "ti"      forms_tr["1s-perf"] = past_stem_tr .. "tu"      --dual      forms_tr["3dm-perf"] = past_stem_tr .. "ā"      forms_tr["3df-perf"] = past_stem_tr .. "atā"      forms_tr["2d-perf"] = past_stem_tr .. "tumā"      -- plural      forms_tr["3pm-perf"] = past_stem_tr .. "ū"      forms_tr["3pf-perf"] = past_stem_tr .. "na"      forms_tr["2pm-perf"] = past_stem_tr .. "tum"      forms_tr["2pf-perf"] = past_stem_tr .. "tunna"      forms_tr["1p-perf"] = past_stem_tr .. "nā"  end     -- can be reused for all imperfective forms with sound endings  function export.imperfective_conj(forms, pres_stem)      -- singular      forms["3sm-impf"] = "يَ" .. pres_stem .. dia.u      forms["3sf-impf"] = "تَ" .. pres_stem .. dia.u      forms["2sm-impf"] = "تَ" .. pres_stem .. dia.u      forms["2sf-impf"] = "تَ" .. pres_stem .. dia.i .. "ينَ"      forms["1s-impf"] = "أَ" .. pres_stem .. dia.u      --dual      forms["3dm-impf"] = "يَ" .. pres_stem .. dia.a .. "انِ"      forms["3df-impf"] = "تَ" .. pres_stem .. dia.a .. "انِ"      forms["2d-impf"] = "تَ" .. pres_stem .. dia.a .. "انِ"      -- plural      forms["3pm-impf"] = "يَ" .. pres_stem .. dia.u .. "ونَ"      forms["3pf-impf"] = "يَ" .. pres_stem .. dia.s .. "نَ"      forms["2pm-impf"] = "تَ" .. pres_stem .. dia.u .. "ونَ"      forms["2pf-impf"] = "تَ" .. pres_stem .. dia.s .. "نَ"      forms["1p-impf"] = "نَ" .. pres_stem .. dia.u  end     -- can be reused for all subjunctive forms with sound endings  function export.subjunctive_conj(forms, subj_stem)      -- singular      forms["3sm-subj"] = "يَ" .. subj_stem .. dia.a      forms["3sf-subj"] = "تَ" .. subj_stem .. dia.a      forms["2sm-subj"] = "تَ" .. subj_stem .. dia.a      forms["2sf-subj"] = "تَ" .. subj_stem .. dia.i .. "ي"      forms["1s-subj"] = "أَ" .. subj_stem .. dia.a      --dual      forms["3dm-subj"] = "يَ" .. subj_stem .. dia.a .. "ا"      forms["3df-subj"] = "تَ" .. subj_stem .. dia.a .. "ا"      forms["2d-subj"] = "تَ" .. subj_stem .. dia.a .. "ا"      -- plural      forms["3pm-subj"] = "يَ" .. subj_stem .. dia.u .. "و"      forms["3pf-subj"] = "يَ" .. subj_stem .. dia.s .. "نَ"      forms["2pm-subj"] = "تَ" .. subj_stem .. dia.u .. "و"      forms["2pf-subj"] = "تَ" .. subj_stem .. dia.s .. "نَ"      forms["1p-subj"] = "نَ" .. subj_stem .. dia.a  end     -- can be reused for all jussive forms with sound endings  function export.jussive_conj(forms, juss_stem)      -- singular      forms["3sm-juss"] = "يَ" .. juss_stem .. dia.s      forms["3sf-juss"] = "تَ" .. juss_stem .. dia.s      forms["2sm-juss"] = "تَ" .. juss_stem .. dia.s      forms["2sf-juss"] = "تَ" .. juss_stem .. dia.i .. "ي"      forms["1s-juss"] = "أَ" .. juss_stem .. dia.s      --dual      forms["3dm-juss"] = "يَ" .. juss_stem .. dia.a .. "ا"      forms["3df-juss"] = "تَ" .. juss_stem .. dia.a .. "ا"      forms["2d-juss"] = "تَ" .. juss_stem .. dia.a .. "ا"      -- plural      forms["3pm-juss"] = "يَ" .. juss_stem .. dia.u .. "و"      forms["3pf-juss"] = "يَ" .. juss_stem .. dia.s .. "نَ"      forms["2pm-juss"] = "تَ" .. juss_stem .. dia.u .. "و"      forms["2pf-juss"] = "تَ" .. juss_stem .. dia.s .. "نَ"      forms["1p-juss"] = "نَ" .. juss_stem .. dia.s  end     -- can be reused for all passive perfective forms with sound endings  function export.pass_perfective_conj(forms, ps_perf_stem)      -- singular      forms["3sm-ps-perf"] = ps_perf_stem .. dia.a      forms["3sf-ps-perf"] = ps_perf_stem .. dia.a .. "تْ"      forms["2sm-ps-perf"] = ps_perf_stem .. dia.s .. "تَ"      forms["2sf-ps-perf"] = ps_perf_stem .. dia.s .. "تِ"      forms["1s-ps-perf"] = ps_perf_stem .. dia.s .. "تُ"      --dual      forms["3dm-ps-perf"] = ps_perf_stem .. dia.a .. "ا"      forms["3df-ps-perf"] = ps_perf_stem .. dia.a .. "تَا"      forms["2d-ps-perf"] = ps_perf_stem .. dia.s .. "تُمَا"      -- plural      forms["3pm-ps-perf"] = ps_perf_stem .. dia.u .. "وا"      forms["3pf-ps-perf"] = ps_perf_stem .. dia.s .. "نَ"      forms["2pm-ps-perf"] = ps_perf_stem .. dia.s .. "تُمْ"      forms["2pf-ps-perf"] = ps_perf_stem .. dia.s .. "تُنَّ"      forms["1p-ps-perf"] = ps_perf_stem .. dia.s .. "نَا"  end     -- can be reused for all passive imperfective forms with sound endings  function export.pass_imperfective_conj(forms, ps_imperf_stem)      -- singular      forms["3sm-ps-impf"] = "يَ" .. ps_imperf_stem .. dia.u      forms["3sf-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.u      forms["2sm-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.u      forms["2sf-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.i .. "ينَ"      forms["1s-ps-impf"] = "أَ" .. ps_imperf_stem .. dia.u      --dual      forms["3dm-ps-impf"] = "يَ" .. ps_imperf_stem .. dia.a .. "انِ"      forms["3df-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.a .. "انِ"      forms["2d-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.a .. "انِ"      -- plural      forms["3pm-ps-impf"] = "يَ" .. ps_imperf_stem .. dia.u .. "ونَ"      forms["3pf-ps-impf"] = "يَ" .. ps_imperf_stem .. dia.s .. "نَ"      forms["2pm-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.u .. "ونَ"      forms["2pf-ps-impf"] = "تَ" .. ps_imperf_stem .. dia.s .. "نَ"      forms["1p-ps-impf"] = "نَ" .. ps_imperf_stem .. dia.u  end     -- can be reused for all passive subjunctive forms with sound endings  function export.pass_subjunctive_conj(forms, ps_subj_stem)      -- singular      forms["3sm-ps-subj"] = "يَ" .. ps_subj_stem .. dia.a      forms["3sf-ps-subj"] = "تَ" .. ps_subj_stem .. dia.a      forms["2sm-ps-subj"] = "تَ" .. ps_subj_stem .. dia.a      forms["2sf-ps-subj"] = "تَ" .. ps_subj_stem .. dia.i .. "ي"      forms["1s-ps-subj"] = "أَ" .. ps_subj_stem .. dia.a      --dual      forms["3dm-ps-subj"] = "يَ" .. ps_subj_stem .. dia.a .. "ا"      forms["3df-ps-subj"] = "تَ" .. ps_subj_stem .. dia.a .. "ا"      forms["2d-ps-subj"] = "تَ" .. ps_subj_stem .. dia.a .. "ا"      -- plural      forms["3pm-ps-subj"] = "يَ" .. ps_subj_stem .. dia.u .. "و"      forms["3pf-ps-subj"] = "يَ" .. ps_subj_stem .. dia.s .. "نَ"      forms["2pm-ps-subj"] = "تَ" .. ps_subj_stem .. dia.u .. "و"      forms["2pf-ps-subj"] = "تَ" .. ps_subj_stem .. dia.s .. "نَ"      forms["1p-ps-subj"] = "نَ" .. ps_subj_stem .. dia.a  end     -- can be reused for all passive jussive forms with sound endings  function export.pass_jussive_conj(forms, ps_juss_stem)      -- singular      forms["3sm-ps-juss"] = "يَ" .. ps_juss_stem .. dia.s      forms["3sf-ps-juss"] = "تَ" .. ps_juss_stem .. dia.s      forms["2sm-ps-juss"] = "تَ" .. ps_juss_stem .. dia.s      forms["2sf-ps-juss"] = "تَ" .. ps_juss_stem .. dia.i .. "ي"      forms["1s-ps-juss"] = "أَ" .. ps_juss_stem .. dia.s      --dual      forms["3dm-ps-juss"] = "يَ" .. ps_juss_stem .. dia.a .. "ا"      forms["3df-ps-juss"] = "تَ" .. ps_juss_stem .. dia.a .. "ا"      forms["2d-ps-juss"] = "تَ" .. ps_juss_stem .. dia.a .. "ا"      -- plural      forms["3pm-ps-juss"] = "يَ" .. ps_juss_stem .. dia.u .. "و"      forms["3pf-ps-juss"] = "يَ" .. ps_juss_stem .. dia.s .. "نَ"      forms["2pm-ps-juss"] = "تَ" .. ps_juss_stem .. dia.u .. "و"      forms["2pf-ps-juss"] = "تَ" .. ps_juss_stem .. dia.s .. "نَ"      forms["1p-ps-juss"] = "نَ" .. ps_juss_stem .. dia.s  end        -- can be reused for all imperative forms with sound endings  function export.make_imperative(forms, imper_stem)     -- singular      forms["2sm-impr"] = imper_stem .. dia.s      forms["2sf-impr"] = imper_stem .. dia.i .. "ي"      --dual      forms["2d-impr"] = imper_stem .. dia.a .. "ا"      -- plural      forms["2pm-impr"] = imper_stem .. dia.u .. "و"      forms["2pf-impr"] = imper_stem .. dia.s .. "نَ"  end     -- Test  function test_forms(forms, title, intr)         local text = "<br/>"      for key, form in pairs(forms) do          -- check for empty strings and nil's          if form ~= "" and form then              --text =  key .. [=[: {{Arab|]=] .. forms[key] .. [=[}}{{LR}}, ]=]               text = text .. key .. ": " .. forms[key] .. ", <br/>"           end      end        return text  end     -- Make the table  function make_table(forms, forms_tr, title, intr)      local title = "Conjugation of ''" .. forms["3sm-perf"] .. "''" .. (title and " (" .. title .. ")" or "")      local title_tr = "TO ADD TRANSLITERATION OF THE TITLE"      local passive = true ----         -- Intransitive verbs have no passive forms.      if intrans then          forms["1s-ps-perf"] = ""          forms["2sm-ps-perf"] = ""          forms["2d-ps-perf"] = ""          forms["3dm-ps-perf"] = ""          forms["1p-ps-perf"] = ""          forms["2pm-ps-perf"] = ""          forms["3pm-ps-perf"] = ""          forms["2sf-ps-perf"] = ""          forms["3sf-ps-perf"] = ""          forms["3df-ps-perf"] = ""          forms["2pf-ps-perf"] = ""          forms["3pf-ps-perf"] = ""          forms["1s-ps-impf"] = ""          forms["2sm-ps-impf"] = ""          forms["3sm-ps-impf"] = ""          forms["2d-ps-impf"] = ""          forms["3dm-ps-impf"] = ""          forms["1p-ps-impf"] = ""          forms["2pm-ps-impf"] = ""          forms["3pm-ps-impf"] = ""          forms["2sf-ps-impf"] = ""          forms["3sf-ps-impf"] = ""          forms["3df-ps-impf"] = ""          forms["2pf-ps-impf"] = ""          forms["3pf-ps-impf"] = ""          forms["1s-ps-subj"] = ""          forms["2sm-ps-subj"] = ""          forms["3sm-ps-subj"] = ""          forms["2d-ps-subj"] = ""          forms["3dm-ps-subj"] = ""          forms["1p-ps-subj"] = ""          forms["2pm-ps-subj"] = ""          forms["3pm-ps-subj"] = ""          forms["2sf-ps-subj"] = ""          forms["3sf-ps-subj"] = ""          forms["3df-ps-subj"] = ""          forms["2pf-ps-subj"] = ""          forms["3pf-ps-subj"] = ""          forms["1s-ps-juss"] = ""          forms["2sm-ps-juss"] = ""          forms["3sm-ps-juss"] = ""          forms["2d-ps-juss"] = ""          forms["3dm-ps-juss"] = ""          forms["1p-ps-juss"] = ""          forms["2pm-ps-juss"] = ""          forms["3pm-ps-juss"] = ""          forms["2sf-ps-juss"] = ""          forms["3sf-ps-juss"] = ""          forms["3df-ps-juss"] = ""          forms["2pf-ps-juss"] = ""          forms["3pf-ps-juss"] = ""          end         -- initialise forms_tr to "" using form      for key, form in pairs(forms) do          -- check for empty strings and nil's          if form ~= "" and form then              -- check for empty strings and nil's              if not forms_tr[key] then                  forms_tr[key] = ""              end          end  end         -- initialise forms_tr to "" using form_tr      for key, form_tr in pairs(forms_tr) do          -- check for empty strings and nil's          if form_tr == "" or not form_tr then              forms_tr[key] = ""          end          end         -- Format and and add transliterations to all forms      for key, form in pairs(forms) do          -- check for empty strings and nil's          if form ~= "" and form then              -- manual transliteration              --forms[key] = "<span lang=\"ar\" class=\"Arab\">[[" .. com.remove_diacritics(form) .. "#Arabic|" .. form .. "]]</span><br/><span style=\"color: #888\">" .. forms_tr[key] .. "</span>"              -- automatic transliteration              forms[key] = "<span lang=\"ar\" class=\"Arab\">[[" .. com.remove_diacritics(form) .. "#Arabic|" .. form .. "]]</span><br/><span style=\"color: #888\">" .. translit.tr(form) .. "</span>"          else              forms[key] = "&mdash;"          end  end         local text = [=[<div class="NavFrame" style="width:100%">  <div class="NavHead" style="height:2.5em">]=] .. title .. [=[</div>  <div class="NavContent">     {| border="1" color="#cdcdcd" style="border-collapse:collapse; line-height:2.5em; border:1px solid #555555; background:#fdfdfd; width:100%; text-align:center" class="inflection-table"  |-  ! colspan="6" style="background:#dedede" | verbal noun]=] .. (com.links(forms["vn2"]) and "s" or "") .. "<br />" .. com.tag_text(com.links(forms["vn2"]) and "المصادر" or "المصدر") .. [=[     | colspan="7" | ]=] .. com.links(forms["vn"]) .. (com.links(forms["vn2"]) and ", " .. com.links(forms["vn2"]) or "") .. [=[     |-  ! colspan="6" style="background:#dedede" | active participle<br />]=] .. com.tag_text("اسم الفاعل") .. [=[     | colspan="7" | ]=] .. com.links(forms["ap"])         if passive then          text = text .. [=[     |-  ! colspan="6" style="background:#dedede" | passive participle<br />]=] .. com.tag_text("اسم المفعول") .. [=[     | colspan="7" | ]=] .. com.links(forms["pp"])      end         text = text .. [=[     |-  ! colspan="12" style="background:#bcbcbc" | active voice<br />]=] .. com.tag_text("الفعل المعلوم") .. [=[     |-  ! colspan="2" style="background:#cdcdcd" |   ! colspan="3" style="background:#cdcdcd" | singular<br />]=] .. com.tag_text("المفرد") .. [=[     ! rowspan="12" style="background:#cdcdcd;width:.5em" |   ! colspan="2" style="background:#cdcdcd" | dual<br />]=] .. com.tag_text("المثنى") .. [=[     ! rowspan="12" style="background:#cdcdcd;width:.5em" |   ! colspan="3" style="background:#cdcdcd" | plural<br />]=] .. com.tag_text("الجمع") .. [=[     |-  ! colspan="2" style="background:#cdcdcd" |   ! style="background:#cdcdcd" | 1<sup>st</sup> person<br />]=] .. com.tag_text("المتكلم") .. [=[     ! style="background:#cdcdcd" | 2<sup>nd</sup> person<br />]=] .. com.tag_text("المخاطب") .. [=[     ! style="background:#cdcdcd" | 3<sup>rd</sup> person<br />]=] .. com.tag_text("الغائب") .. [=[     ! style="background:#cdcdcd" | 2<sup>nd</sup> person<br />]=] .. com.tag_text("المخاطب") .. [=[     ! style="background:#cdcdcd" | 3<sup>rd</sup> person<br />]=] .. com.tag_text("الغائب") .. [=[     ! style="background:#cdcdcd" | 1<sup>st</sup> person<br />]=] .. com.tag_text("المتكلم") .. [=[     ! style="background:#cdcdcd" | 2<sup>nd</sup> person<br />]=] .. com.tag_text("المخاطب") .. [=[     ! style="background:#cdcdcd" | 3<sup>rd</sup> person<br />]=] .. com.tag_text("الغائب") .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | perfect indicative<br />]=] .. com.tag_text("الماضي") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-perf"]) .. [=[     | ]=] .. com.links(forms["2sm-perf"]) .. [=[     | ]=] .. com.links(forms["3sm-perf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-perf"]) .. [=[     | ]=] .. com.links(forms["3dm-perf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-perf"]) .. [=[     | ]=] .. com.links(forms["2pm-perf"]) .. [=[     | ]=] .. com.links(forms["3pm-perf"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-perf"]) .. [=[     | ]=] .. com.links(forms["3sf-perf"]) .. [=[     | ]=] .. com.links(forms["3df-perf"]) .. [=[     | ]=] .. com.links(forms["2pf-perf"]) .. [=[     | ]=] .. com.links(forms["3pf-perf"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | imperfect indicative<br />]=] .. com.tag_text("المضارع") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-impf"]) .. [=[     | ]=] .. com.links(forms["2sm-impf"]) .. [=[     | ]=] .. com.links(forms["3sm-impf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-impf"]) .. [=[     | ]=] .. com.links(forms["3dm-impf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-impf"]) .. [=[     | ]=] .. com.links(forms["2pm-impf"]) .. [=[     | ]=] .. com.links(forms["3pm-impf"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-impf"]) .. [=[     | ]=] .. com.links(forms["3sf-impf"]) .. [=[     | ]=] .. com.links(forms["3df-impf"]) .. [=[     | ]=] .. com.links(forms["2pf-impf"]) .. [=[     | ]=] .. com.links(forms["3pf-impf"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | subjunctive<br />]=] .. com.tag_text("المضارع المنصوب") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-subj"]) .. [=[     | ]=] .. com.links(forms["2sm-subj"]) .. [=[     | ]=] .. com.links(forms["3sm-subj"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-subj"]) .. [=[     | ]=] .. com.links(forms["3dm-subj"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-subj"]) .. [=[     | ]=] .. com.links(forms["2pm-subj"]) .. [=[     | ]=] .. com.links(forms["3pm-subj"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-subj"]) .. [=[     | ]=] .. com.links(forms["3sf-subj"]) .. [=[     | ]=] .. com.links(forms["3df-subj"]) .. [=[     | ]=] .. com.links(forms["2pf-subj"]) .. [=[     | ]=] .. com.links(forms["3pf-subj"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | jussive<br />]=] .. com.tag_text("المضارع المجزوم") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-juss"]) .. [=[     | ]=] .. com.links(forms["2sm-juss"]) .. [=[     | ]=] .. com.links(forms["3sm-juss"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-juss"]) .. [=[     | ]=] .. com.links(forms["3dm-juss"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-juss"]) .. [=[     | ]=] .. com.links(forms["2pm-juss"]) .. [=[     | ]=] .. com.links(forms["3pm-juss"]) .. [=[     |-  ! style="background:#dedede" | ''f''     | ]=] .. com.links(forms["2sf-juss"]) .. [=[     | ]=] .. com.links(forms["3sf-juss"]) .. [=[     | ]=] .. com.links(forms["3df-juss"]) .. [=[     | ]=] .. com.links(forms["2pf-juss"]) .. [=[     | ]=] .. com.links(forms["3pf-juss"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | imperative<br />]=] .. com.tag_text("الأمر") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" |   | ]=] .. com.links(forms["2sm-impr"]) .. [=[     | rowspan="2" |      | rowspan="2" | ]=] .. com.links(forms["2d-impr"]) .. [=[     | rowspan="2" |      | rowspan="2" |   | ]=] .. com.links(forms["2pm-impr"]) .. [=[     | rowspan="2" |      |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-impr"]) .. [=[     | ]=] .. com.links(forms["2pf-impr"])         if passive then          text = text .. [=[     |-  ! colspan="12" style="background:#bcbcbc" | passive voice<br />]=] .. com.tag_text("الفعل المجهول") .. [=[     |-  | colspan="2" style="background:#cdcdcd" |   ! colspan="3" style="background:#cdcdcd" | singular<br />]=] .. com.tag_text("المفرد") .. [=[     | rowspan="10" style="background:#cdcdcd;width:.5em" |   ! colspan="2" style="background:#cdcdcd" | dual<br />]=] .. com.tag_text("المثنى") .. [=[     | rowspan="10" style="background:#cdcdcd;width:.5em" |   ! colspan="3" style="background:#cdcdcd" | plural<br />]=] .. com.tag_text("الجمع") .. [=[     |-  | colspan="2" style="background:#cdcdcd" |   ! style="background:#cdcdcd" | 1<sup>st</sup> person<br />]=] .. com.tag_text("المتكلم") .. [=[     ! style="background:#cdcdcd" | 2<sup>nd</sup> person<br />]=] .. com.tag_text("المخاطب") .. [=[     ! style="background:#cdcdcd" | 3<sup>rd</sup> person<br />]=] .. com.tag_text("الغائب") .. [=[     ! style="background:#cdcdcd" | 2<sup>nd</sup> person<br />]=] .. com.tag_text("المخاطب") .. [=[     ! style="background:#cdcdcd" | 3<sup>rd</sup> person<br />]=] .. com.tag_text("الغائب") .. [=[     ! style="background:#cdcdcd" | 1<sup>st</sup> person<br />]=] .. com.tag_text("المتكلم") .. [=[     ! style="background:#cdcdcd" | 2<sup>nd</sup> person<br />]=] .. com.tag_text("المخاطب") .. [=[     ! style="background:#cdcdcd" | 3<sup>rd</sup> person<br />]=] .. com.tag_text("الغائب") .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | perfect indicative<br />]=] .. com.tag_text("الماضي") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-ps-perf"]) .. [=[     | ]=] .. com.links(forms["2sm-ps-perf"]) .. [=[     | ]=] .. com.links(forms["3sm-ps-perf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-ps-perf"]) .. [=[     | ]=] .. com.links(forms["3dm-ps-perf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-ps-perf"]) .. [=[     | ]=] .. com.links(forms["2pm-ps-perf"]) .. [=[     | ]=] .. com.links(forms["3pm-ps-perf"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-ps-perf"]) .. [=[     | ]=] .. com.links(forms["3sf-ps-perf"]) .. [=[     | ]=] .. com.links(forms["3df-ps-perf"]) .. [=[     | ]=] .. com.links(forms["2pf-ps-perf"]) .. [=[     | ]=] .. com.links(forms["3pf-ps-perf"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | imperfect indicative<br />]=] .. com.tag_text("المضارع") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-ps-impf"]) .. [=[     | ]=] .. com.links(forms["2sm-ps-impf"]) .. [=[     | ]=] .. com.links(forms["3sm-ps-impf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-ps-impf"]) .. [=[     | ]=] .. com.links(forms["3dm-ps-impf"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-ps-impf"]) .. [=[     | ]=] .. com.links(forms["2pm-ps-impf"]) .. [=[     | ]=] .. com.links(forms["3pm-ps-impf"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-ps-impf"]) .. [=[     | ]=] .. com.links(forms["3sf-ps-impf"]) .. [=[     | ]=] .. com.links(forms["3df-ps-impf"]) .. [=[     | ]=] .. com.links(forms["2pf-ps-impf"]) .. [=[     | ]=] .. com.links(forms["3pf-ps-impf"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | subjunctive<br />]=] .. com.tag_text("المضارع المنصوب") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=] .. com.links(forms["1s-ps-subj"]) .. [=[     | ]=] .. com.links(forms["2sm-ps-subj"]) .. [=[     | ]=] .. com.links(forms["3sm-ps-subj"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-ps-subj"]) .. [=[     | ]=] .. com.links(forms["3dm-ps-subj"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-ps-subj"]) .. [=[     | ]=] .. com.links(forms["2pm-ps-subj"]) .. [=[     | ]=] .. com.links(forms["3pm-ps-subj"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-ps-subj"]) .. [=[     | ]=] .. com.links(forms["3sf-ps-subj"]) .. [=[     | ]=] .. com.links(forms["3df-ps-subj"]) .. [=[     | ]=] .. com.links(forms["2pf-ps-subj"]) .. [=[     | ]=] .. com.links(forms["3pf-ps-subj"]) .. [=[     |-  ! rowspan="2" style="background:#cdcdcd" | jussive<br />]=] .. com.tag_text("المضارع المجزوم") .. [=[     ! style="background:#dedede" | ''m''  | rowspan="2" | ]=]      text = text .. com.links(forms["1s-ps-juss"]) .. [=[     | ]=] .. com.links(forms["2sm-ps-juss"]) .. [=[     | ]=] .. com.links(forms["3sm-ps-juss"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["2d-ps-juss"]) .. [=[     | ]=] .. com.links(forms["3dm-ps-juss"]) .. [=[     | rowspan="2" | ]=] .. com.links(forms["1p-ps-juss"]) .. [=[     | ]=] .. com.links(forms["2pm-ps-juss"]) .. [=[     | ]=] .. com.links(forms["3pm-ps-juss"]) .. [=[     |-  ! style="background:#dedede" | ''f''  | ]=] .. com.links(forms["2sf-ps-juss"]) .. [=[     | ]=] .. com.links(forms["3sf-ps-juss"]) .. [=[     | ]=] .. com.links(forms["3df-ps-juss"]) .. [=[     | ]=] .. com.links(forms["2pf-ps-juss"]) .. [=[     | ]=] .. com.links(forms["3pf-ps-juss"])      end         text = text .. [=[     |}  </div>  </div>]=]        return text  end     return export  

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions