وحدة:ب.ص.م/بطاقة/كتاب/ملعب

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

هذه الصفحة شرح لوحدة من وحدات البطاقات المبنية اعتمادا على وحدة:ب.ص.م. وتستعمل في {{بطاقة كتاب/ملعب}}.

يمكن إنشاء توثيق الوحدة في صفحة الشرح
local generic = require( 'وحدة:ب.ص.م/أدوات' )
local localdata = require 'وحدة:ب.ص.م/بيانات'

local wd2formatStatements = require('وحدة:Wikidata2').formatStatementsFromLua


local function getSerieInfo(item)
	local wd1 = require('وحدة:Wikidata')

	mw.log(">>>***"..mw.dumpObject(wd1.claim({args={'P840',id=item.id,qualifierId='P585',list='*'}})))	

	--local n= wd2formatStatements({property = 'P179', entityId = item.id, qual1='P1545', rank='best', rawtolua=true,nocate=true}) -- #P1545    * 155 ** 156
	--local prev= wd2formatStatements({property = 'P179', entityId = item.id, qual1='P155', rank='best', raw=true,nocate=true, formatting  = 'raw'}) -- #P1545    * 155 ** 156
	--local succ= --require('وحدة:Wikidata').claim({args={'P179',id=item.id,qualifier='P156'}})
	--wd2formatStatements({property = 'P179', entityId = item.id, qual1='P156', rank='best', raw=true,nocate=true}) -- #P1545    * 155 ** 156
	
	--mw.log(">> Serie : >>"..mw.dumpObject(n)..">> Serie : >>"..mw.dumpObject(prev)..">> Serie : >>"..mw.dumpObject(succ))
	return nil --wd2formatStatements({property = 'P179', entityId = item.id})
end

local function getInArabic( item, prop )
	return wd2formatStatements({property = prop, entityId = item.id,  langpref = 'ar'})
end

local function getWikisource(item)

	if item.sitelinks.arwikisource and item.sitelinks.arwikisource.title then
			local arwikisourcetitle = item.sitelinks.arwikisource.title	
			return "''[[s:" .. arwikisourcetitle .."|نسخة بالعربية]]'' على [[ويكي مصدر]]"
	end	
	
	return nil
end




