Ca și {{Ill}}, acest format completează o legătură roșie cu un marcaj suplimentar ce trimite utilizatorul într-un loc unde poate primi informații temporar până la completarea legăturii roșii la Wikipedia în română. Dacă {{Ill}} trimite neapărat către alt Wiki, acest modul trimite la un item de Wikidata corespunzător, de unde cititorul poate extrage unele informații elementare sau unde poate găsi articole de Wiki în alte ediții ale Wikipediei sau pe alte proiecte ale Fundației Wikimedia. Are trei funcții pentru apeluri în diverse moduri, toate însă oferă aceeași funcționalitate.

Primește trei parametri:

  • id-ul itemului de Wikidata către care se face linkul (obligatoriu); dacă lipsește, se folosește itemul curent, dar conceptul își pierde sensul deoarece nu servește la nimic un link către aceeași pagină;
  • numele articolului la Wikipedia în română (opțional); se folosește pentru a trimite cititorul la alt titlu decât cel afișat; implicit, se folosește labelul itemului de la Wikidata corespunzător limbii române;
  • eticheta linkului, dacă ea diferă de labelul în română al itemului de la Wikidata.

Se apelează într-unul din trei moduri:

  • prin invocare directă a funcției fromFrame, fie prin {{#invoke:Ill-wd|fromFrame|...}}, fie prin intermediul formatului {{Ill-wd}}, căruia i se dau cei trei parametri;
  • prin apel din alt modul cu argumentele puse într-un table în ordine;
  • prin apel din alt modul cu argumentele pasate direct, în ordine.

local getArgs = require('Modul:Arguments').getArgs
local wikidata = require('Modul:Wikidata')
local StringUtils = require('Modul:StringUtils')
local p = {}

p.fromArgs = function(wdId, wdLabel, wdArticleName, capitalize)
	local out = ''
	if mw.wikibase.sitelink(wdId) then
		if wdLabel then
			out = wikidata.findLinkToItemWithLabel(wdId, wdLabel)
		else
			local label = mw.wikibase.label(StringUtils._prependIfMissing({tostring(wdId), 'Q'}))
			if label and capitalize then label = StringUtils._capitalize({ label }) end
			out = label and wikidata.findLinkToItemWithLabel(wdId, label) or wikidata.findLinkToItem(wdId, capitalize, false, false)
		end
	else
		wdLabel = wdLabel or mw.wikibase.label(wdId) or wdArticleName or wikidata.findLabel(wdId)
		if wdLabel and capitalize then wdLabel = StringUtils._capitalize({ wdLabel }) end
		
		if not wdArticleName then
			local wdLangLabel, wdLangName = mw.wikibase.getLabelWithLang(wdId)
			if wdLangName == 'ro' then wdArticleName = wdLangLabel end
		end
		
		wdArticleName = wdArticleName or wdLabel

		if not wdArticleName then 
			mw.logObject(wdId, 'Missing label for item')
			return wikidata.findLinkToItem(wdId, capitalize, false, false)
		end
		out = out .. '[[:' .. wdArticleName
		if wdArticleName ~= wdLabel then 
			out = out .. '|' .. (wdLabel or wdArticleName)
		end
		out = out .. ']]'
	
		local wikidataLinkSpan = mw.html.create('span'):attr('title', wdArticleName .. ' la Wikidata'):wikitext('d')
		local supTag = mw.html.create('sup'):tag('small'):wikitext(mw.ustring.char(0x2060), '([[:d:', wdId, '|', tostring(wikidataLinkSpan), ']])'):allDone()
		out = out .. tostring(supTag)
	end
	return out
end

p.fromArray = function(array)
	local wdId = StringUtils.prependIfMissing({array[1] or wikidata.getEntityId(), 'Q'})
	local inLabel = array[3]
	local labelLang = 'ro'
	if not inLabel then
		wdLabel, labelLang = mw.wikibase.getLabelWithLang(wdId)
	end
	local wdArticleName = array[2] or wdLabel
	
	if not wdLabel or labelLang ~= 'ro' then
		wdLabel = wdArticleName or wdLabel or wikidata.findLabel(wdId, 'ro')
	end
	
	local capitalize = array['capitalize']

	return p.fromArgs(wdId, inLabel or wdLabel, wdArticleName, capitalize ~= nil)
end
p.fromFrame = function(frame)
	local args = getArgs(frame)
	return p.fromArray(args)
end

return p