Modul:tewîn-nav-ku

Ji Wîkîferheng
Jump to navigation Jump to search
Template-info.png Belgekirina modulê[nîşan bide] [biguherîne] [nûkirin]
Ev belge ji Modul:tewîn-nav-ku/belge hatiye girtin.

Test[biguherîne]

Zayenda nêr a binavkirî
Rewş Yekjimar Pirjimar
Navkî gund gund
Îzafe gundê gundên
Çemandî gundî gundan
Nîşandera çemandî wî gundî wan gundan
Zayenda nêr a nebinavkirî
Rewş Yekjimar Pirjimar
Navkî gundek gundin
Îzafe gundekî gundine
Çemandî gundekî gundinan
Zayenda mê ya binavkirî
Rewş Yekjimar Pirjimar
Navkî kirin kirin
Îzafe kirina kirinên
Çemandî kirinê kirinan
Nîşandera çemandî wê kirinê wan kirinan
Zayenda mê ya nebinavkirî
Rewş Yekjimar Pirjimar
Navkî kirinek kirinin
Îzafe kirineke kirinine
Çemandî kirinekê kirininan
Zayenda mê ya binavkirî
Rewş Yekjimar Pirjimar
Navkî
Îzafe riya riyên
Çemandî riyê riyan
Nîşandera çemandî wê riyê wan riyan
Zayenda mê ya nebinavkirî
Rewş Yekjimar Pirjimar
Navkî riyek riyin
Îzafe riyeke riyine
Çemandî riyekê riyinan
Zayendên mê û nêr ên binavkirî
Rewş Mê (yj.) Nêr (yj.) Mê û nêr (pj.)
Navkî heval heval heval
Îzafe hevala hevalê hevalên
Çemandî hevalê hevalî hevalan
Nîşander a çemandî wê hevalê wî hevalî wan hevalan
Zayendên mê û nêr ên nebinavkirî
Rewş Mê (yj.) Nêr (yj.) Mê û nêr (pj.)
Navkî hevalek hevalek hevalin
Îzafe hevaleke hevalekî hevaline
Çemandî hevalekê hevalekî hevalinan
local t = {}

-- FERHENG --
    -- Definite (def) = binavkirî, diyar
    -- Indefinite (indef) = nebinavkirî, nediyar
    -- Singular (s) = Yekjimar / Plural (p) = Pirjimar
    -- Case = Rewş, awa
    
    -- Nominative (nom)= Rewşa (awayê) navkî, netewandî, xwerû
    -- Construct (constr) = Îzafe
    -- Oblique (obl) = Rewşa (awayê) çemandî (tewandî)
    -- Demonstrative oblique (demons_obl) = Rewşa nişander a çemandî 
    -- Vocativ (voc) = Rewşa bangkirinê
    
local gsub = mw.ustring.gsub
local find = mw.ustring.find
	
function b(bold) return '<b>' .. bold .. '</b>' end -- nivîsa stûr ji bo paşgira navdêr

