وحدة:Sitelink

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
p= {}

function p.getSiteLink1(frame)
	local project = frame.args[1] 
	local id = frame.args[2] or ""
	if id == "" then return "" end
	local entity = mw.wikibase.getEntityObject(id)
	if not entity or entity  =='' then return nil end
	local link = entity:getSitelink(project)
	var = link
	
	return var
	
end

--[[
هذه الوظيفة 2 تقبل متغيرين هما اللغة و رمز ويكي بيانات الخاص بالموضوع،
 و تضع علامة ناقص - في حالة عدم وجود مقال عن ذلك الموضوع بتلك اللغة،
 و علامة + مع وصلة للمقال في حالة وجوده. الهدف هو استعمال الوظيفة في
 الخانات المخصصة للغات في الجداول المخصصة للمسابقات. مثلا خانة العربية قبل كتابة المقال
 ستكون فيها علامة ناقص -، بينما المقال المقابل بالإنجليزية ستكون في خانته علامة +
 إن كان موجودا مع وصلة تمكن المشارك في المسابقة من الضغط عليها
 و من ثم ترجمة المقال للعربية.
 مثال لجدول يستعمل هذه الوظيفة: 
 مستخدم:Ideophagous/ويكيميديا المغرب/مسابقة/جدول3

]]

function p.getSitelink2(frame)
    local qid = frame.args[1]
    local lang = frame.args[2]
    if not qid or not lang then
        return "Error: QID or language code not provided."
    end
    local entity = mw.wikibase.getEntity(qid)
    if not entity then
        return "Error: Invalid QID provided."
    end
    if not entity.sitelinks then
		return "-"
	end
    local sitelink = entity.sitelinks[lang .. 'wiki']
    if not sitelink then
        return "-"
    end
    return "[[:" .. lang .. ":" .. sitelink.title .. "|+]]"
end
return p