وحدة:Wikidata/تتبع
اذهب إلى التنقل
اذهب إلى البحث
هذه الوحدة أنشئت لتعرض التصنيف المناسب عند استخدام قيم خواص ويكي بيانات، وكذلك تعرض أيقونة التعديل في ويكي بيانات.
تستخدم هذه الوحدة بواسطة وحدة:wikidata2 و{{قيمة ويكي بيانات/إيقونة وتصنيف}}.
local p = {} function trim(s) --Removes leading zeroes from value if s:sub(1,1)=="P" then return s:sub(2) else return s end end local function category(propertyid,q,nocate) main = '[[تصنيف:صفحات بها بيانات ويكي بيانات|'.. trim(propertyid) ..']]' if nocate and nocate ~= '' then -- to hide the category return '' elseif q and q ~= '' then return q..''..main end d = mw.text.trim(propertyid) s = list(d) if s then return '[[تصنيف:'.. s ..']]'..main -- linktext(s) end end local function icons(u,id,noicon,icon2) if noicon and noicon ~= '' then -- to hide the icon return '' end local label = ""--mw.wikibase.label(u) --{{#invoke:Wikibase|label| u }} --if label ==nil or not label then label ='' else end local temp = label .. ' ('.. u ..')' local ico = 'Twemoji_270f.svg|13px' if icon2 and icon2 ~='' then ico = 'Wikidata-logo.svg|20px' size = '20px' end local so = 'تعديل قيمة خاصية ' .. temp ..' في ويكي بيانات' local im =' [[File:'.. ico .. '|baseline|link=d:'.. (id or '') .. '#'.. u ..'|'.. so .. ']]' local noprint= '<span class="noprint">'.. im ..'</span>' local sup= '<sup>'.. noprint ..'</sup>' if u then return noprint end end local function xt(e) return 'صفحات تستخدم خاصية '.. e end local function wd(e) return e .. ' من ويكي بيانات' end function list(s) local I = trim(s) return xt(s) end function p.pageId(frame) return mw.wikibase.getEntityIdForCurrentPage() end function p.makecategory1(options) --Main function page_title_object = mw.title.getCurrentTitle() ns = page_title_object.namespace title = page_title_object.text -- ############################ prop = options['property'] prop2 = options['justthisqual'] noicon = options['noicon'] -- options to hide the icon. nocate = options['nocate'] -- options to hide the category. q = options['category'] iid = options['entityId'] or options['id'] icon2 = options['icon2'] -- ############################ if iid == '' or not iid then id = p.pageId() else id = iid end -- ############################ if prop == '' or not prop then return nil -- don't do anything if no options property. end -- ############################ propertyid = mw.ustring.gsub(prop:upper(), " ", "") icon = icons(propertyid,id,noicon,icon2) -- function to display the icon. cate = category(propertyid,q,nocate) -- function to display the category. -- ############################ if prop2 and prop2 ~= "" then cate = cate .. category( mw.ustring.gsub(prop2:upper(), " ", "") , q , nocate) end -- ############################ last = cate ..''.. icon --mw.log("Module:Wikidata/تتبع:" .. title) if title == "ويكي بيانات/ملعب ويكي بيانات" then last = icon end if ns == 2 then -- to hide category in user pages last = icon end return last end function p.makecategory(frame) --Main function local final = p.makecategory1(frame.args) return final end function p.make1(prop,id) --Main function if id == '' or not id then id = p.pageId() else id = iid end if prop == '' or not prop then return nil -- don't do anything if no args property. end propertyid = mw.ustring.gsub(prop:upper(), " ", "") icon = icons(propertyid,id,noicon) -- function to display the icon. cate = category(propertyid,q,nocate) -- function to display the category. last = cate ..''.. icon return last end function p.SS(frame) --testing function s = mw.ustring.gsub(frame.args['property']:upper(), " ", "") s = list(s) s = mw.text.trim(s) if s == '' or not s then return nil end q = frame.args['category'] if q == '' or not q then return category(s) else return q end end return p