<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://www.vigyanwiki.in/index.php?action=history&amp;feed=atom&amp;title=Module%3AEngvar</id>
	<title>Module:Engvar - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.vigyanwiki.in/index.php?action=history&amp;feed=atom&amp;title=Module%3AEngvar"/>
	<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;action=history"/>
	<updated>2026-04-26T18:44:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=34363&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=34363&amp;oldid=prev"/>
		<updated>2022-12-08T04:51:30Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:21, 8 December 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=17936&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=17936&amp;oldid=prev"/>
		<updated>2022-10-11T16:52:58Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:22, 11 October 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=34362&amp;oldid=prev</id>
		<title>alpha&gt;Sarika: Created page with &quot;-- This module implements Template:Engvar. -- Template:Engvar is to be build into the template (like an infobox), with default &amp; variant spellings defined. -- That template sh...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=34362&amp;oldid=prev"/>
		<updated>2022-05-20T14:38:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;-- This module implements Template:Engvar. -- Template:Engvar is to be build into the template (like an infobox), with default &amp;amp; variant spellings defined. -- That template sh...&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:08, 20 May 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>alpha&gt;Sarika</name></author>
	</entry>
	<entry>
		<id>https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=17935&amp;oldid=prev</id>
		<title>wikipedia&gt;JJMC89: Changed protection level for &quot;Module:Engvar&quot;: Highly visible module: match template ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://www.vigyanwiki.in/index.php?title=Module:Engvar&amp;diff=17935&amp;oldid=prev"/>
		<updated>2019-02-25T04:25:52Z</updated>

		<summary type="html">&lt;p&gt;Changed protection level for &amp;quot;&lt;a href=&quot;/wiki/Module:Engvar&quot; title=&quot;Module:Engvar&quot;&gt;Module:Engvar&lt;/a&gt;&amp;quot;: &lt;a href=&quot;/index.php?title=WP:High-risk_templates&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:High-risk templates (page does not exist)&quot;&gt;Highly visible module&lt;/a&gt;: match template ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements Template:Engvar.&lt;br /&gt;