function t.tew(navder, zayend, guherto)
	local tew = {}
	
		    tew.def_nom_s = navder
	        tew.def_nom_p = navder
	
	if (find(navder, '[bcçdfghjklmnpqrsştvwxyz]$')) then
		if (zayend == 'nêr') then
	        tew.def_constr_s = gsub(navder, '(.)$', '%1' .. b('ê'))
	        tew.def_constr_p = gsub(navder, '(.)$', '%1' .. b('ên'))
	        tew.def_obl_s = gsub(navder, '(.)$', '%1' .. b('î'))
	        tew.def_obl_p = gsub(navder, '(.)$', '%1' .. b('an'))
	        tew.def_demons_obl_s = 'wî ' .. gsub(navder, '(.)$', '%1' .. b('î'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', '%1' .. b('an'))
	        tew.indef_nom_s = gsub(navder, '(.)$', '%1' .. b('ek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', '%1' .. b('in'))
	        tew.indef_constr_s = gsub(navder, '(.)$', '%1' .. b('ekî'))
	        tew.indef_constr_p = gsub(navder, '(.)$', '%1' .. b('ine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', '%1' .. b('ekî'))
	        tew.indef_obl_p = gsub(navder, '(.)$', '%1' .. b('inan'))
--	        tew.voc_s = '(lo) ' .. gsub(navder, '(.)$', '%1' .. b('o'))
--	        tew.voc_p = '(lo) ' .. gsub(navder, '(.)$', '%1' .. b('ino'))
	        
	    elseif (zayend == 'mê') then
	        tew.def_constr_s = gsub(navder, '(.)$', '%1' .. b('a'))
	        tew.def_constr_p = gsub(navder, '(.)$', '%1' .. b('ên'))
	        tew.def_obl_s = gsub(navder, '(.)$', '%1' .. b('ê'))
	        tew.def_obl_p = gsub(navder, '(.)$', '%1' .. b('an'))
	        tew.def_demons_obl_s = 'wê ' .. gsub(navder, '(.)$', '%1' .. b('ê'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', '%1' .. b('an'))
	        tew.indef_nom_s = gsub(navder, '(.)$', '%1' .. b('ek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', '%1' .. b('in'))
	        tew.indef_constr_s = gsub(navder, '(.)$', '%1' .. b('eke'))
	        tew.indef_constr_p = gsub(navder, '(.)$', '%1' .. b('ine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', '%1' .. b('ekê'))
	        tew.indef_obl_p = gsub(navder, '(.)$', '%1' .. b('inan'))
--	        tew.voc_s =  '(lê) ' .. gsub(navder, '(.)$', '%1' .. b('ê'))
--	        tew.voc_p =  '(lê) ' .. gsub(navder, '(.)$', '%1' .. b('ino'))
	    end

    elseif (find(navder, '[aeêiîouû]$') and guherto == '2') then
    	if (zayend == 'nêr') then
	        tew.def_constr_s = gsub(navder, '(.)$', '%1' .. b('yê'))
	        tew.def_constr_p = gsub(navder, '(.)$', '%1' .. b('yên'))
	        tew.def_obl_s = gsub(navder, '(.)$', '%1' .. b('yî'))
	        tew.def_obl_p = gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.def_demons_obl_s = 'wî ' .. gsub(navder, '(.)$', '%1' .. b('yî'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.indef_nom_s = gsub(navder, '(.)$', '%1' .. b('yek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', '%1' .. b('yin'))
	        tew.indef_constr_s = gsub(navder, '(.)$', '%1' .. b('yekî'))
	        tew.indef_constr_p = gsub(navder, '(.)$', '%1' .. b('yine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', '%1' .. b('yekî'))
	        tew.indef_obl_p = gsub(navder, '(.)$', '%1' .. b('yinan'))
	        
	    elseif (zayend == 'mê') then
	        tew.def_constr_s = gsub(navder, '(.)$', '%1' .. b('ya'))
	        tew.def_constr_p = gsub(navder, '(.)$', '%1' .. b('yên'))
	        tew.def_obl_s = gsub(navder, '(.)$', '%1' .. b('yê'))
	        tew.def_obl_p = gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.def_demons_obl_s = 'wê ' .. gsub(navder, '(.)$', '%1' .. b('yê'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.indef_nom_s = gsub(navder, '(.)$', '%1' .. b('yek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', '%1' .. b('yin'))
	        tew.indef_constr_s = gsub(navder, '(.)$', '%1' .. b('yeke'))
	        tew.indef_constr_p = gsub(navder, '(.)$', '%1' .. b('yine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', '%1' .. b('yekê'))
	        tew.indef_obl_p = gsub(navder, '(.)$', '%1' .. b('yinan'))
	    end
	    
    elseif (find(navder, '[aîoû]$')) then
        if (zayend == 'nêr') then
	        tew.def_constr_s = gsub(navder, '(.)$', '%1' .. b('yê'))
	        tew.def_constr_p = gsub(navder, '(.)$', '%1' .. b('yên'))
	        tew.def_obl_s = gsub(navder, '(.)$', '%1' .. b('yî'))
	        tew.def_obl_p = gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.def_demons_obl_s = 'wî ' .. gsub(navder, '(.)$', '%1' .. b('yî'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.indef_nom_s = gsub(navder, '(.)$', '%1' .. b('yek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', '%1' .. b('yin'))
	        tew.indef_constr_s = gsub(navder, '(.)$', '%1' .. b('yekî'))
	        tew.indef_constr_p = gsub(navder, '(.)$', '%1' .. b('yine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', '%1' .. b('yekî'))
	        tew.indef_obl_p = gsub(navder, '(.)$', '%1' .. b('yinan'))
	        
	    elseif (zayend == 'mê') then
	        tew.def_constr_s = gsub(navder, '(.)$', '%1' .. b('ya'))
	        tew.def_constr_p = gsub(navder, '(.)$', '%1' .. b('yên'))
	        tew.def_obl_s = gsub(navder, '(.)$', '%1' .. b('yê'))
	        tew.def_obl_p = gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.def_demons_obl_s = 'wê ' .. gsub(navder, '(.)$', '%1' .. b('yê'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', '%1' .. b('yan'))
	        tew.indef_nom_s = gsub(navder, '(.)$', '%1' .. b('yek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', '%1' .. b('yin'))
	        tew.indef_constr_s = gsub(navder, '(.)$', '%1' .. b('yeke'))
	        tew.indef_constr_p = gsub(navder, '(.)$', '%1' .. b('yine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', '%1' .. b('yekê'))
	        tew.indef_obl_p = gsub(navder, '(.)$', '%1' .. b('yinan'))
	    end
   	
    elseif (find(navder, '[e]$')) then
        if (zayend == 'nêr') then
	        tew.def_constr_s = gsub(navder, '(.)$', b('ê'))
	        tew.def_constr_p = gsub(navder, '(.)$', b('ên'))
	        tew.def_obl_s = gsub(navder, '(.)$', b('î'))
	        tew.def_obl_p = gsub(navder, '(.)$', b('an'))
	        tew.def_demons_obl_s = 'wî ' .. gsub(navder, '(.)$', b('î'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', b('an'))
	        tew.indef_nom_s = gsub(navder, '(.)$', 'e' .. b('k'))
	        tew.indef_nom_p = gsub(navder, '(.)$', b('in'))
	        tew.indef_constr_s = gsub(navder, '(.)$', 'e' .. b('kî'))
	        tew.indef_constr_p = gsub(navder, '(.)$', b('ine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', 'e' .. b('kî'))
	        tew.indef_obl_p = gsub(navder, '(.)$', b('inan'))
	        
	    elseif (zayend == 'mê') then
	        tew.def_constr_s = gsub(navder, '(.)$', b('a'))
	        tew.def_constr_p = gsub(navder, '(.)$', b('ên'))
	        tew.def_obl_s = gsub(navder, '(.)$', b('ê'))
	        tew.def_obl_p = gsub(navder, '(.)$', b('an'))
	        tew.def_demons_obl_s = 'wê ' .. gsub(navder, '(.)$', b('ê'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', b('an'))
	        tew.indef_nom_s = gsub(navder, '(.)$', 'e' .. b('k'))
	        tew.indef_nom_p = gsub(navder, '(.)$', b('in'))
	        tew.indef_constr_s = gsub(navder, '(.)$', 'e' .. b('ke'))
	        tew.indef_constr_p = gsub(navder, '(.)$', b('ine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', 'e' .. b('kê'))
	        tew.indef_obl_p = gsub(navder, '(.)$', b('inan'))
	    end
   	
    elseif (find(navder, '[ê]$')) then
        if (zayend == 'nêr') then
	        tew.def_constr_s = gsub(navder, '(.)$', b('iyê'))
	        tew.def_constr_p = gsub(navder, '(.)$', b('iyên'))
	        tew.def_obl_s = gsub(navder, '(.)$', b('iyî'))
	        tew.def_obl_p = gsub(navder, '(.)$', b('iyan'))
	        tew.def_demons_obl_s = 'wî ' .. gsub(navder, '(.)$', b('iyî'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', b('iyan'))
	        tew.indef_nom_s = gsub(navder, '(.)$', b('iyek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', b('iyin'))
	        tew.indef_constr_s = gsub(navder, '(.)$', b('iyekî'))
	        tew.indef_constr_p = gsub(navder, '(.)$', b('iyine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', b('iyekî'))
	        tew.indef_obl_p = gsub(navder, '(.)$', b('iyinan'))
	        
	    elseif (zayend == 'mê') then
	        tew.def_constr_s = gsub(navder, '(.)$', b('iya'))
	        tew.def_constr_p = gsub(navder, '(.)$', b('iyên'))
	        tew.def_obl_s = gsub(navder, '(.)$', b('iyê'))
	        tew.def_obl_p = gsub(navder, '(.)$', b('iyan'))
	        tew.def_demons_obl_s = 'wê ' .. gsub(navder, '(.)$', b('iyê'))
	        tew.def_demons_obl_p = 'wan ' .. gsub(navder, '(.)$', b('iyan'))
	        tew.indef_nom_s = gsub(navder, '(.)$', b('iyek'))
	        tew.indef_nom_p = gsub(navder, '(.)$', b('iyin'))
	        tew.indef_constr_s = gsub(navder, '(.)$', b('iyeke'))
	        tew.indef_constr_p = gsub(navder, '(.)$', b('iyine'))
	        tew.indef_obl_s = gsub(navder, '(.)$', b('iyekê'))
	        tew.indef_obl_p = gsub(navder, '(.)$', b('iyinan'))
	    end
	end
	
	-- îy --> iy
	for i, v in pairs(tew) do
		tew[i] = gsub(tew[i], 'î<b>y', '<b>iy')
	end
	
	return  tew
end

local function zayendTablo(zayend)
 	if (zayend == 'nêr') then return ' Zayenda nêr a'
 	elseif  (zayend == 'mê') then return ' Zayenda mê ya'
    end
end

function t.tewandin(frame)
   local args = frame:getParent().args
   local navder = args[1]
   local zayend = args[2]
   local yekjimar = args[3]
   local guherto = args['guherto']

   tew_mn = require('Modul:tewîn-nav-ku/mê û nêr').mn
   tew_yekjimar = require('Modul:tewîn-nav-ku/yekjimar').yekjimar

   if (zayend == 'mê û nêr') then
       return tew_mn(navder, guherto)
   elseif (yekjimar == 'y') then
       return tew_yekjimar(navder, zayend, guherto)
   else
       return 
  '{| class="wikitable" colspan="5" border="1" style="float:right; margin:0.5em 0 0.5em 0.5em; background-color:white; clear: right;"'
   ..'\n|-'
   ..'\n! colspan="3" align="center" |' .. zayendTablo(zayend) .. ' binavkirî'
   ..'\n|-'
   ..'\n! style="background-color:#FFFFE0;  text-align:left;" | Rewş'
   ..'\n! colspan="1" style="background-color:#FFFFE0;" | Yekjimar'
   ..'\n! colspan="1" style="background-color:#FFFFE0;" | Pirjimar'
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Rewşa navkî|Navkî]]'
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["def_nom_s"]} }
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["def_nom_p"]} }
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Îzafe|Îzafe]]'
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["def_constr_s"]} }
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["def_constr_p"]} }
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Rewşa çemandî|Çemandî]]'
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["def_obl_s"]} }
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["def_obl_p"]} }
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Rewşa nîşanderê ya çemandî|Nîşandera çemandî]]'
   ..'\n|' .. t.tew(navder, zayend, guherto)["def_demons_obl_s"]
   ..'\n|' .. t.tew(navder, zayend, guherto)["def_demons_obl_p"]
   ..'\n|-'
--   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Rewşa bangkirinê|Bangkirî]]'
--   ..'\n|' .. t.tew(navder, zayend, guherto)["voc_s"]
--   ..'\n|' .. t.tew(navder, zayend, guherto)["voc_p"]
--   ..'\n|-'
   ..'\n! colspan="5" align="center" |' .. zayendTablo(zayend) .. ' nebinavkirî'
   ..'\n|-'
   ..'\n!style="background-color:#FFFFE0; text-align:left;" | Rewş'
   ..'\n!colspan="1" style="background-color:#FFFFE0;" | Yekjimar'
   ..'\n!colspan="1" style="background-color:#FFFFE0;" | Pirjimar'
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Rewşa navkî 2|Navkî]]'
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["indef_nom_s"]} }
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["indef_nom_p"]} }
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Îzafe 2|Îzafe]]'
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["indef_constr_s"]} }
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["indef_constr_p"]} }
   ..'\n|-'
   ..'\n| style="background-color:#f8f9fa; text-align:left;" | [[Alîkarî:Tewandina navdêran#Rewşa çemandî 2|Çemandî]]'
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["indef_obl_s"]} }
   ..'\n|' .. frame:expandTemplate{ title = 'g-', args = {t.tew(navder, zayend, guherto)["indef_obl_p"]} }
   ..'\n|}'
      end   
end

---------------------------------------------------------------------------
-- Bo tabloyên formên lêkeran.
-- Binêre: [[Şablon:tew-nav-ku]]
---------------------------------------------------------------------------
function t.tew2(frame)
   local args = frame:getParent().args
   local pos = frame.args['pos']
   local navder = args[1]
   local zayend = args[2]
   local guherto = args['guherto']
   
   return t.tew(navder, zayend, guherto)[pos]
end

function t.tew3(frame)
   local args = frame:getParent().args
   local pos = frame.args['pos']
   local zayend = frame.args[1]
   local navder = args[1]
   local guherto = args['guherto']
   
   return t.tew(navder, zayend, guherto)[pos]
end

return t