يمكن إنشاء صفحة توثيق الوحدة في وحدة:Wikidata2/P172/شرح

local p = {}

local eth = {
	['Q49085'] = {["male"] =  'امريكى افريقى', ["female"]=	'امريكيه افريقيه'	,["na"] = 'امريكيين افارقه' } --	African Americans
	,['Q79797'] = {["male"] =  'أرمنى', ["female"]=	'أرمنيه'	,["na"] = 'أرمن' } --	Armenians
	,['Q179248'] = {["male"] =  'ألبانى', ["female"]=	'ألبانيه'	,["na"] = 'ألبان' } --	Albanians
	,['Q539051'] = {["male"] =  'يينانى', ["female"]=	'يينانيه'	,["na"] = 'يينانيين' } --	Greeks
	,['Q161652'] = {["male"] =  'يابانى', ["female"]=	'يابانيه'	,["na"] = 'شعب يابانى' } --	Japanese people
	,['Q127885'] = {["male"] =  'صربى', ["female"]=	'صربيه'	,["na"] = 'صرب' } --	Serbs
	,['Q7325'] = {["male"] =  'يهودي', ["female"]=	'يهوديه'	,["na"] = 'يهود' } --	Jews
	,['Q2325516'] = {["male"] =  'أرمنى امريكى', ["female"]=	'أرمنيه امريكيه'	,["na"] = 'أرمن الولايات المتحده' } --	Armenian American
	,['Q187985'] = {["male"] =  'تيبيتى', ["female"]=	'تيبيتيه'	,["na"] = 'شعب التيبيت' } --	Tibetan people
	,['Q115026'] = {["male"] =  'امريكى سويدى', ["female"]=	'امريكيه سويديه'	,["na"] = 'امريكيين سويديين' } --	Swedish American
	,['Q678551'] = {["male"] =  'يهودى امريكى', ["female"]=	'يهودية أمريكيه'	,["na"] = 'يهود أمريكيين' } --	American Jews
	,['Q35323'] = {["male"] =  'عربى ', ["female"]=	'عربيه'	,["na"] = 'عرب' } --	Arab
	,['Q7129609'] = {["male"] =  'قوقازى ', ["female"]=	'قوقازيه'	,["na"] = 'اثنيه قوقازى' } --	Caucasian race
	,['Q133255'] = {["male"] =  'بلجارى ', ["female"]=	'بلجاريه'	,["na"] = 'بلغار' } --	Bulgarians
	,['Q42406'] = {["male"] =  'انجليزى', ["female"]=	'انجليزيه'	,["na"] = 'انجليز' } --	English people
	,['Q1026'] = {["male"] =  'پولاندى', ["female"]=	'پولانديه'	,["na"] = 'پولانديين' } --	Poles
	,['Q42884'] = {["male"] =  'ألمانى ', ["female"]=	'ألمانيه'	,["na"] = 'ألمان' } --	Germans
	,['Q244504'] = {["male"] =  'كاتالانى ', ["female"]=	'كاتالانيه'	,["na"] = 'كاتاالان' } --	Catalan people
	,['Q402913'] = {["male"] =  'بنجالى ', ["female"]=	'بنجاليه'	,["na"] = 'شعوب بنجال' } --	Bengali people
	,['Q49078'] = {["male"] =  'امريكى ابيض', ["female"]=	'امريكيه بيضا'	,["na"] = 'أمريكيين بيض' } --	White American
	,['Q485150'] = {["male"] =  'رومانى', ["female"]=	'رومانيه'	,["na"] = 'رومانيين' } --	Romanians
	,['Q2436423'] = {["male"] =  'مقدونى', ["female"]=	'مقدونيه'	,["na"] = 'مقدونيين' } --	Macedonians
	,['Q121842'] = {["male"] =  'فرنساوى ', ["female"]=	'فرنساويه'	,["na"] = 'فرنساويين' } --	French people
	,['Q133032'] = {["male"] =  'مجرى ', ["female"]=	'مجريه'	,["na"] = 'مجريين' } --	Hungarian people
	,['Q49542'] = {["male"] =  'روسى ', ["female"]=	'روسيه'	,["na"] = 'روس' } --	Russians
	,['Q1075293'] = {["male"] =  'امريكى ايرلندى', ["female"]=	'امريكيه ايرلنديه'	,["na"] = 'امريكيين ايرلنديين' } --	Irish American
	,['Q974693'] = {["male"] =  'ايطالى امريكى', ["female"]=	'ايطاليه امريكيه'	,["na"] = 'امريكيين ايطاليين' } --	Italian American
	}
	
local function get_lab( entit, P21  , options)
	local vv = formatEntityId(entit , options)
	local label;
	if eth[entit] then
		if P21 and P21 =='Q6581072'  
			then
				label = eth[entit]["female"] 
			elseif P21 =='Q6581097'  then
				label = eth[entit]["male"]
			else
				label = eth[entit]["na"]
		end
		vv = formatEntityId(entit, {label = ( label )})
	end
	return vv
end

function p.get_P172_lab( datavalue ,datatype , options)
   	local value = datavalue.value
   	local entit = datavalue.value.id
	local P21 =  formatStatements( {property ='P21', entityId = options.entityId , noref ='true' ,rank='all'
				, firstvalue='true',separator='',conjunction='',formatting ='raw'})
	local s = get_lab( entit , P21  , options).value
	return s 
	end
return p