Modul:rêziman

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:rêziman/belge hatiye girtin.

Bikaranîn[biguherîne]

Di nav şablonên da tê bikaranîn

  • {{#invoke:rêziman|cure|nav=}}
  • {{#invoke:rêziman|cure|nav=|kat=}}

Hemû parametreyan:

  • {{#invoke:rêziman|cure|nav=|navcure=|kat=|link=}}

Girêdan:

Bo şablonan, bnr.

Çewtiyên şablonên rêzimanî:

Çewtiyên koda zimanî:

Mijarên têkildar:

Şablon
Vê şablonê nîşan bide
{{navdêr}} · {{serenav}} · {{lêker}} · {{rengdêr}} · {{hoker}} · {{cînav}} · {{girêdek}} · {{daçek}} · {{artîkel}} · {{pirtik}} · {{baneşan}} · {{navgir}} · {{paşgir}} · {{pêşgir}} · {{reh}} · {{biwêj}} · {{hevok}} · {{gp}} (gotineke pêşiyan) · {{hejmar}} · {{tîp}} · {{sembol}} · {{kurtenav}}
Binêre herwiha
-- Modul bo şablonên: {{nav}}, {{nav-m}}, {{nav-nt}}, {{l}}, {{rd}},  {{h}}
-- {{serenav}}, {{serenav-m}}, {{serenav-nt}}, {{cînav}}, {{paşgir}}, {{pêşgir}}, {{navbendik}}
-- {{hejmar}}, {{kurtenav}}, {{pêşî}}, ...
b = require('Modul:bingeh')
lang = require('Modul:ziman')
nb = require('Modul:rêziman/nobold')
giredan = require('Modul:girêdan').giredan_translit

local p = {}

--- kurtenav zayend + jimar
function kurtenav(zj)
	local sernav
	local kurte
	
	if zj == 'm' or zj == 'f'  then navZ = 'mê' sernav = 'Zayend: mê'  kurte = 'm'
    elseif  zj == 'm+' then navZ = 'bi gelemperî mê ye' sernav = 'Zayend: bi gelemperî mê ye'  kurte = 'm+'
    elseif  zj == 'n' then navZ = 'nêr' sernav = 'Zayend: nêr'  kurte = 'n'
    elseif  zj == 'n+' then navZ = 'bi gelemperî nêr e' sernav = 'Zayend: bi gelemperî nêr e'  kurte = 'n+'
    elseif  zj == 'nt' then navZ = 'nêtar' sernav = 'Zayend: nêtar'  kurte = 'nt'
    elseif  zj == 'mn' then  navZ = 'mê û nêr' sernav = 'Zayend: mê û nêr'  kurte = 'm&n'
    elseif  zj == 'c' then navZ = '?' sernav = 'Zayend: ?'  kurte = 'c'
    elseif  zj == 'y' then navZ = 'yekjimar' sernav = 'Jimar: yekjimar'  kurte = 'yj'
    elseif  zj == 'p' then navZ = 'pirjimar' sernav = 'Jimar: pirjimar'  kurte = 'pj'
    elseif  zj == 'p+' then navZ = 'bi gelemperî pirjimar e' sernav = 'Jimar: bi gelemperî pirjimar e'  kurte = 'pj+'
    elseif  zj == '?' then 
		navZ = '<span style="background-color:#FFDDDD;font-size:small;">zayend pêwîst e (z=m: mê, z=n: nêr, z=mn: mê û nêr, z=nt: nêtar)</span>'
		sernav = ''
		kurte = ''
	elseif  zj == nil or zj == '' then 
		navZ = ''
		sernav = ''
		kurte = ''
	else 
		navZ = '<span style="background-color:#FFDDDD;font-size:small;">parametre: z=m: mê, z=n: nêr, z=mn: m û nêr, z=nt: nêtar</span>'
		sernav = ''
		kurte = ''
	end
	return {'<i>'.. navZ ..'</i>', '<span style="cursor:help;" title="' .. sernav .. '">' 
			.. '<span style="border-bottom: 1px dotted #555555; "><i>' .. kurte .. '</i></span></span>'}
end


--- lêkerCure
function lekerCure(lc, ziman)
	local navC
	
	if lc == 'x'   then navC = 'lêkera xwerû'
		katc = b.bike_kategori_naverok('Lêkerên xwerû' .. ' (' ..  ziman .. ')')
	elseif  lc == 'x-gh'   then navC = 'lêkera xwerû, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên xwerû' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên xwerû yên gerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'x-ngh'   then navC = 'lêkera xwerû, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên xwerû' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên xwerû yên negerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'p'   then navC = 'lêkera pêkhatî'
		katc = b.bike_kategori_naverok('Lêkerên pêkhatî' .. ' (' ..  ziman .. ')')
	elseif  lc == 'p-gh'   then navC = 'lêkera pêkhatî, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên pêkhatî' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên pêkhatî yên gerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'p-ngh'   then navC = 'lêkera pêkhatî, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên pêkhatî' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên pêkhatî yên negerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'h'   then navC = 'lêkera hevedudanî'
		katc = b.bike_kategori_naverok('Lêkerên hevedudanî' .. ' (' ..  ziman .. ')')
	elseif  lc == 'h-gh'   then navC = 'lêkera hevedudanî, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên hevedudanî' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên hevedudanî yên gerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'h-ngh'   then navC = 'lêkera hevedudanî, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên hevedudanî' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên hevedudanî yên negerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'b'   then navC = 'lêkera biwêjî'
		katc = b.bike_kategori_naverok('Lêkerên biwêjî' .. ' (' ..  ziman .. ')')
	elseif  lc == 'b-gh'   then navC = 'lêkera biwêjî, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên biwêjî' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên biwêjî yên gerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'b-ngh'   then navC = 'lêkera biwêjî, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên biwêjî' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  ziman .. ')')
			.. b.bike_kategori_naverok('Lêkerên biwêjî yên negerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'gh'   then navC = 'gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == 'ngh'   then navC = 'negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  ziman .. ')')
	elseif  lc == '?'   then 
		navC = '<span style="background-color:#FFDDDD;font-size:small;">cureyê lêkerê pêwîst e (c=gh: gerguhêz, c=ngh: negerguhêz, ... bo parametreyên din: [[Şablon:lêker#Bikaranîn]])</span>'
		katc = ''
	elseif lc == nil or lc == '' then
		navC = ''
		kat = ''
	else
		navC = '<span style="background-color:#FFDDDD;font-size:small;">parametre: c=gh: gerguhêz, c=ngh: negerguhêz, ... bo parametreyên din: [[Şablon:lêker#Bikaranîn]]</span>'
		katc = ''
	end
	return {'<i>'.. navC ..'</i>', katc}
end
  
function p.cure(frame)
    local args = frame:getParent().args
    local kod  = args[1]
    local nivisCuda  = args[2]
    local tr  = args['tr']
    local z  = args['z'] -- zayend
    local j  = args['j'] -- jimar
    local c  = args['c'] -- cure

    local m  = args['m'] -- forma mê
    local n  = args['n'] -- forma nêr
    local nt  = args['nt'] -- forma nêtar
    local p  = args['p'] -- forma pirjimar
    local y  = args['y'] -- forma pirjimar
    local np  = args['np'] -- forma nêr ya pirjimar
    local mp  = args['mp'] -- forma mê ya pirjimar

    local lk = args['lk'] -- forma lêker
    local nd = args['nd'] -- forma navdêr
    
    local gir = args['gir'] -- tîpa girek
    local hur = args['hûr'] -- tîpa hûrek
    
    local g  = args['g'] -- guherto
    local form  = args['form'] -- bo şablona {{tew}}: form="navdêr", "lêker", "rengdêr", "hoker" an "cînav"
    local ziman = lang.get_nav(kod)
    local nav = frame.args['nav']
    local navcure = frame.args['navcure']
    local link = frame.args['link']
    local kat = frame.args['kat']
    local nivisaSer = ''
	----------------------------------------------------------------------------
	----------------------------- ÇÊKIRINA SERNIVÎSÊ --------------------------------
	----------------------------------------------------------------------------
	if nb.nobold[kod] == 'nobold' then
		if (nivisCuda) then
			nivisaSer = '<span style="color:#222">' .. frame:expandTemplate{ title = 'zim', args = { kod, nivisCuda} } .. '</span>'
		else
			nivisaSer = '<span style="color:#222">' .. frame:expandTemplate{ title = 'zim', args = { kod, mw.title.getCurrentTitle().subpageText} } .. '</span>'
		end
	else	
		if (nivisCuda) then
			nivisaSer = '<b style="color:#222">' .. frame:expandTemplate{ title = 'zim', args = { kod, nivisCuda} } .. '</b>'
		else
			nivisaSer = '<b style="color:#222">' .. frame:expandTemplate{ title = 'zim', args = { kod, mw.title.getCurrentTitle().subpageText} } .. '</b>'
		end
	end
       
	--- translit
	if (kod ~= nil) then
		local title = tostring(kod .. '-translit')
		local translitLink = tostring('Modul:' .. title)
       
		if mw.title.new( title, 'Modul' ).exists == true then
			translit = require(translitLink).tr
		end
	end
 
	if (tr and tr ~= '-' and tr ~= '') then
		nivisaSer = nivisaSer .. '&nbsp;(<i>' .. tr .. '</i>)'
	elseif (tr == '-') then
		nivisaSer = nivisaSer
	elseif ( (tr == '' or tr == nil) and translit ) then
		if (nivisCuda and translit(nivisCuda)) then
			nivisaSer = nivisaSer .. '&nbsp;(<i>' .. translit(nivisCuda) .. '</i>)'
		else
			if (translit(mw.title.getCurrentTitle().subpageText)) then
				nivisaSer = nivisaSer .. '&nbsp;(<i>' .. translit(mw.title.getCurrentTitle().subpageText) .. '</i>)'
			else
				nivisaSer = nivisaSer
			end
		end
	else
		nivisaSer = nivisaSer
	end
	 
	--- cure
	if (c and c ~= '' and nav == 'lêker') then
		nivisaSer = nivisaSer .. ' ' .. lekerCure(c, ziman)[1]
	else
		nivisaSer = nivisaSer
	end
	
	--- zayend
	if (z) then
		nivisaSer = nivisaSer .. ' ' .. kurtenav(z)[1]
	end
	
	--- jimar	
	if (j) then
		nivisaSer = nivisaSer .. ' ' .. kurtenav(j)[1]
	end
		
	--- formên din (mê, nêr, nêtar) // Format: { {parametre, nivîs, navê cureyî}, ... }
	if (gir or hur or m or n or nt or y or p or np or mp or nd or lk) then
		local tab = { {gir, 'girek', 'tîp'}, {hur, 'hûrek', 'tîp'},
					{m, 'forma mê'}, {n, 'forma nêr'}, {nt, 'forma nêtar'},
					{y, 'forma yekjimar'}, {p, 'forma pirjimar'}, {np, 'forma nêr a pirjimar'},
					{mp, 'forma mê ya pirjimar'}, {nd, 'forma navdêr'}, {lk, 'forma lêker'} }

		nivisaSer = nivisaSer .. ' <i>(</i>'
		for i, v in ipairs(tab) do
			if ( v[1] ~= nil and (nav == v[3] or v[3] == nil ) ) then
				nivisaSer = nivisaSer .. '<i>' .. v[2] .. '</i> '.. giredan(kod, v[1])
				nivisaSer = nivisaSer .. ', '
			end
		end
		nivisaSer = nivisaSer .. '<i>)</i>'
		nivisaSer = mw.ustring.gsub(nivisaSer, ', <i>%)</i>', '<i>)</i>')
	end
	----------------------------------------------------------------------------
	----------------------------- ÇEKIRINA KATEGORIYAN -------------------------
	----------------------------------------------------------------------------
	-- çêkirina kategoriyan (koda zimanî ne hatiye nivîsandin)
	if (kod == nil or kod == '') then 
		if (kat ~= nil) then nav = kat end
		kat =  b.bike_kategori_naverok('Şablonên rêzimanî yên bê koda zimanî')
		return nivisaSer .. kat
	end
  
	-- Çêkirina kategoriyan (koda zimanî hatiye nivîsandin)
	if (ziman ~= nil) then
		if (kat == 'nekat') then
			kat = ''
		else
			if (kat ~= nil and kat ~= 'nekat') then
				nav = kat
			end
			
			-- Kategoriya YEKEM [[Kategorî:nav (ziman)]] / Bo formên tewandî (form=êrê) kategorî ([[Kategorî:nav (ziman)]]) nayê çêkirin.
			if ( (nav == 'navdêr' or nav == 'lêker' or nav == 'rengdêr' or nav == 'hoker' or nav == 'cînav') and form == 'erê') then
				kat = b.bike_kategori_naverok('Formên ' .. nav .. 'an' .. ' (' ..  ziman .. ')')
			else
				kat =  b.bike_kategori_naverok(b.ucfirst(nav) .. ' (' ..  ziman .. ')')
			end
	     
			if (z == 'm' or z == 'n' or z == 'nt' or z == 'mn' or z == 'm+' or z == 'n+' or j == 'p+') then
				if (z == 'm') then z = 'mê' end
				if (z == 'm+') then z = 'ku bi gelemperî mê ne' end
				if (z == 'n') then z = 'nêr' end
				if (z == 'n+') then z = 'ku bi gelemperî nêr in' end
				if (z == 'nt') then z = 'nêtar' end
				if (z == 'mn') then z = 'mê û nêr' end
				if (j == 'p+') then z = 'ku bi gelemperî pirjimar in' end
     
				kat = kat .. b.bike_kategori_naverok(b.ucfirst(nav) .. 'ên ' .. z .. ' (' ..  ziman .. ')')
			end
		end
     
		if (c and c ~= '' and nav == 'lêker') then
			kat = kat .. lekerCure(c, ziman)[2]
		end
     
		--!kevn (li jor binêre: pashê kod tê rakirin)! form (ji bo şablona {{tew}}) (formata kevn e, yê no ji bo formata "form=erê" tê çêkirin)
		if ( (form == 'navdêr' or form == 'lêker' or form == 'rengdêr' or form == 'hoker' or form == 'cînav') and nav == 'tewandin') then
			kat = kat .. b.bike_kategori_naverok('Formên ' .. form .. 'an' .. ' (' ..  ziman .. ')')
		end
		
    	-- Kategoriya zayendê
		if (navcure) then
			kat = kat .. b.bike_kategori_naverok(b.ucfirst(nav) .. 'ên ' .. navcure .. ' (' ..  ziman .. ')')
		end
		
		-- Kategorî ji bo zimanê kurdî
		if (kod == 'ku' and nav == 'navdêr' and (z == nil or z == '' or z == '?') and form ~= 'erê') then
			kat =  kat .. b.bike_kategori_naverok('Navdêrên bêzayend (kurdî)')
		end
		if (kod == 'ku' and nav == 'lêker' and (c == nil or c == '' or c == '?') and form ~= 'erê') then
			kat =  kat .. b.bike_kategori_naverok('Lêkerên bêcure (kurdî)')
		end
		
		return nivisaSer .. kat
     
	else
		return  '<span style="color:red;font-size:85%;"><i>(çewtiya koda zimanî, bnr. [[Modul:ziman/dane|*]])</i></span>' .. b.bike_kategori_naverok('Rûpelên bi çewtiyên koda zimanî')
	end
end

return p