<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://wikitest.nl/index.php?action=history&amp;feed=atom&amp;title=Module%3AIn_lang</id>
	<title>Module:In lang - Bewerkingsoverzicht</title>
	<link rel="self" type="application/atom+xml" href="https://wikitest.nl/index.php?action=history&amp;feed=atom&amp;title=Module%3AIn_lang"/>
	<link rel="alternate" type="text/html" href="https://wikitest.nl/index.php?title=Module:In_lang&amp;action=history"/>
	<updated>2026-04-05T16:53:56Z</updated>
	<subtitle>Bewerkingsoverzicht voor deze pagina op de wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wikitest.nl/index.php?title=Module:In_lang&amp;diff=118818&amp;oldid=prev</id>
		<title>Colani: 1 versie geïmporteerd</title>
		<link rel="alternate" type="text/html" href="https://wikitest.nl/index.php?title=Module:In_lang&amp;diff=118818&amp;oldid=prev"/>
		<updated>2024-07-09T22:16:44Z</updated>

		<summary type="html">&lt;p&gt;1 versie geïmporteerd&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nieuwe pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; _ I N _ L A N G &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{in lang}}&lt;br /&gt;
&lt;br /&gt;
Module entry point from another module&lt;br /&gt;
&lt;br /&gt;
|link=yes - creates wikilinked language names&lt;br /&gt;
|template=&amp;lt;template name&amp;gt; - customizes error messages created by Module:lang&lt;br /&gt;
|list-cats=yes - documentation tool returns language-category names of cats populated by this template&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;languageicon&amp;quot;&amp;gt;(in &amp;lt;language&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _in_lang (args)&lt;br /&gt;
    local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
	local synonym_table = mw.loadData (&amp;#039;Module:Lang/ISO 639 synonyms&amp;#039;);			-- ISO 639-2/639-2T code translation to 639-1 code&lt;br /&gt;
	local list_cats = &amp;#039;yes&amp;#039; == args[&amp;#039;list-cats&amp;#039;];								-- make a boolean&lt;br /&gt;
	local list = {};&lt;br /&gt;
	local cats = {};&lt;br /&gt;
	local maint_msgs = {};&lt;br /&gt;
	&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		local template = (args[&amp;#039;template&amp;#039;] and table.concat ({&amp;#039;{{&amp;#039;, args[&amp;#039;template&amp;#039;], &amp;#039;}}: &amp;#039;})) or &amp;#039;&amp;#039;;	-- make template name (if provided by the template)&lt;br /&gt;
		return table.concat ({&amp;#039;&amp;lt;span style=\&amp;quot;color:#d33\&amp;quot;&amp;gt;error: &amp;#039;, template, &amp;#039;missing language tag&amp;lt;/span&amp;gt;&amp;#039;});&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local module = &amp;#039;Module:Lang&amp;#039; .. (mw.getCurrentFrame():getTitle():match (&amp;#039;/sandbox&amp;#039;) or &amp;#039;&amp;#039;);	-- if this module is the sandbox,&lt;br /&gt;
&lt;br /&gt;
	local name_from_tag = require (module)._name_from_tag;						-- use Module:Lang/sandbox; Module:Lang else&lt;br /&gt;
&lt;br /&gt;
	local namespace = mw.title.getCurrentTitle().namespace;						-- used for categorization&lt;br /&gt;
	local this_wiki_lang = mw.language.getContentLanguage().code;				-- get this wiki&amp;#039;s language code&lt;br /&gt;
	local override_t = mw.loadData (&amp;#039;Module:Lang/data&amp;#039;).override;				-- this table holds IETF tag/name definitions known to Module:Lang&lt;br /&gt;
&lt;br /&gt;
	for i, lang in ipairs (args) do&lt;br /&gt;
		local code = args[i]:lower();&lt;br /&gt;
		local t = {code, [&amp;#039;link&amp;#039;] = args[&amp;#039;link&amp;#039;], [&amp;#039;template&amp;#039;] = args[&amp;#039;template&amp;#039;]};	-- build an &amp;#039;args&amp;#039; table&lt;br /&gt;
		lang = name_from_tag (t)												-- get the language name&lt;br /&gt;
&lt;br /&gt;
		table.insert (list, lang)												-- add this language or error message to the list&lt;br /&gt;
&lt;br /&gt;
		if code:find (&amp;#039;%-&amp;#039;) and not override_t[code] then						-- except for the IETF tags listed in &amp;lt;override_t&amp;gt;&lt;br /&gt;
			code = code:match (&amp;#039;^%a%a%a?%f[^%a]&amp;#039;);								-- strip off region, script, and variant subtags so that they aren&amp;#039;t used to make category names&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if synonym_table[code] then												-- if 639-2/639-2T code has a 639-1 synonym&lt;br /&gt;
			if (0 == namespace) and not list_cats then							-- when listing cats don&amp;#039;t include this cat; TODO: right choice?&lt;br /&gt;
				table.insert (cats, table.concat ({&amp;#039;[[Category:Lang and lang-xx code promoted to ISO 639-1|&amp;#039;, code ..&amp;#039;]]&amp;#039;}));&lt;br /&gt;
			end&lt;br /&gt;
			table.insert (maint_msgs, &amp;#039; &amp;lt;span class=&amp;quot;lang-comment&amp;quot; style=&amp;quot;font-style:normal; display:none; color:#33aa33; margin-left:0.3em&amp;quot;&amp;gt;&amp;#039;)&lt;br /&gt;
			table.insert (maint_msgs, table.concat ({&amp;#039;code: &amp;#039;, code, &amp;#039; promoted to code: &amp;#039;, synonym_table[code]}));&lt;br /&gt;
			table.insert (maint_msgs, &amp;#039;&amp;lt;/span&amp;gt;;&amp;#039;);&lt;br /&gt;
			code = synonym_table[code];											-- use the synonym&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if (0 == namespace) or list_cats then									-- when in article space&lt;br /&gt;
			if lang:find (&amp;#039;[Ee]rror&amp;#039;) then										-- add error category (message provided by Module:Lang)&lt;br /&gt;
				if not list_cats then											-- don&amp;#039;t include this cat when listing cats; TODO: right choice?&lt;br /&gt;
					table.insert (cats, &amp;#039;[[Category:in lang template errors]]&amp;#039;);&lt;br /&gt;
				end&lt;br /&gt;
			elseif this_wiki_lang ~= code:match (&amp;#039;^%a%a%a?&amp;#039;) then				-- categorize article only when code is not this wiki&amp;#039;s language code or variants thereof&lt;br /&gt;
				if lang:match (&amp;#039;%[%[.-|.-%]%]&amp;#039;) then							-- wikilinked individual language name&lt;br /&gt;
					lang = lang:match (&amp;#039;%[%[.-|(.-)%]%]&amp;#039;);&lt;br /&gt;
				elseif lang:match (&amp;#039;%[%[.-%]%]&amp;#039;) then							-- wikilinked collective languages name&lt;br /&gt;
					lang = lang:match (&amp;#039;%[%[(.-)%]%]&amp;#039;);&lt;br /&gt;
				end																-- neither of these then plain-text language name&lt;br /&gt;
&lt;br /&gt;
				if lang:find (&amp;#039;languages&amp;#039;) then									-- add appropriate language-name category&lt;br /&gt;
					table.insert (cats, table.concat ({&amp;#039;[[Category:Articles with sources in &amp;#039;, lang, &amp;#039; (&amp;#039;, code, &amp;#039;)]]&amp;#039;}));&lt;br /&gt;
				else&lt;br /&gt;
					table.insert (cats, table.concat ({&amp;#039;[[Category:Articles with &amp;#039;, lang, &amp;#039;-language sources (&amp;#039;, code, &amp;#039;)]]&amp;#039;}));&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if list_cats then&lt;br /&gt;
		local cats = table.concat (cats, &amp;#039;, &amp;#039;):gsub (&amp;#039;[%[%]]&amp;#039;, &amp;#039;&amp;#039;);				-- make a string of categories and then strip wikilink markup&lt;br /&gt;
		return cats&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    local capBoolean = yesno(args[&amp;#039;cap&amp;#039;]) or yesno(args[&amp;#039;caps&amp;#039;])&lt;br /&gt;
	local result = {&amp;#039;&amp;lt;span class=&amp;quot;languageicon&amp;quot;&amp;gt;(&amp;#039;};							-- opening span and (&lt;br /&gt;
	table.insert (result, capBoolean and &amp;#039;In &amp;#039; or &amp;#039;in &amp;#039;);		        		-- add capitalized or uncapitalized &amp;#039;in&amp;#039;&lt;br /&gt;
	table.insert (result, mw.text.listToText (list, &amp;#039;, &amp;#039;, (2 &amp;lt; #list) and &amp;#039;, and &amp;#039; or &amp;#039; and &amp;#039; )); -- and concatenate the language list&lt;br /&gt;
	table.insert (result, &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;);											-- add closing ) and closing span&lt;br /&gt;
	table.insert (result, table.concat (maint_msgs) or &amp;#039;&amp;#039;);			        	-- add maint messages, if any&lt;br /&gt;
	table.insert (result, table.concat (cats));									-- add categories&lt;br /&gt;
	return table.concat (result);												-- make a big string and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I N _ L A N G &amp;gt;----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{in lang}}&lt;br /&gt;
&lt;br /&gt;
Module entry point from an {{#invoke:lang/utilities/sanbox|in_lang|&amp;lt;code&amp;gt;|&amp;lt;code2&amp;gt;|&amp;lt;code3&amp;gt;|&amp;lt;code...&amp;gt;|link=yes|template=in lang|list-cats=yes}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function in_lang (frame)&lt;br /&gt;
	local args = require (&amp;#039;Module:Arguments&amp;#039;).getArgs (frame);&lt;br /&gt;
	return _in_lang (args);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D   F U N C T I O N S &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	in_lang = in_lang,															-- module entry from {{#invoke:}}&lt;br /&gt;
&lt;br /&gt;
	_in_lang = _in_lang,														-- module entry from another module&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Colani</name></author>
	</entry>
</feed>