وحدة:بطاقة/قالب/لعبة فيديو

local general = require( 'وحدة:بطاقة/أدوات' )

local function getRating(item)
     local contentRatings = {ESRB='P852',PEGI='P908',USK='P914',CERO='P853',OFLC='P3156',ClassInd='P3216'
               ,GSRR='P916',BBFC='P2629'}
     local data = {}
     local res
     for org,prop in pairs(contentRatings) do
           res = require("وحدة:Wikidata.Ca").claim{item = item.id , formatting='table', list=false 
                 , property= prop , qualifier= prop ..'/P18' , qualifier2='/' .. prop , colforfmat2='raw' 
                 , rowformat='<div style="text-align:center;float:right;padding:0 5px 5px 5px">[['..org..']]<br/>[[File:$1|65x65px|link=]]</div>'}
           table.insert(data,res)
     end
    if #data>0 then return '<div style="display:flex">'..table.concat(data,'')..'</div>',#data end
    return nil
end

return {
 maincolor = '#F0B020',
 wikimod = 'Wikidata.Ca',
 parts = {
	general.title({icon='jeuvideo'}),
	{type='subtitle',value={'عنوان أصلي'}
			, wikidata= {property = 'P1476',list = 2,conjunction = "<br />"
					,formatting = '$text {{Language icon|NoCat=y|$language}}'}},
	general.logo(),
	{type = 'images'
		, imageparameters =  {'لقطة شاشة','screenshot','لقطة','غلاف','صورة','image'}
		, captionparameter ={'caption','تعليق','عنوان الغلاف'}
		, defaultcaption='لقطة شاشة'
		, wikidata = {property = 'P18'}, 
	},

	{type='table', title = 'معلومات عامة',rows = {
       {type = 'mixed', label = 'اللغة'
			, value = {'اللغة'}
			, wikidata = {property = 'P364'}
		}
		,{type = 'mixed', label = 'التوزيع'
			, value = {'التوزيع'}
		}
		,{type = 'mixed', label = 'النمط'
			, value = {'mode','نمط','modes','نمط اللعبة'}
			, wikidata = {property = 'P404'}
		}
		,{type = 'mixed', label = 'نوع صندوق الألعاب'
			, value = {'cabinet','نوع الصندوق'}  
		}
		,general.website()
		,{type = 'navbox', inner=true
			, previousparameter = "سبقه", previousproperty = "P155"
			, nextparameter = "تبعه", nextproperty = "P156"},
	}},

	{type='table', title = 'التطوير',rows = {		

		{type = 'mixed', label = '[[مطور ألعاب فيديو|المطور]]'
			, value = {'developer','مطور'}
			, wikidata = {property = 'P178'}
		}
		,{type = 'mixed', label = '[[ناشر لعبة فيديو|الناشر]]'
			, value = {'publisher','ناشر'}
			, wikidata = {property = 'P123'}
		}
		,{type = 'mixed', label = '[[تصميم لعبة فيديو|المصمم]]'
			, value = {'designer','مصمم'}
			, wikidata = {property = 'P287'}
		}
		,{type = 'mixed', label = '[[مدير إبداعي|المخرج]]'
			, value = {'director','مخرج'}
			, wikidata = {property = 'P57'}
		}
		,{type = 'mixed', label = '[[مبرمج ألعاب|المبرمج]]'
			, value = {'programmer','مبرمج'}
			, wikidata = {property = 'P943'}
		}
		,{type = 'mixed', label = 'الموزع'
			, value = {'distributor','موزع'}
			, wikidata = {property = 'P750'}
		}
		,{type = 'mixed', label = 'الكاتب'
			, value = {'writer','كاتب'}
			, wikidata = {property = 'P50'}
		}
		,{type = 'mixed', label = '[[منتج ألعاب فيديو|المنتج]]'
			, value = {'producer','منتج'}
			, wikidata = {property = 'P162'}
		}
		,{type = 'mixed', label = '[[فنان ألعاب|الفنان]]'
			, value = {'artist','فنان'}
			, wikidata = {property = 'P3080'}
		}
		,{type = 'mixed', label = 'ألبوم الموسيقى التصويرية'
			, value = {'ألبوم الموسيقى التصويرية'}
			, wikidata = {property = 'P406'}
		}
		,{type = 'mixed', label = '[[موسيقى لعبة فيديو|الموسيقى]]'
			, value = {'composer','مؤلف الموسيقى'}
			, wikidata = {property = 'P86'}
		}
		,{type = 'mixed', label = '[[ترخيص برمجيات|الرخصة]]'
			, value = {'رخصة','الرخصة'}
			, wikidata = {property = 'P275'}
		}
		,{type = 'mixed', label = 'سلسلة اللعبة'
			, value = {'series','سلسلة'}
			, wikidata = {property = 'P179'}
		}
		,{type = 'mixed', label = 'النسخة الحالية'
			, value = {'نسخة'}
		}
		,{type = 'mixed', label = '[[منصة (حوسبة)|النظام]]'
			, value = {'platform','نظام','platforms','أنظمة'}
			, wikidata = {property = 'P400', conjtype='*'}
		}
		,{type = 'mixed', label = 'تاریخ الإصدار'	
			, value = {'إصدر','released','الإصدار','release'}
			,wikidata={formatting='table'
  		              ,property='P571 OR P577' , qualifier='P291' , qualifier2='P400' 
  		              ,rowformat = "$2 $0 $1 $R0" , rowsubformat1= "($1)" , rowsubformat2 = "'''$2:'''"
  		              ,tablesort=0 , list='bestrank' 
			}
		}
		,{type = 'mixed', label = '[[دورة حياة إصدار البرمجيات|أحدث إصدار]]'
			, value = {'أحدث نسخة إصدار'} 
		}
		,{type = 'mixed', label = '[[دورة حياة إصدار البرمجيات|إصدار العرض المسبق]]'
			, value = {'أحدث نسخة عرض مسبق'}
		} 
		,{type = 'mixed', label = '[[قائمة أنواع ألعاب الفيديو|نوع اللعبة]]'
			, value = {'genre','نوع'}
			, wikidata = {property = 'P136'}
		}
		,{type = 'mixed', label = 'متطلبات النظام'
			, value = {'متطلبات'}
		}
		,{type = 'mixed', label = '[[واسطة رقمية|الوسائط]]'
			, value = {'media','وسائط'}
			, wikidata={formatting='table'
  		              ,property='P437' , qualifier='P400' 
  		              ,rowformat = "* $0 $1 $R0" , rowsubformat1= "($1)"
  		              ,tablesort=0 , list='bestrank' 
			}
		}
		
	}},

	{type='table', title = 'معلومات تقنية',rows = {		
		{type = 'mixed', label = '[[محرك لعبة|محرك اللعبة]]'
			, value = {'engine','محرك'}
			, wikidata = {formatting='table'
  		              ,property = 'P408', qualifier='P348' , qualifier2='P400'
  		              ,rowformat = "* $2 $0 $1 $R0" 
  		              ,tablesort=0 , list='bestrank'}
		}
		,{type = 'mixed', label = '[[نسبة باعية|النّسبة الباعيّة]]'
			, value = {'شكل الصورة','نسبة باعية'}
		}
		,{type = 'mixed', label = '[[دقة شاشة|الدقة]]'
			, value = {'دقة تفاصيل الصورة'}
		}
		,{type = 'mixed', label = 'نظام [[حجرة آركيد|صندوق الألعاب]]'
			, value = {'arcade system','نظام صندوق الألعاب'}  
		}
		,{type = 'mixed', label = '[[وحدة المعالجة المركزية|و.م.م.]]'
			, value = {'cpu','معالج'}  
		}
		,{type = 'mixed', label = 'نظام الصوت'
			, value = {'sound','صوت'}  
		}
		,{type = 'mixed', label = 'نظام الشاشة'
			, value = {'display','شاشة'}  
		}
		,{type = 'mixed', label = '[[مدخلات (حوسبة)|مدخلات]]'
			, value = {'input','مدخلات'}
			, wikidata = {property = 'P479'}
        }
	}}
	,{type='table', title = '[[نظام تقييم محتوى لعبة فيديو|التقييم]]',rows = {
		{type = 'row1col', value = {'تقييم'} , wikidata=getRating },
	}}
}
}