تضامنًا مع حق الشعب الفلسطيني |
وحدة:معلومات شخص/ملعب
اذهب إلى التنقل
اذهب إلى البحث
هذه صفحة ملعب الوحدة لصفحة وحدة:معلومات شخص. |
title2 | |
---|---|
معلومات شخصية | |
المهنة | رئيس شركة مايكروسوفت (سابقاً) رئيس مشارك لمؤسسة بيل ومليندا غيتس |
مكان الولادة | سياتل، واشنطن، الولايات المتحدة الأمريكية |
الجنسية | أمريكي |
الديانة | مسيحي كاثوليكي (بروتستانتي أبرشانيّ سابقًا) |
الحياة المهنية | |
المواقع | |
عدل |
الاستخدام
{{#استدعاء:معلومات شخص/ملعب|infobox|id=Q76}}
title2 | |
---|---|
معلومات شخصية | |
الحياة المهنية | |
المواقع | |
عدل |
local p = {}
local wikidata = require('وحدة:Wikidata2').formatStatementsFromLua
local wl= require('وحدة:ص.م')
local Options = {}
local Genders = {}
local function getvalue(id,Property , pattern)
local Params = {entityId =id ,property = Property , rank='all',addTrackingCat ='true',showlang ='true'}
if pattern and pattern ~= "" then Params.pattern = pattern end
if Property == 'P569' or Property == 'P570' then
Params["value-module"] = "wikidata2/P569-P570"
Params["value-function"] = "getdate"
end
local value = wikidata(Params)
--mw.log( "id: " .. id .. "value:" .. tostring(value) )
return value
end
local function getvaluebothdates(id,Property)
local value= wikidata({entityId =id , property = Property,bothdates='true',separator='<br>', conjunction='<br>', rank='all',addTrackingCat ='true'} )
return value
end
local function getline(s)
return wl.Line({s, s,'right'})
end
local function getsubTitle(s)
return wl.SubTitle({s, s})
end
local function getmix(s,ss)
return wl.MixedLine({s,ss,ss})
end
local function getimage(id,Property,size)
local image = wikidata({entityId =id ,property =Property, firstvalue= 'true',image='image',size=size} )
if image then
local z =wl.Line({image})
return z
end
end
local function GetValueWithMix(id, property, name , pattern)
local value = Options[name] or Options['"' .. name .. '"'] or ""
if value == "" then
value = getvalue(id , property , pattern)
end
return getmix(name , value)
end
local function bothdates(id, property, name)
local hus = getvaluebothdates(id, property)
return getmix(name,hus)
end
local function getoffice(id,Property)
local val= wikidata({entityId =id ,property =Property, office='office',separator='<br>', conjunction='<br>', rank='all',noref='true',addTrackingCat ='true' , noicon='true'} )
local titl = getsubTitle('مناصب')
if val and val ~= '' then value = titl ..''..val end
return value
end
local function getaward(id,Property)
local val= wikidata({entityId =id ,property =Property, qual1='P1686',qual1pref='عن عمل: ', withdate ='t'
,separator='<br>', conjunction='<br>', rank='all'
,addTrackingCat ='true'
, mainprefix= '<div style="max-height:180px; padding: 2px 0 2px 5px; background-color:transparent;vertical-align:top;font-size:100%">'
, mainsuffixAfterIcon = "</div>"
} )
local titl = getsubTitle('جوائز')
local other = getline(val)
if val and val ~= '' then value = titl ..''..other end
return value
end
function p.pageId(frame)
entity = mw.wikibase.getEntityObject()
if not entity
then return nil
else return entity.id
end
end
local function label_by_gender( male , female , id)
local label = male
local P21 = Genders[id] or wikidata( {property ='P21', entityId = id , noref ='true' ,rank='all', firstvalue='true',formatting ='raw'})
if P21 then
Genders[id] = P21
if P21 =='Q6581072' then label = female end
--elseif P21 =='Q6581097' then label = male
end
return label
end
function p.infobox(frame)
local Args = frame.args
for param, value in pairs(Args) do
if value and mw.text.trim(value) ~= '' then -- empty parameters are ignored
Options[param] = value
mw.log( 'param: "' .. param .. '", value:"' .. value .. '"' )
end
end
local id = Args.id or Args['id'] or ""
if id == '' or not id then id = p.pageId() end
local title2 = mw.getCurrentFrame():callParserFunction{ name = 'اسم_الصفحة', args = ''}--
--mw.getCurrentFrame():expandTemplate{ title = "اسم_الصفحة"}
local open = wl.Open({id = ''})
local title = wl.Title({'title2',''})
local P1559 = getsubTitle((getvalue(id,'P1559') or ''),'')
local image = getimage(id,'P18','220' )
local P39 = getoffice(id,'P39')
local sub1 = getsubTitle('معلومات شخصية','')
local P106 = GetValueWithMix(id, 'P106','المهنة' )
local P1477 = GetValueWithMix(id, 'P1477','الاسم عند الولادة' )
local P569 = GetValueWithMix(id, 'P569','الميلاد' )
local P19 = GetValueWithMix(id, 'P19','مكان الولادة' )
local P570 = GetValueWithMix(id, 'P570','تاريخ الوفاة' )
local P20 = GetValueWithMix(id, 'P20','مكان الوفاة' )
local P509 = GetValueWithMix(id, 'P509','سبب الوفاة' )
local P551 = bothdates(id, 'P551','الإقامة' )
local P27 = GetValueWithMix(id, 'P27','الجنسية' )
local P172 = GetValueWithMix(id, 'P172','العرق' )
local P66 = GetValueWithMix(id, 'P66','نشأ في' )
local P2043 = GetValueWithMix(id, 'P2043','الطول' )
local P2067 = GetValueWithMix(id, 'P2067','الوزن' )
local P552 = GetValueWithMix(id, 'P552','استعمال اليد' )
local P741 = GetValueWithMix(id, 'P741','يد اللعب' )
local P140 = GetValueWithMix(id, 'P140','الديانة' )
local P102 = GetValueWithMix(id, 'P102','الحزب' )
local P463 = GetValueWithMix(id, 'P463',label_by_gender("عضو في" , "عضوة في" , id ) )
local P1050 = GetValueWithMix(id, 'P1050','مشكلة صحية' )
local P26 = bothdates(id, 'P26', label_by_gender("الزوج" , "الزوجة" , id ) )
local P40 = GetValueWithMix(id, 'P40','أبناء' )
local P1971 = GetValueWithMix(id, 'P1971','عدد الأطفال' )
local P22 = GetValueWithMix(id, 'P22','الأب' )
local P25 = GetValueWithMix(id, 'P25','الأم' )
local P7 = GetValueWithMix(id, 'P7','أخ' )
local P9 = GetValueWithMix(id, 'P9','أخت' )
local P53 = GetValueWithMix(id, 'P53','عائلة' )
local sub2 = getsubTitle('الحياة المهنية','')
local P69 = bothdates(id, 'P69','المدرسة الأم' )
local P166 = getaward(id,'P166')
local sub3 = getsubTitle('توقيع','')
local P109 = getimage(id,'P109','110' )
local P856 = GetValueWithMix(id, 'P856', "الموقع" )
local labe = label_by_gender("صفحته" , "صفحتها" , id )
local P345_pat = "[http://www.imdb.com/name/$1/ " .. labe .. " على IMDB]"
local P345 = GetValueWithMix(id, 'P345', "[[قاعدة بيانات الأفلام على الإنترنت|IMDB]]" , P345_pat)
local sub4 = getsubTitle( "المواقع", '')
local sing2 = '[//ar.wikipedia.org/w/index.php?title='.. title2 ..'&action=edit عدل]'
--local sing2 = mw.getCurrentFrame():expandTemplate{ title = "عدل", args = {title2}}
local sing = '</tr>\n<td class="navigation-only" colspan="2" style="border-top: 2px #E1E1E1 dotted; font-size: 80%; background:inherit; text-align: left;"><span class="plainlinks" style="float:right;">' .. sing2..'</span> [[ملف:Gtk-dialog-info.svg|12px|link=وحدة:معلومات شخص|طالع توثيق الوحدة]]</td>\n</tr>'
local closse = '\n</table>'
field = {}
table.insert(field, open)
table.insert(field, title)
if P1559 and P1559 ~= '' then table.insert(field, P1559) end
if image and image ~= '' then table.insert(field, image) end
if P39 and P39 ~= '' then table.insert(field, P39) end
if P26 and P106 then table.insert(field, sub1) end
if P106 and P106 ~= '' then table.insert(field, P106) end
if P1477 and P1477 ~= '' then table.insert(field, P1477) end
if P569 and P569 ~= '' then table.insert(field, P569) end
if P19 and P19 ~= '' then table.insert(field, P19) end
if P570 and P570 ~= '' then table.insert(field, P570) end
if P20 and P20 ~= '' then table.insert(field, P20) end
if P509 and P509 ~= '' then table.insert(field, P509) end
if P551 and P551 ~= '' then table.insert(field, P551) end
if P27 and P27 ~= '' then table.insert(field, P27) end
if P172 and P172 ~= '' then table.insert(field, P172) end
if P66 and P66 ~= '' then table.insert(field, P66) end
if P2043 and P2043 ~= '' then table.insert(field, P2043) end
if P2067 and P2067 ~= '' then table.insert(field, P2067) end
if P552 and P552 ~= '' then table.insert(field, P552) end
if P741 and P741 ~= '' then table.insert(field, P741) end
if P140 and P140 ~= '' then table.insert(field, P140) end
if P102 and P102 ~= '' then table.insert(field, P102) end
if P463 and P463 ~= '' then table.insert(field, P463) end
if P1050 and P1050 ~= '' then table.insert(field, P1050) end
if P26 and P26 ~= '' then table.insert(field, P26) end
if P40 and P40 ~= '' then table.insert(field, P40) end
if P1971 and P1971 ~= '' then table.insert(field, P1971) end
if P22 and P22 ~= '' then table.insert(field, P22) end
if P25 and P25 ~= '' then table.insert(field, P25) end
if P7 and P7 ~= '' then table.insert(field, P7) end
if P9 and P9 ~= '' then table.insert(field, P9) end
if P53 and P53 ~= '' then table.insert(field, P53) end
if P69 then table.insert(field, sub2) end
if P69 and P69 ~= '' then table.insert(field, P69) end
if P166 and P166 ~= '' then table.insert(field, P166 ) end
if P109 and P109 ~= '' then table.insert(field, sub3) end
if P109 and P109 ~= '' then table.insert(field, P109 ) end
if P856 or P345 then table.insert(field, sub4) end
if P856 and P856 ~= '' then table.insert(field, P856 ) end
if P345 and P345 ~= '' then table.insert(field, P345 ) end
table.insert(field, sing)
table.insert(field, closse)
return table.concat(field) -- ' — '
end
return p