יחידה:Wikibase

מתוך ויקיפדיה, האנציקלופדיה החופשית

ניתן ליצור תיעוד על היחידה הזאת בדף יחידה:Wikibase/תיעוד

---------- Module:Wikibase ----------------
local p = {}

-- Return the item ID of the item linked to the current page.
function p.id(frame)
	if not mw.wikibase then
		return "no mw.wikibase"
	end

	entity = mw.wikibase.getEntityObject()

	if entity == nil then
		return "no entity"
	end

	return entity.id
end
	
-- Return the label of a given data item, or of connected page
-- if no argument is provided to this method.
function p.label(frame)
	local label, lang = mw.wikibase.label( frame.args[1] )
	return label
end

-- Return the description of a given data item, or of connected page
-- if no argument is provided to this method.
-- The description is in localized language, i.e.:
-- in the Wiki's content language (on monolingual wikis) or the user's language (on multilingual wikis)
function p.description_localized(frame)
	if (frame.args[1] == nil ) or ( frame.args[1]=='') then
		entity = mw.wikibase.getEntity()
	else
		entity = mw.wikibase.getEntity(frame.args[1])
	end
	if not entity then return nil end
	
	local description, lang = entity:getDescriptionWithLang()
	if description == nil then
		return nil
	end
	lang = entity.descriptions[lang]
	lang = lang['language'] -- fix https://phabricator.wikimedia.org/T152241
	if ( lang == 'he') then
		return description
	else
		return nil
	end
end

-- Return the description of a given data item, or of connected page
-- if no argument is provided to this method.
function p.description(frame)
	if (frame.args[1] == nil ) or ( frame.args[1]=='') then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end

		id = entity.id
	else
		id = frame.args[1]
	end

	local description, lang = mw.wikibase.description( id )
	return description
end


-- Return the local page about a given data item, or of connected page
-- if id is not specified.
function p.page(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return "xxx" end

		id = entity.id
	else
		id = frame.args[1]
	end

	return mw.wikibase.sitelink( id )
end

function p.resolvePropertyId(frame)
	return mw.wikibase.resolvePropertyId( frame.args[1] )
end

return p