Butun axtardiqlarinizi tapmaq ucun buraya: DAXIL OLUN
  Mp4 Mp3 Axtar Yukle
  Video Axtar Yukle
  Shekil Axtar Yukle
  Informasiya Melumat Axtar
  Hazir Inshalar Toplusu
  AZERI CHAT + Tanishliq
  1-11 Sinif Derslikler Yukle
  Saglamliq Tibbi Melumat
  Whatsapp Plus Yukle(Yeni)

  • Ana səhifə
  • Təsadüfi
  • Yaxınlıqdakılar
  • Daxil ol
  • Nizamlamalar
İndi ianə et Əgər Vikipediya sizin üçün faydalıdırsa, bu gün ianə edin.

Modul:Wikidata/Interproject

  • Modul
  • Müzakirə
< Modul:Wikidata

Bu modulun sənədləşdirmə səhifəsi Modul:Wikidata/Interproject/doc səhifəsində yaradıla bilər

local p = {}

function p.getWikibooksLink( context )
	return p.getSisterProjectLink( 'b', 'wikibooks', context.args.from )
end

function p.getWikiquoteLink( context )
	return p.getSisterProjectLink( 'q', 'wikiquote', context.args.from )
end

function p.getWikisourceLink( context )
	return p.getSisterProjectLink( 's', 'wikisource', context.args.from )
end

function p.getWikipediaLink( context )
	return p.getSisterProjectLink( 'w', 'wiki', context.args.from )
end

function p.getWiktionaryLink( context )
	return p.getSisterProjectLink( 'wikt', 'wiktionary', context.args.from )
end

function p.getSisterProjectLink( projectInterwikiPrefix, projectName, entityId )
	entityId = entityId or mw.wikibase.getEntityIdForCurrentPage()
	-- По умолчанию старается достать ссылку на русском, иначе - на родном (P103)
	local wbStatus, sitelink = pcall( mw.wikibase.getSitelink, entityId, 'az' .. projectName )
	if wbStatus and sitelink then
		return projectInterwikiPrefix .. ':' .. sitelink
	end

	local wbStatus, langClaims = pcall( mw.wikibase.getBestStatements, entityId, 'P103' )
	if wbStatus ~= true or not langClaims then
		return ''
	end
	
	local codes = mw.loadData( 'Module:Wikidata:Dictionary/P424' )
	for _, claim in ipairs( langClaims ) do
		if claim.mainsnak and
			claim.mainsnak.datavalue and
			claim.mainsnak.datavalue.value and
			claim.mainsnak.datavalue.value.id
		then
			local codesById = codes[ claim.mainsnak.datavalue.value.id ]
			if codesById then
				for _, code in ipairs( codesById ) do
					wbStatus, sitelink = pcall( mw.wikibase.getSitelink, entityId, code .. projectName )
					if wbStatus and sitelink then
						return projectInterwikiPrefix .. ':' .. code .. ':' .. sitelink
					end
				end
			end
		end
	end

	return ''
end

return p
Mənbə — "https://az.wikipedia.org/w/index.php?title=Modul:Wikidata/Interproject&oldid=7015644"
Informasiya Melumat Axtar