وحدة:Wikidata/تتبع
< وحدة:Wikidata
اذهب إلى التنقل
اذهب إلى البحث
مراجعة 10:24، 28 مارس 2021 بواسطة Abdul Aziz Alwafaay (نقاش | مساهمات) (أنشأ الصفحة ب'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(propert...')
هذه الوحدة أنشئت لتعرض التصنيف المناسب عند استخدام قيم خواص ويكي بيانات، وكذلك تعرض أيقونة التعديل في ويكي بيانات.
تستخدم هذه الوحدة بواسطة وحدة: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