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

{{nav}} (navdêr) · {{serenav}} · {{l}} (lêker) · {{rd}} (rengdêr) · {{h}} (hoker) · {{cînav}} · {{grd}} (girêdek) · {{d}} (daçek) · {{a}} (artîkel) · {{pirtik}} · {{baneşan}} · {{navgir}} · {{paşgir}} · {{pêşgir}} · {{biwêj}} · {{hevok}} · {{gp}} (gotineke pêşiyan) · {{tew}} (tewandin) · {{hejmar}} · {{tîp}} · {{sembol}}

Yên kevn {{nav-m}} · {{nav-n}} · {{nav-nt}} · {{serenav-m}} · {{serenav-n}} · {{serenav-nt}} · {{l-gh}} · {{lx}} · {{lp}} · {{lh}} · {{lb}} · {{l-ngh}} · {{kurtenav}} · {{zz}}
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')

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û' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'x-gh'   then navC = 'lêkera xwerû, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên xwerû' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên xwerûyên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'x-ngh'   then navC = 'lêkera xwerû, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên xwerû' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên xwerûyên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'p'   then navC = 'lêkera pêkhatî'
		katc = b.bike_kategori_naverok('Lêkerên pêkhatî' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'p-gh'   then navC = 'lêkera pêkhatî, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên pêkhatî' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên pêkhatiyên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'p-ngh'   then navC = 'lêkera pêkhatî, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên pêkhatî' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên pêkhatiyên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'h'   then navC = 'lêkera hevedudanî'
		katc = b.bike_kategori_naverok('Lêkerên hevedudanî' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'h-gh'   then navC = 'lêkera hevedudanî, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên hevedudanî' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên hevedudanî yên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'h-ngh'   then navC = 'lêkera hevedudanî, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên hevedudanî' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên hevedudaniyên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'b'   then navC = 'lêkera biwêjî'
		katc = b.bike_kategori_naverok('Lêkerên biwêjî' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'b-gh'   then navC = 'lêkera biwêjî, gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên biwêjî' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên biwêjiyên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'b-ngh'   then navC = 'lêkera biwêjî, negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên biwêjî' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
			.. b.bike_kategori_naverok('Lêkerên biwêjiyên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'gh'   then navC = 'gerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên gerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == 'ngh'   then navC = 'negerguhêz'
		katc = b.bike_kategori_naverok('Lêkerên negerguhêz' .. ' (' ..  b.ucfirst(ziman) .. ')')
	elseif  lc == '?'   then 
		navC = '<span style="background-color:#FFDDDD;font-size:small;">cureya lêkerê pêwîst e (c=gh: gerguhêz, c=ngh: negerguhêz, ... bo parametreyên din: [[Şablon:l#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#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 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_nom(kod)
    local nav = frame.args['nav']
    local navcure = frame.args['navcure']
    local link = frame.args['link']
    local kat = frame.args['kat']
    local nivisaSer = ''
	----------------------------------------------------------------------------
	----------------------------- çêkirina navê --------------------------------
	----------------------------------------------------------------------------
	if (g == "2") then
		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().text} } .. '</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().text} } .. '</b>'
			end
		end
       
		--- translit
		local title = tostring(kod .. '-translit')
		local translitLink = tostring('Modul:' .. title)
       
		if mw.title.new( title, 'Modul' ).exists == true then
			translit = require(translitLink).tr
		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().text)) then
					nivisaSer = nivisaSer .. '&nbsp;(<i>' .. translit(mw.title.getCurrentTitle().text) .. '</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
	
	else	
		nivisaSer = '<i>[[' .. nav .. ']]</i>'
		if (link ~= nil) then nivisaSer = '<i>[[' .. link .. '|' .. nav .. ']]</i>' end
	end
	
	----------------------------- dawî g2 --------------------------------------
	-- navcure
	if (navcure) then 
		if (navcure == 'mê' or navcure == 'nêr' or navcure == 'nêtar') then 
			nivisaSer = nivisaSer .. ', <i>[[' .. navcure .. ']]</i>'
		else 
			nivisaSer = nivisaSer .. ', <i>' .. navcure .. '</i>'
		end
	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 (g == '2' and kat == 'nekat') then
			kat = ''
		else
			if (kat ~= nil and kat ~= 'nekat') then
				nav = kat
			end
			kat =  b.bike_kategori_naverok(b.ucfirst(nav) .. ' (' ..  b.ucfirst(ziman) .. ')')
     
			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 .. ' (' ..  b.ucfirst(ziman) .. ')')
			end
		end
     
		if (c and c ~= '' and nav == 'lêker') then
			kat = kat .. lekerCure(c, ziman)[2]
		end
     
		-- form (ji bo şablona {{tew}})
		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' .. ' (' ..  b.ucfirst(ziman) .. ')')
		end
     
		if (navcure) then
			kat = kat .. b.bike_kategori_naverok(b.ucfirst(nav) .. 'ên ' .. navcure .. ' (' ..  b.ucfirst(ziman) .. ')')
		end
     
		-- Peyvên bê "g=2" tevlî kategoriya [[Kategorî:Şablonên rêzimanî yên bê parametreya g=2]] dike.
		if (not g) then 
			kat = kat .. b.bike_kategori_naverok('Şablonên rêzimanî yên bê parametreya g=2')
		elseif (g == '2') then
			kat = kat .. b.bike_kategori_naverok('Şablonên rêzimanî yên bi parametreya g=2')     	
		end
     
		if (g ~= '2') then
			return nivisaSer .. kat .. b.bike_kategori_naverok(nav .. ' bê g2' .. ' (' ..  b.ucfirst(ziman) .. ')')
		else
			return nivisaSer .. kat
		end
     
	else
		return  '<span style="color:red;font-size:85%;"><i>(çewtiya koda zimanê)</i></span>' .. b.bike_kategori_naverok('Rûpelên bi çewtiyên koda zimanê')
	end
end

return p