Moduuli:sanarivi/ar

Wikisanakirjasta

Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:sanarivi/ar/ohje

local p = {}

local luokat    = require("Moduuli:luokittelu")
local apu       = require("Moduuli:Mallinetyokalut")
local srlib     = require("Moduuli:LibSanarivi")
local paramtext = require("Moduuli:ParametrisoituTeksti")
local ryhma, var, luettelo = paramtext.ryhma, paramtext.muuttuja, paramtext.luettelo


function p.substantiivi (frame, luokat)
	local args     = frame.args
	args.vok = apu.ensimmainen_ei_tyhja{ frame.args.vok, frame.args[2], mw.title.getCurrentTitle().text }
	
	local args2    = apu.numeroidut_parametrit(frame.args, { "vok", "lat", 
															 "mon", "monvok", "monlat", 
															 "du",  "duvok",  "dulat" })
	local lang = "ar"
	local kirj = "Arab"

	-- Lisäparametrit kielilinkeille.
	lp_mon = apu.map(function (mon) return { ["elem"]   = "b", 
    									     ["kuvaus"] = "subs-mon-lat" } end, args2.mon or {})
    									        
  	lp_du  = apu.map(function (du)  return { ["elem"]   = "b", 
    								  		 ["kuvaus"] = "subs-du-lat" } end, args2.du or {})  									        

		
	return paramtext.muotoile(
		ryhma("",
			srlib.tailuettelo(
				ryhma("",
   					srlib.hakusana(args2.vok, lang, kirj), " ",
   					ryhma("(", srlib.latmerkkaus(args2.lat), ")"), 
   				"") 
   			), " ",
   			srlib.sukuteksti(args.suku), " ",
   			ryhma("(",
   				srlib.monikkoluettelo(lang, args2.mon, args2.monvok, args2.monlat, lp_mon), "; ",
   				ryhma("''duaali'' ",  srlib.linkkiluettelo(lang, args2.du,  args2.duvok,  args2.dulat, lp_du),  ""), 
   			")"), 
   		"")), luokat	
end

return p