Module:Special page interlanguage links/sandbox

Module documentation
warning Warning:This page is shared between multiple wikis.
All changes to this page will be automatically copied to all wikis listed in the left side bar.

Module Quality edit

Module:Special page interlanguage links success: 1, error: 0, skipped: 0
Module:Special page interlanguage links/sandbox success: 1, error: 0, skipped: 0

Documentation edit

This module allows displaying interlanguage links to all existing languages on special pages. It’s a custom to show such interlanguage links on Special:RecentChanges, but it can be used on any other special page as well that exists on all wikis of that project.

Functions edit

p.main(frame) edit

Main entry point from wikitext. The first unnamed parameter should contain the canonical (English) special page name, for example
{{#invoke:Special page interlanguage links|main|RecentChanges}}

p._main(specialPageName) edit

Main entry point from other modules. The first argument should contain the canonical (English) special page name, for example
local interlanguageLinks = p._main('RecentChanges')
local p = {}

function p._main(specialPageName)
	local links = {}
	for n, _ in pairs(mw.site.interwikiMap('local')) do
		if mw.language.isKnownLanguageTag(n) then
			table.insert(links, string.format('[[%s:Special:%s]]', n, specialPageName))
		end
	end
	table.sort(links)
	return table.concat(links)
end

function p.main(frame)
	return p._main(frame.args[1])
end

return p