-- Template:Engvar is to be build into the template (like an infobox), with default &amp;amp; variant spellings defined.&lt;br /&gt;
-- That template should also allow parameter '|engvar=' for the editor (article page).&lt;br /&gt;
-- The module/template Engvar then returns the spelling variant as is set in that article (for example '|engvar=en-GB').&lt;br /&gt;
-- The defaultWord is returned, unless the engvar input hits on a defined (en-XX) variant word.&lt;br /&gt;
local p = {}&lt;br /&gt;
local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
local gsub = string.gsub&lt;br /&gt;
local lower = string.lower&lt;br /&gt;
local upper = string.upper&lt;br /&gt;
&lt;br /&gt;
function p.variants(frame)&lt;br /&gt;
local args = getArgs(frame)&lt;br /&gt;
	return p._variants(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._variants(args)&lt;br /&gt;
local returnWord = nil&lt;br /&gt;
&lt;br /&gt;
	local defaultWord = args.defaultWord or ''&lt;br /&gt;
	if args.engvar == nil then&lt;br /&gt;
		-- Nothing to look for; use defaultWord right away&lt;br /&gt;
		returnWord = defaultWord&lt;br /&gt;
	elseif args.defaultLang == gsub(lower(args.engvar), '^en%-(%w%w)$', formatISO) then&lt;br /&gt;
		-- By the defaultLang, the defaultWord is asked&lt;br /&gt;
		returnWord = defaultWord&lt;br /&gt;
	else&lt;br /&gt;
		returnWord = args[gsub(lower(args.engvar), '^en%-(%w%w)$', formatISO)]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if returnWord == nil then&lt;br /&gt;
		-- No hit so far. Search by words in the engvar entered, checking the list&lt;br /&gt;
		local useLang = engvarLang(args.engvar)&lt;br /&gt;
		if useLang == nil then&lt;br /&gt;
			returnWord = defaultWord .. addMaintCat(args)&lt;br /&gt;
		else&lt;br /&gt;
			returnWord = args[useLang] or defaultWord&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return returnWord&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Returns arguments and intermediate result. Plus the template result, in front.&lt;br /&gt;
function p.explain(frame)&lt;br /&gt;
local args = getArgs(frame)&lt;br /&gt;
local ret = {}&lt;br /&gt;
	table.insert(ret, '\n\n: Settings:')&lt;br /&gt;
	table.insert(ret, 'defaultWord=' .. (args.defaultWord or '') .. '; ')&lt;br /&gt;
	table.insert(ret, 'defaultLang=' .. (args.defaultLang or '') .. '; ')&lt;br /&gt;
	table.insert(ret, 'engvarCat=' .. (args.engvarCat or '[default:yes]') .. '; ')&lt;br /&gt;
	table.insert(ret, 'engvarCatSort=' .. (args.engvarCatSort or ''))&lt;br /&gt;
	table.insert(ret, '\n\n: engvar=' .. (args.engvar or '') .. ' [input] ')&lt;br /&gt;
	local useLang = engvarLang(args.engvar or '')&lt;br /&gt;
	table.insert(ret, ' =&amp;gt; Engvar code [used]: &amp;gt;' .. (useLang or '') .. '&amp;lt;.')&lt;br /&gt;
	&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if k == 'en-UK' then&lt;br /&gt;
			table.insert(ret, k .. ' ? better: use &amp;quot;en-GB&amp;quot;; ')&lt;br /&gt;
		elseif k == 'en-SA' then&lt;br /&gt;
			table.insert(ret, k .. ' ? misleading; use &amp;quot;en-ZA&amp;quot;; ')&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if k == 'defaultWord' then&lt;br /&gt;
		elseif k == 'defaultLang' then&lt;br /&gt;
		elseif k == 'engvar' then&lt;br /&gt;
		elseif k == 'engvarcat' then&lt;br /&gt;
		elseif k == gsub(lower(k), '^en%-(%w%w)$', formatISO) then&lt;br /&gt;
			table.insert(ret, k .. '=' .. v .. '; ')&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(ret, k .. ' [not standard:]=' .. v .. '; ')&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	end&lt;br /&gt;
	return (args.engvar or '') .. ' =&amp;gt; ' .. p._variants(args) .. table.concat(ret, ' ')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Turn a match into pattern 'en-XX'&lt;br /&gt;
function formatISO(country)&lt;br /&gt;
	return ('en-' .. upper(country) or '')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function engvarLang(searchEngvar)&lt;br /&gt;
-- Search verbose language identifiers to ISO-format 'en-XX'&lt;br /&gt;
-- Assumed: not a blank string '' to search&lt;br /&gt;
local match = string.match&lt;br /&gt;
&lt;br /&gt;
	searchEngvar = gsub(searchEngvar, '^%s*en%-(.*)', '%1') -- rm any opening 'en-'.&lt;br /&gt;
	searchEngvar = gsub(lower(searchEngvar), '[%s%(%)%-]', '') -- To lc, remove all: (, ) , ws, hyphen.&lt;br /&gt;
	local useLang&lt;br /&gt;
	--Special codes&lt;br /&gt;
	if match(searchEngvar, 'oxford')&lt;br /&gt;
		or searchEngvar == 'oed' then&lt;br /&gt;
			useLang = 'en-OED' -- 'oxford' to catch before anyting 'british'&lt;br /&gt;
	elseif match(searchEngvar, 'iupac') then&lt;br /&gt;
			useLang = 'en-IUPAC' -- chemistry&lt;br /&gt;
	-- Very often used&lt;br /&gt;
	elseif match(searchEngvar, 'british')&lt;br /&gt;
		or searchEngvar == 'uk'&lt;br /&gt;
		or searchEngvar == 'gbr' then&lt;br /&gt;
			useLang = 'en-GB'&lt;br /&gt;
	elseif searchEngvar == 'us'&lt;br /&gt;
		or match(searchEngvar, 'unitedstates')&lt;br /&gt;
		or searchEngvar == 'american'&lt;br /&gt;
		or searchEngvar == 'usa' then&lt;br /&gt;
			useLang = 'en-US'&lt;br /&gt;
	elseif match(searchEngvar, 'australia')&lt;br /&gt;
		or searchEngvar == 'aus' then&lt;br /&gt;
			useLang = 'en-AU'&lt;br /&gt;
	-- Often used&lt;br /&gt;
	elseif match(searchEngvar, 'india')&lt;br /&gt;
		or searchEngvar == 'ind' then&lt;br /&gt;
			useLang = 'en-IN'&lt;br /&gt;
	elseif searchEngvar == 'newzealand'&lt;br /&gt;
		or searchEngvar == 'nzl' then&lt;br /&gt;
			useLang = 'en-NZ'&lt;br /&gt;
	elseif match(searchEngvar, 'southafrica') -- not: en-SA&lt;br /&gt;
		or searchEngvar == 'zaf' then&lt;br /&gt;
			useLang = 'en-ZA'&lt;br /&gt;
	elseif searchEngvar == 'canada'&lt;br /&gt;
		or searchEngvar == 'can' then&lt;br /&gt;
			useLang = 'en-CA'&lt;br /&gt;
	elseif match(searchEngvar, 'hiberno')&lt;br /&gt;
		or match(searchEngvar, 'ireland')&lt;br /&gt;
		or match(searchEngvar, 'irish')&lt;br /&gt;
		or searchEngvar == 'irl' then&lt;br /&gt;
			useLang = 'en-EI'&lt;br /&gt;
	elseif match(searchEngvar, 'hongkong')&lt;br /&gt;
		or searchEngvar == 'hkg' then&lt;br /&gt;
			useLang = 'en-HK'&lt;br /&gt;
	-- Less often used&lt;br /&gt;
	elseif match(searchEngvar, 'jamaica')&lt;br /&gt;
		or searchEngvar == 'jam' then&lt;br /&gt;
			useLang = 'en-JM'&lt;br /&gt;
	elseif match(searchEngvar, 'malawi')&lt;br /&gt;
		or searchEngvar == 'mwi' then&lt;br /&gt;
			useLang = 'en-MW'&lt;br /&gt;
	elseif match(searchEngvar, 'nigeria')&lt;br /&gt;
		or searchEngvar == 'nga' then&lt;br /&gt;
			useLang = 'en-NG'&lt;br /&gt;
	elseif match(searchEngvar, 'pakistan')&lt;br /&gt;
		or searchEngvar == 'pak' then&lt;br /&gt;
			useLang = 'en-PK'&lt;br /&gt;
	elseif match(searchEngvar, 'philippine')&lt;br /&gt;
		or searchEngvar == 'phl' then&lt;br /&gt;
			useLang = 'en-PH'&lt;br /&gt;
	elseif match(searchEngvar, 'scotland')&lt;br /&gt;
		or match(searchEngvar, 'scottish')&lt;br /&gt;
		or searchEngvar == 'sco' then&lt;br /&gt;
			useLang = 'en-SCO' -- Has no alpha-2 code; not 'scotch'&lt;br /&gt;
	elseif match(searchEngvar, 'singapore')&lt;br /&gt;
		or searchEngvar == 'sgp' then&lt;br /&gt;
			useLang = 'en-SG'&lt;br /&gt;
	elseif match(searchEngvar, 'trinidad')&lt;br /&gt;
		or match(searchEngvar, 'tobago')&lt;br /&gt;
		or searchEngvar == 'tto' then&lt;br /&gt;
			useLang = 'en-TT'&lt;br /&gt;
	else&lt;br /&gt;
		useLang = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return useLang&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function addMaintCat(args)&lt;br /&gt;
local catMaintenance&lt;br /&gt;
	if args.engvarCat == 'no' then&lt;br /&gt;
	else&lt;br /&gt;
		local title = mw.title.getCurrentTitle()&lt;br /&gt;
		if title:inNamespaces(0) then  -- 0=main, 10=templ, 828=module&lt;br /&gt;
			if args.engvarCatSort then&lt;br /&gt;
				catMaintenance = '|' .. args.engvarCatSort .. ', ' .. title.text&lt;br /&gt;
			end&lt;br /&gt;
			catMaintenance = '[[Category:Articles using an unknown Template:Engvar option' .. (catMaintenance or '') .. ']]'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return catMaintenance or ''&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;JJMC89</name></author>
	</entry>
</feed>