<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FRexxS%2FSources</id>
	<title>Module:Sandbox/RexxS/Sources - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FRexxS%2FSources"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/RexxS/Sources&amp;action=history"/>
	<updated>2026-05-24T03:21:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/RexxS/Sources&amp;diff=146100&amp;oldid=prev</id>
		<title>imported&gt;RexxS: if no local language, show other languages</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/RexxS/Sources&amp;diff=146100&amp;oldid=prev"/>
		<updated>2021-01-05T03:20:13Z</updated>

		<summary type="html">&lt;p&gt;if no local language, show other languages&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[&lt;br /&gt;
Module to test a template for reliable sources&lt;br /&gt;
See:&lt;br /&gt;
https://en.wikipedia.org/wiki/User_talk:Adam_Harangoz%C3%B3/template&lt;br /&gt;
https://en.wikipedia.org/wiki/User:Adam_Harangoz%C3%B3/template_specs&lt;br /&gt;
https://en.wikipedia.org/wiki/User:Adam_Harangoz%C3%B3/template_properties&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- This piece of html implements a collapsible container. Check the classes exist on your wiki.&lt;br /&gt;
local collapsediv = &amp;#039;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed mw-content-{{#switch:{{CONTENTLANG}}|ar|arc|arz|azb|bcc|ckb|bqi|dv|fa|fa-af|glk|ha|he|kk-arab|kk-cn|ks|ku-arab|mzn|nqo|pnb|prd|ps|sd|ug|ur|ydd|yi=rtl|ltr}} plainlinks plainlinksneverexpand noarchive&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot; data-expandtext=&amp;quot;{{int:Collapsible-expand}}&amp;quot; data-collapsetext=&amp;quot;{{int:Collapsible-collapse}}&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
-- All results appear as internal links (to avoid archive links)&lt;br /&gt;
local illook = &amp;#039;&amp;lt;div class=&amp;quot;mw-content-{{#switch:{{CONTENTLANG}}|ar|arc|arz|azb|bcc|ckb|bqi|dv|fa|fa-af|glk|ha|he|kk-arab|kk-cn|ks|ku-arab|mzn|nqo|pnb|prd|ps|sd|ug|ur|ydd|yi=rtl|ltr}} plainlinks plainlinksneverexpand noarchive&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local sources = mw.loadData(&amp;quot;Module:Sandbox/RexxS/Sources/data&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local function findLang(langcode)&lt;br /&gt;
	local langobj&lt;br /&gt;
	langcode = mw.text.trim(langcode or &amp;quot;&amp;quot;)&lt;br /&gt;
	if mw.language.isKnownLanguageTag(langcode) then&lt;br /&gt;
		langobj = mw.language.new( langcode )&lt;br /&gt;
	else&lt;br /&gt;
		langcode = mw.getCurrentFrame():preprocess( &amp;#039;{{int:lang}}&amp;#039; )&lt;br /&gt;
		if mw.language.isKnownLanguageTag(langcode) then&lt;br /&gt;
			langobj = mw.language.new( langcode )&lt;br /&gt;
		else&lt;br /&gt;
			langobj = mw.language.getContentLanguage()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return langobj&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.testlist(frame)&lt;br /&gt;
	local out = &amp;quot;&amp;quot; -- output text&lt;br /&gt;
	for langcode, langdata in pairs(sources) do&lt;br /&gt;
		-- just the language codes&lt;br /&gt;
		out = out..&amp;quot;\n=== &amp;quot;..langcode..&amp;quot; ===&amp;quot;&lt;br /&gt;
		for idx, src in ipairs(langdata) do&lt;br /&gt;
			out = out..&amp;quot;\n&amp;quot;..src[1]..&amp;quot;; WD=&amp;quot;..src[2]..&amp;quot;; loc=&amp;quot;..src[3]..&amp;quot;&amp;lt;br&amp;gt;\n&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		out = out..&amp;quot;&amp;lt;br&amp;gt;\n&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Parameters:&lt;br /&gt;
qid&lt;br /&gt;
lang&lt;br /&gt;
--]]&lt;br /&gt;
function p.demo(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
&lt;br /&gt;
	local qid = args.qid or &amp;quot;&amp;quot;&lt;br /&gt;
	if qid == &amp;quot;&amp;quot; then qid = mw.wikibase.getEntityIdForCurrentPage() end&lt;br /&gt;
&lt;br /&gt;
	local langcode = findLang(args.lang).code&lt;br /&gt;
&lt;br /&gt;
	local out1 = {}&lt;br /&gt;
	for idx1, src in ipairs(sources[langcode]) do&lt;br /&gt;
		local statements = mw.wikibase.getBestStatements(qid, src[2])&lt;br /&gt;
		for idx2, valtbl in ipairs(statements) do&lt;br /&gt;
			if valtbl.mainsnak.datatype == &amp;quot;external-id&amp;quot; and valtbl.mainsnak.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
				local idurl = valtbl.mainsnak.datavalue.value:gsub(&amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot;)&lt;br /&gt;
				out1[#out1 + 1] = &amp;quot;[&amp;quot; .. src[3]:gsub(&amp;quot;$1&amp;quot;, idurl) .. &amp;quot; &amp;quot; .. src[1] .. &amp;quot;]&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local locallang = &amp;quot;&amp;quot;&lt;br /&gt;
	if #out1 &amp;gt; 0 then&lt;br /&gt;
		locallang = illook .. frame:expandTemplate{title = &amp;quot;hlist&amp;quot;, args = out1} .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local out2 = {}&lt;br /&gt;
	for srclangcode, langdata in pairs(sources) do&lt;br /&gt;
		if srclangcode ~= langcode then&lt;br /&gt;
			for idx1, src in ipairs(langdata) do&lt;br /&gt;
				local statements = mw.wikibase.getBestStatements(qid, src[2])&lt;br /&gt;
				for idx2, valtbl in ipairs(statements) do&lt;br /&gt;
					if valtbl.mainsnak.datatype == &amp;quot;external-id&amp;quot; and valtbl.mainsnak.snaktype == &amp;quot;value&amp;quot; then&lt;br /&gt;
						local idurl = valtbl.mainsnak.datavalue.value:gsub(&amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot;)&lt;br /&gt;
						out2[#out2 + 1] = &amp;quot;[&amp;quot; .. src[3]:gsub(&amp;quot;$1&amp;quot;, idurl) .. &amp;quot; &amp;quot; .. src[1] .. &amp;quot;]&amp;quot;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local otherlang = &amp;quot;&amp;quot;&lt;br /&gt;
	if #out2 &amp;gt; 0 then&lt;br /&gt;
		if #out1 &amp;gt; 0 then&lt;br /&gt;
			otherlang = collapsediv .. frame:expandTemplate{title = &amp;quot;hlist&amp;quot;, args = out2} .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			otherlang = illook .. frame:expandTemplate{title = &amp;quot;hlist&amp;quot;, args = out2} .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return locallang .. otherlang&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;RexxS</name></author>
	</entry>
</feed>