return {
	maincolor = '#EE9A4D',
	
	parts = {
		generic.title('book'),-- Title
		{type = 'subtitle', value = {'العنوان الأصلي','title_orig'}, wikidata= {property = 'P1476',numval = 2, conjtype = 'new line', showlang = true}},
		generic.mainimage(),
		{type = 'images',	imageparameters =  {'صورة جانبية'} },
		{type='table', title = 'معلومات عامة', rows = {
			{type = 'row', label = 'المؤلف', value = function ( localdata )
					local val = localdata['مؤلف'] or localdata['المؤلف'] or localdata['author']
					if localdata['تاريخ الوفاة'] and localdata['تاريخ المولد'] then
						return val..'<br/><small>'..localdata['تاريخ المولد']..' — '..localdata['تاريخ الوفاة']..'</small>'
					end
					return val
				end
				, property = 'P50'}, ---تاريخ المولد - تاريخ الوفاة
			{type = 'row', label = 'المحقق', value = {'محقق'}},
			{type = 'row', label = 'اللغة', value = {'لغة','اللغة','language'}, property = 'P407'},
			{type = 'row', label = 'البلد', value = {'البلد','country'}, property = 'P495'},
			{type = 'row', label = 'السلسلة', value = {'سلسلة'}, --property = 'P179'
				wikidata= function ( item ) return getSerieInfo(item)  end
			},
			{type = 'row', label = 'الموضوع', value = {'موضوع'}, --wikidata= function ( item ) return getInArabic(item,'P921')  end},-- 
				wikidata= {property = 'P921', preflang='ar', isinlang='ar'}},
			{type = 'row', label = 'النوع الأدبي', value = {'نوع أدبي','genre','discipline'}, --wikidata= function ( item ) return getInArabic(item,'P136')  end},--, 
				wikidata= {property = 'P136', langpref='ar', isinlang='fr', conjtype = ' — '}},
			{type = 'row', label = 'الناشر', value = {'الناشر','ناشر','publisher'}, wikidata= {property = 'P123', conjtype = '<br>'}},
			
			{type = 'row', label = 'كتب لـ', value = {'كتب لـ','مخصص لـ'}, property = 'P825'},
			{type = 'row', label = 'الإصدار', value = {'إصدار'}},
			{type = 'row', label = 'تاريخ الإصدار', value ={'تاريخ الصدور','تاريخ الإصدار','تاريخ_الإصدار','pub_date'}, property = 'P577'},
		}},

		{type='table', title = 'الترجمة', rows = {
			{type = 'row', label ='ترجمة', value = {'المترجم','مترجم','translator'}},
			{type = 'row', label ='[[الرقم الدولي المعياري للكتاب|ردمك الترجمة]]', value = {'ردمك ترجمة'}},
			{type = 'row', label = 'ناشر الترجمة', value = {'ناشر الترجمة'}},
			{type = 'row', label = 'تاريخ الإصدار المترجم', value = {'تاريخ_الإصدار المترجم','تاريخ الإصدار المترجم'}},
		}},

		{type='table', title = 'التقديم', rows = {
			{type = 'row', label = 'المصور', value = {'مصور'}},
			{type = 'row', label = '[[الرسام التوضيحي]]', value = {'رسام توضيحي','illustrator'}},
			{type = 'row', label ='فنان الغلاف', value = {'فنان الغلاف','cover_artist'}},
			{type = 'row', label = 'نوع الطباعة', value = {'نوع الطباعة'}},
			{type = 'row', label = 'عدد الأجزاء', value = {'عدد الأجزاء','عدد_الأجزاء','number_of_books'}},
			{type = 'row', label = 'الأجزاء', value = {'قائمة الأجزاء','قائمة_الأجزاء','الأجزاء','books'}},
			{type = 'row', label = 'عدد الصفحات', value = {'عدد الصفحات','عدد_الصفحات'}, property = 'P1104'},
			{type = 'row', label = 'القياس', value = {'قياس'}},
			{type = 'row', label = 'الوزن', value = {'وزن'}, property = 'P2067'},
		}},

		{type='table', title = 'الجوائز', rows = {
			{type = 'row',  value = {'الجوائز','awards','الأوسمة','أوسمة'}, wikidata= {property = 'P166', conjtype = '*'}},
		}},	    
		{type='table', title = 'المعرفات', rows = {
			{type = 'row', label = '[[الرقم الدولي المعياري للكتاب|ردمك]]', value ={'ردمك','ISBN','ردمك2','ISBN2'}, property = {'P212','P957'}},
			{type = 'row', label = '[[مركز المكتبة الرقمية على الإنترنت|OCLC]]', value = {'أكلس','OCLC','oclc'}, property = 'P243'},
			{type = 'row', label ='جود ريدز', value = {'جود ريدز','Goodreads'}, property = 'P2969'},
			{type = 'row', label = '[[تصنيف ديوي العشري|ديوي]]', value = {'ديوي','dewey','Dewey'}, property = 'P1036'},
			{type = 'row', label = '[[تصنيف مكتبة الكونغرس|كونغرس]]', value = {'كونغرس','congress'}, property = 'P1149'},
		}},
		{type='table', title = 'المواقع', rows = {
			{type = 'row', label = '[[ويكي مصدر]]', value = {'ويكي مصدر','مصدر'}, wikidata= function ( item ) return getWikisource(item)  end},
			{type = 'row', label = 'الموقع الرسمي', value = {'الموقع','الموقع الرسمي','الموقع الرسمي'}, property = 'P856'},
		}},
		{type='table', title = 'كتب أخرى للمؤلف', rows = {
			{type = 'row', label = 'قائمة', hidden=true, value = {'أخرى'}},
		}},
		{type='table',  rows = {
		--	{type = 'succession', previousparameter = "سبقه", previousproperty = "P155", nextparameter = "تبعه",	nextproperty = "P156"}
		}}
	}
}