<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cultopedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AISO_3166</id>
	<title>Module:ISO 3166 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.cultopedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AISO_3166"/>
	<link rel="alternate" type="text/html" href="https://www.cultopedia.org/index.php?title=Module:ISO_3166&amp;action=history"/>
	<updated>2026-04-06T01:34:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://www.cultopedia.org/index.php?title=Module:ISO_3166&amp;diff=1125&amp;oldid=prev</id>
		<title>imported&gt;Ahecht: expand accent replacement</title>
		<link rel="alternate" type="text/html" href="https://www.cultopedia.org/index.php?title=Module:ISO_3166&amp;diff=1125&amp;oldid=prev"/>
		<updated>2025-10-28T17:55:28Z</updated>

		<summary type="html">&lt;p&gt;expand accent replacement&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- to enable us to replicate the current functioning of Country extract, we need to deal with:&lt;br /&gt;
-- 2 {{&amp;lt;name&amp;gt;}} DONE!&lt;br /&gt;
-- 3 [[&amp;lt;name&amp;gt;]] DONE!&lt;br /&gt;
-- 4 [[&amp;lt;name&amp;gt;|&amp;lt;junk&amp;gt;]] DONE!&lt;br /&gt;
-- 5 [[image:flag of &amp;lt;country&amp;gt;.[svg|gif|png|jpg]|\d+px]] DONE!&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local getArgs = require(&amp;quot;Module:Arguments&amp;quot;).getArgs&lt;br /&gt;
local data = mw.loadData(&amp;quot;Module:ISO 3166/data/National&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
--[[----------C A T S----------]]--												-- Assign error categories&lt;br /&gt;
local function cats(cat, args)&lt;br /&gt;
	if not (args.nocat and args.nocat == &amp;#039;true&amp;#039;) and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		if cat == &amp;#039;nocountry&amp;#039; then&lt;br /&gt;
			return &amp;#039;[[Category:Wikipedia articles with obscure country]]&amp;#039;&lt;br /&gt;
		elseif cat == &amp;#039;nosubdivision&amp;#039; then&lt;br /&gt;
			return &amp;#039;[[Category:Wikipedia articles with obscure subdivision]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------F I N D N A M E----------]]--										-- Finds the name in the database&lt;br /&gt;
&lt;br /&gt;
local function findname(code,cdata,qry)&lt;br /&gt;
	local sqry = p.strip(qry)&lt;br /&gt;
	if cdata[&amp;quot;name&amp;quot;] and sqry==p.strip(cdata[&amp;quot;name&amp;quot;])&lt;br /&gt;
		or cdata[&amp;quot;isoname&amp;quot;] and sqry==p.strip(cdata[&amp;quot;isoname&amp;quot;])&lt;br /&gt;
		or not cdata[&amp;quot;nocode&amp;quot;] and sqry==code&lt;br /&gt;
		or sqry==cdata[&amp;quot;alpha3&amp;quot;] or sqry==cdata[&amp;quot;numeric&amp;quot;]&lt;br /&gt;
		then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	for _,tname in pairs(cdata[&amp;quot;isonames&amp;quot;] or {}) do&lt;br /&gt;
		if sqry==p.strip(tname) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for _,tname in pairs(cdata[&amp;quot;altnames&amp;quot;] or {}) do&lt;br /&gt;
		if sqry==p.strip(tname) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------I S O N A M E----------]]--										-- Find the ISO name of a country/region&lt;br /&gt;
&lt;br /&gt;
local function isoname(data,code,lang)&lt;br /&gt;
	if data[code][&amp;quot;isonames&amp;quot;] then&lt;br /&gt;
		local name = data[code][&amp;quot;isodisplaynames&amp;quot;] and data[code][&amp;quot;isodisplaynames&amp;quot;][lang]&lt;br /&gt;
			 or data[code][&amp;quot;isonames&amp;quot;][lang]&lt;br /&gt;
			 or data[code][&amp;quot;isodisplaynames&amp;quot;] and data[code][&amp;quot;isodisplaynames&amp;quot;][data[code][&amp;quot;defaultlang&amp;quot;] or data[&amp;quot;defaultlang&amp;quot;]]&lt;br /&gt;
			 or data[code][&amp;quot;isonames&amp;quot;][data[code][&amp;quot;defaultlang&amp;quot;] or data[&amp;quot;defaultlang&amp;quot;]]&lt;br /&gt;
			 or data[code][&amp;quot;isodisplaynames&amp;quot;] and data[code][&amp;quot;isodisplaynames&amp;quot;][&amp;quot;en&amp;quot;]&lt;br /&gt;
			 or data[code][&amp;quot;isonames&amp;quot;][&amp;quot;en&amp;quot;]&lt;br /&gt;
		if name then return name end&lt;br /&gt;
		for _,iname in pairs(data[code][&amp;quot;isonames&amp;quot;]) do return iname end&lt;br /&gt;
		return data[code][&amp;quot;isodisplayname&amp;quot;] or data[code][&amp;quot;isoname&amp;quot;]&lt;br /&gt;
	else&lt;br /&gt;
		return data[code][&amp;quot;isodisplayname&amp;quot;] or data[code][&amp;quot;isoname&amp;quot;]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------S T R I P----------]]--											-- Removes junk from the input&lt;br /&gt;
&lt;br /&gt;
function p.strip(text)&lt;br /&gt;
	if not text then return nil end&lt;br /&gt;
	&lt;br /&gt;
	local accents = {[&amp;quot;À&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Á&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Â&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ã&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ä&amp;quot;]=&amp;quot;A&amp;quot;,&lt;br /&gt;
		[&amp;quot;Å&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Æ&amp;quot;]=&amp;quot;AE&amp;quot;,[&amp;quot;Ç&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;È&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;É&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ê&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ë&amp;quot;]=&amp;quot;E&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ì&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Í&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Î&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ï&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ð&amp;quot;]=&amp;quot;D&amp;quot;,[&amp;quot;Ñ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ò&amp;quot;]=&amp;quot;O&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ó&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ô&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Õ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ö&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ø&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ù&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ú&amp;quot;]=&amp;quot;U&amp;quot;,&lt;br /&gt;
		[&amp;quot;Û&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ü&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ý&amp;quot;]=&amp;quot;Y&amp;quot;,[&amp;quot;Þ&amp;quot;]=&amp;quot;TH&amp;quot;,[&amp;quot;Ā&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ă&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ą&amp;quot;]=&amp;quot;A&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ć&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;Ĉ&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;Ċ&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;Č&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;Ď&amp;quot;]=&amp;quot;D&amp;quot;,[&amp;quot;Đ&amp;quot;]=&amp;quot;D&amp;quot;,[&amp;quot;Ē&amp;quot;]=&amp;quot;E&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ĕ&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ė&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ę&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ě&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ĝ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ğ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ġ&amp;quot;]=&amp;quot;G&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ģ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ĥ&amp;quot;]=&amp;quot;H&amp;quot;,[&amp;quot;Ħ&amp;quot;]=&amp;quot;H&amp;quot;,[&amp;quot;Ĩ&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ī&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ĭ&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Į&amp;quot;]=&amp;quot;I&amp;quot;,&lt;br /&gt;
		[&amp;quot;İ&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ĳ&amp;quot;]=&amp;quot;IJ&amp;quot;,[&amp;quot;Ĵ&amp;quot;]=&amp;quot;J&amp;quot;,[&amp;quot;Ķ&amp;quot;]=&amp;quot;K&amp;quot;,[&amp;quot;Ĺ&amp;quot;]=&amp;quot;L&amp;quot;,[&amp;quot;Ļ&amp;quot;]=&amp;quot;L&amp;quot;,[&amp;quot;Ľ&amp;quot;]=&amp;quot;L&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ŀ&amp;quot;]=&amp;quot;L&amp;quot;,[&amp;quot;Ł&amp;quot;]=&amp;quot;L&amp;quot;,[&amp;quot;Ń&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ņ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ň&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ŋ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ō&amp;quot;]=&amp;quot;O&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ŏ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ő&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Œ&amp;quot;]=&amp;quot;OE&amp;quot;,[&amp;quot;Ŕ&amp;quot;]=&amp;quot;R&amp;quot;,[&amp;quot;Ŗ&amp;quot;]=&amp;quot;R&amp;quot;,[&amp;quot;Ř&amp;quot;]=&amp;quot;R&amp;quot;,[&amp;quot;Ś&amp;quot;]=&amp;quot;S&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ŝ&amp;quot;]=&amp;quot;S&amp;quot;,[&amp;quot;Ş&amp;quot;]=&amp;quot;S&amp;quot;,[&amp;quot;Š&amp;quot;]=&amp;quot;S&amp;quot;,[&amp;quot;Ţ&amp;quot;]=&amp;quot;T&amp;quot;,[&amp;quot;Ť&amp;quot;]=&amp;quot;T&amp;quot;,[&amp;quot;Ŧ&amp;quot;]=&amp;quot;T&amp;quot;,[&amp;quot;Ũ&amp;quot;]=&amp;quot;U&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ū&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ŭ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ů&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ű&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ų&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ŵ&amp;quot;]=&amp;quot;W&amp;quot;,[&amp;quot;Ŷ&amp;quot;]=&amp;quot;Y&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ÿ&amp;quot;]=&amp;quot;Y&amp;quot;,[&amp;quot;Ź&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ż&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ž&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ɓ&amp;quot;]=&amp;quot;B&amp;quot;,[&amp;quot;Ƃ&amp;quot;]=&amp;quot;B&amp;quot;,[&amp;quot;Ɔ&amp;quot;]=&amp;quot;C&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ƈ&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;Ɖ&amp;quot;]=&amp;quot;D&amp;quot;,[&amp;quot;Ɗ&amp;quot;]=&amp;quot;D&amp;quot;,[&amp;quot;Ƌ&amp;quot;]=&amp;quot;D&amp;quot;,[&amp;quot;Ǝ&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ə&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ɛ&amp;quot;]=&amp;quot;E&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ƒ&amp;quot;]=&amp;quot;F&amp;quot;,[&amp;quot;Ɠ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ɣ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ɩ&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ɨ&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ƙ&amp;quot;]=&amp;quot;K&amp;quot;,[&amp;quot;Ɯ&amp;quot;]=&amp;quot;M&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ɲ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ɵ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ơ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ƣ&amp;quot;]=&amp;quot;OI&amp;quot;,[&amp;quot;Ƥ&amp;quot;]=&amp;quot;P&amp;quot;,[&amp;quot;Ʃ&amp;quot;]=&amp;quot;SH&amp;quot;,[&amp;quot;Ƭ&amp;quot;]=&amp;quot;T&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ʈ&amp;quot;]=&amp;quot;T&amp;quot;,[&amp;quot;Ư&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ʊ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ʋ&amp;quot;]=&amp;quot;V&amp;quot;,[&amp;quot;Ƴ&amp;quot;]=&amp;quot;Y&amp;quot;,[&amp;quot;Ƶ&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ʒ&amp;quot;]=&amp;quot;Z&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ƹ&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ǆ&amp;quot;]=&amp;quot;DZ&amp;quot;,[&amp;quot;Ǉ&amp;quot;]=&amp;quot;LJ&amp;quot;,[&amp;quot;Ǌ&amp;quot;]=&amp;quot;NJ&amp;quot;,[&amp;quot;Ǎ&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ǐ&amp;quot;]=&amp;quot;I&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ǒ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ǔ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ǖ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ǘ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ǚ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ǜ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ǟ&amp;quot;]=&amp;quot;A&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ǡ&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ǣ&amp;quot;]=&amp;quot;AE&amp;quot;,[&amp;quot;Ǥ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ǧ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ǩ&amp;quot;]=&amp;quot;K&amp;quot;,[&amp;quot;Ǫ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ǭ&amp;quot;]=&amp;quot;O&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ǯ&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ǳ&amp;quot;]=&amp;quot;DZ&amp;quot;,[&amp;quot;Ǵ&amp;quot;]=&amp;quot;G&amp;quot;,[&amp;quot;Ƕ&amp;quot;]=&amp;quot;HV&amp;quot;,[&amp;quot;Ƿ&amp;quot;]=&amp;quot;W&amp;quot;,[&amp;quot;Ǹ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ǻ&amp;quot;]=&amp;quot;A&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ǽ&amp;quot;]=&amp;quot;AE&amp;quot;,[&amp;quot;Ǿ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȁ&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ȃ&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ȅ&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ȇ&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ȉ&amp;quot;]=&amp;quot;I&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ȋ&amp;quot;]=&amp;quot;I&amp;quot;,[&amp;quot;Ȍ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȏ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȑ&amp;quot;]=&amp;quot;R&amp;quot;,[&amp;quot;Ȓ&amp;quot;]=&amp;quot;R&amp;quot;,[&amp;quot;Ȕ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ȗ&amp;quot;]=&amp;quot;U&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ș&amp;quot;]=&amp;quot;S&amp;quot;,[&amp;quot;Ț&amp;quot;]=&amp;quot;T&amp;quot;,[&amp;quot;Ȝ&amp;quot;]=&amp;quot;Z&amp;quot;,[&amp;quot;Ȟ&amp;quot;]=&amp;quot;H&amp;quot;,[&amp;quot;Ƞ&amp;quot;]=&amp;quot;N&amp;quot;,[&amp;quot;Ȣ&amp;quot;]=&amp;quot;OU&amp;quot;,[&amp;quot;Ȥ&amp;quot;]=&amp;quot;Z&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ȧ&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ȩ&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ȫ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȭ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȯ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȱ&amp;quot;]=&amp;quot;O&amp;quot;,[&amp;quot;Ȳ&amp;quot;]=&amp;quot;Y&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ⱥ&amp;quot;]=&amp;quot;A&amp;quot;,[&amp;quot;Ȼ&amp;quot;]=&amp;quot;C&amp;quot;,[&amp;quot;Ƚ&amp;quot;]=&amp;quot;L&amp;quot;,[&amp;quot;Ⱦ&amp;quot;]=&amp;quot;T&amp;quot;,[&amp;quot;Ƀ&amp;quot;]=&amp;quot;B&amp;quot;,[&amp;quot;Ʉ&amp;quot;]=&amp;quot;U&amp;quot;,[&amp;quot;Ʌ&amp;quot;]=&amp;quot;V&amp;quot;,&lt;br /&gt;
		[&amp;quot;Ɇ&amp;quot;]=&amp;quot;E&amp;quot;,[&amp;quot;Ɉ&amp;quot;]=&amp;quot;J&amp;quot;,[&amp;quot;Ɋ&amp;quot;]=&amp;quot;Q&amp;quot;,[&amp;quot;Ɍ&amp;quot;]=&amp;quot;R&amp;quot;,[&amp;quot;Ɏ&amp;quot;]=&amp;quot;Y&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	local remove = {&amp;quot;NATION OF&amp;quot;,&amp;quot;COUNTRY OF&amp;quot;,&amp;quot;TERRITORY OF&amp;quot;,					-- text to be removed list&lt;br /&gt;
		&amp;quot;FLAG OF&amp;quot;,&amp;quot;FLAG&amp;quot;,&amp;quot;KINGDOM OF&amp;quot;,&amp;quot;STATE OF&amp;quot;,&amp;quot; STATE &amp;quot;,&lt;br /&gt;
		&amp;quot;PROVINCE OF&amp;quot;,&amp;quot;PROVINCE&amp;quot;,&amp;quot;TERRITORY&amp;quot;,&amp;quot;COUNTY&amp;quot;,&amp;quot;GOVERNORATE&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	local patterns = {&amp;quot;(%a)%.(%a)%.&amp;quot;,&amp;quot;.+:&amp;quot;,&amp;quot;|.+&amp;quot;,&amp;quot;%(.-%)&amp;quot;,						-- patterns to follow (order may matter)&lt;br /&gt;
		&amp;quot;%.%S.*&amp;quot;,&amp;quot;^THE &amp;quot;,&amp;quot;%_&amp;quot;,&amp;quot;%-&amp;quot;,&amp;quot;%d%d?%d?PX&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	local replacements = {[&amp;quot;(%a)%.(%a)%.&amp;quot;]=&amp;quot;%1%2&amp;quot;,								-- Replacements for patterns above (order does not matter)&lt;br /&gt;
		[&amp;quot;.+:&amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;|.+&amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;%(.-%)&amp;quot;]=&amp;quot;&amp;quot;,									&lt;br /&gt;
		[&amp;quot;%.%S.*&amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;^THE &amp;quot;]=&amp;quot;&amp;quot;,[&amp;quot;%_&amp;quot;]=&amp;quot; &amp;quot;,[&amp;quot;%-&amp;quot;]=&amp;quot; &amp;quot;,&lt;br /&gt;
		[&amp;quot;%d%d?%d?PX&amp;quot;]=&amp;quot;&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	text = mw.text.decode(text)                                                 -- Decode HTML entities (passed from wikidata?)&lt;br /&gt;
	text = mw.text.unstripNoWiki(text)											-- Remove &amp;lt;nowiki&amp;gt; tags&lt;br /&gt;
	text = mw.ustring.upper(text)												-- Case insensitivity&lt;br /&gt;
	text = mw.ustring.gsub(text,&amp;quot;[À-Ɏ]&amp;quot;,accents)								-- Deaccent&lt;br /&gt;
	&lt;br /&gt;
	for _,pattern in ipairs(patterns) do										-- Follow patterns&lt;br /&gt;
		local value = replacements[pattern]&lt;br /&gt;
		text = mw.ustring.gsub(text,pattern,value) &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _,words in pairs(remove) do												-- Remove unneeded words&lt;br /&gt;
	text = mw.ustring.gsub(text,words,&amp;quot;&amp;quot;) &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = mw.ustring.gsub(text,&amp;quot;%W&amp;quot;,&amp;quot;&amp;quot;)										-- Remove non alpha-numeric&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . C A L L S T R I P ---------]]--								-- Calls P.strip but using Module:Arguments&lt;br /&gt;
&lt;br /&gt;
function p.callstrip(frame)&lt;br /&gt;
	&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	&lt;br /&gt;
	return p.strip(args[1]) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . L U A C O D E---------]]--									-- Makes the ISO code of a country&lt;br /&gt;
&lt;br /&gt;
function p.luacode(args)&lt;br /&gt;
	args[1], args[2] = args[1] or &amp;#039;&amp;#039;, args[2] or &amp;#039;&amp;#039;&lt;br /&gt;
	local code1 = p.strip(args[1])&lt;br /&gt;
	local code2 = p.strip(args[2])&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;quot;codetype&amp;quot;]==&amp;quot;3&amp;quot; then args[&amp;quot;codetype&amp;quot;]=&amp;quot;alpha3&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	local eot = args.error or &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if code1 == &amp;quot;&amp;quot; then&lt;br /&gt;
		mw.addWarning((args[1] ~= &amp;quot;&amp;quot; and (&amp;#039;Invalid parameter &amp;quot;&amp;#039; .. args[1] .. &amp;#039;&amp;quot;&amp;#039;) or &amp;#039;No parameter&amp;#039;) ..&lt;br /&gt;
			&amp;#039; for the country given ([[Module:ISO 3166]]).&amp;#039;)&lt;br /&gt;
		return cats(&amp;#039;nocountry&amp;#039;, args), &amp;#039;&amp;lt;span style=&amp;quot;font-size:100%&amp;quot; class=&amp;quot;error&amp;quot;&amp;gt;&amp;quot;No parameter for the country given&amp;quot;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local notRecognized =&amp;#039;%s (&amp;quot;%s&amp;quot;) is not a recognized %s in [[ISO 3166-%s]] ([[Module:ISO 3166]]).&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if code2 == &amp;quot;&amp;quot; then													--3166-1 code&lt;br /&gt;
		for alpha2,cdata in pairs(data) do&lt;br /&gt;
			if findname(alpha2,cdata,code1) then&lt;br /&gt;
				if args[&amp;quot;codetype&amp;quot;]==&amp;quot;numeric&amp;quot; or args[&amp;quot;codetype&amp;quot;]==&amp;quot;alpha3&amp;quot; then&lt;br /&gt;
					return cdata[args[&amp;quot;codetype&amp;quot;]]&lt;br /&gt;
				else&lt;br /&gt;
					return alpha2&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(args[1],&amp;quot;%-&amp;quot;) then&lt;br /&gt;
			args[1], args[2] = string.match(args[1],&amp;quot;^([^%-]*)%-(.*)$&amp;quot;)&lt;br /&gt;
			if args[2] then return p.luacode(args) end&lt;br /&gt;
		end&lt;br /&gt;
		mw.addWarning(string.format(notRecognized, code1, args[1], &amp;#039;country&amp;#039;, &amp;#039;1&amp;#039;))&lt;br /&gt;
		return cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
	else																		--3166-2 code&lt;br /&gt;
		for alpha2,cdata in pairs(data) do                                       &lt;br /&gt;
			if findname(alpha2,cdata,code1) then&lt;br /&gt;
				if mw.ustring.match(alpha2,&amp;quot;GB&amp;quot;) then							-- For England, Wales etc.&lt;br /&gt;
					alpha2 = &amp;quot;GB&amp;quot;&lt;br /&gt;
				end&lt;br /&gt;
				local sdata = mw.loadData(&amp;quot;Module:ISO 3166/data/&amp;quot;..alpha2)&lt;br /&gt;
				local empty = true&lt;br /&gt;
				for scode,scdata in pairs(sdata) do&lt;br /&gt;
					if type(scdata)==&amp;quot;table&amp;quot; then&lt;br /&gt;
						empty = false&lt;br /&gt;
						if findname(scode,scdata,code2) then&lt;br /&gt;
							return alpha2..&amp;quot;-&amp;quot;..scode&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if string.find(args[2] or &amp;#039;&amp;#039;,&amp;quot;%-&amp;quot;) then&lt;br /&gt;
					code1, args[2] = string.match(args[2] or &amp;#039;&amp;#039;,&amp;quot;^([^%-]*)%-(.*)$&amp;quot;)&lt;br /&gt;
					args[1] = args[1]..&amp;quot;-&amp;quot;..code1&lt;br /&gt;
					return p.luacode(args)&lt;br /&gt;
				end&lt;br /&gt;
				mw.addWarning(string.format(notRecognized, code2, args[2], &amp;#039;subdivision&amp;#039;, &amp;#039;2:&amp;#039; .. alpha2))&lt;br /&gt;
				return cats(&amp;#039;nosubdivision&amp;#039;, args)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(args[1],&amp;quot;%-&amp;quot;) then&lt;br /&gt;
			args[1] = string.match(args[1],&amp;quot;^([^%-]*)%-(.*)$&amp;quot;)&lt;br /&gt;
			return p.luacode(args)&lt;br /&gt;
		end&lt;br /&gt;
		mw.addWarning(string.format(notRecognized, code1, args[1], &amp;#039;country&amp;#039;, &amp;#039;1&amp;#039;))&lt;br /&gt;
		return cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
	end&lt;br /&gt;
	mw.addWarning(string.format(notRecognized, code1, args[1], &amp;#039;country&amp;#039;, &amp;#039;1&amp;#039;))&lt;br /&gt;
	return cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . C O D E---------]]--											-- Calls P.Luacode but using Module:Arguments&lt;br /&gt;
&lt;br /&gt;
function p.code(frame)&lt;br /&gt;
&lt;br /&gt;
	return p.luacode(getArgs(frame)) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . N U M E R I C---------]]--									-- Calls P.Luacode but using Module:Arguments and setting it to output a numeric value&lt;br /&gt;
&lt;br /&gt;
function p.numeric(frame)&lt;br /&gt;
&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	&lt;br /&gt;
	args[&amp;quot;codetype&amp;quot;]=&amp;quot;numeric&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	return p.luacode(args) or &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
--[[----------P . L U A N A M E---------]]--									-- Makes the ISO/common name of a country&lt;br /&gt;
	&lt;br /&gt;
function p.luaname(args)&lt;br /&gt;
&lt;br /&gt;
	local code1 = p.luacode(args)&lt;br /&gt;
	local code2 = &amp;#039;&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
	if string.find(code1,&amp;quot;%-&amp;quot;) then&lt;br /&gt;
		code1, code2 = string.match(code1,&amp;quot;^([^%-]*)%-(.*)$&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if string.find(code1,&amp;quot;^%u%u$&amp;quot;) then&lt;br /&gt;
		if code2==&amp;quot;&amp;quot; then														--3166-1 alpha-2 code&lt;br /&gt;
			if data[code1] then&lt;br /&gt;
				return (args.isoname or args.lang) and isoname(data,code1,args.lang)&lt;br /&gt;
					or (data[code1][&amp;quot;displayname&amp;quot;] or data[code1][&amp;quot;name&amp;quot;])&lt;br /&gt;
			else&lt;br /&gt;
				return cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
			end&lt;br /&gt;
		else																	--3166-2 code&lt;br /&gt;
			local sdata&lt;br /&gt;
			if data[code1] then&lt;br /&gt;
				sdata = mw.loadData(&amp;quot;Module:ISO 3166/data/&amp;quot;..code1)&lt;br /&gt;
			else&lt;br /&gt;
				return cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
			end&lt;br /&gt;
			if sdata[code2] then&lt;br /&gt;
				return (args.isoname or args.lang) and isoname(sdata,code2,args.lang)&lt;br /&gt;
					or (sdata[code2][&amp;quot;displayname&amp;quot;] or sdata[code2][&amp;quot;name&amp;quot;])&lt;br /&gt;
			else&lt;br /&gt;
				return cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif args.notfound then&lt;br /&gt;
		return args.notfound&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[----------P . N A M E---------]]--											-- Calls P.Luaname but using Module:Arguments&lt;br /&gt;
&lt;br /&gt;
function p.name(frame)&lt;br /&gt;
&lt;br /&gt;
	return p.luaname(getArgs(frame)) or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
--[[----------P . G E O C O O R D I N S E R T---------]]--						-- Wrapper for Module:Coordinates.coordinsert&lt;br /&gt;
function p.geocoordinsert(frame)&lt;br /&gt;
	-- {{#invoke:ISO 3166|geocoordinsert|{{coord|...}}&lt;br /&gt;
	-- |country=..|subdivision1=...|subdivision2=...&lt;br /&gt;
	-- |type=...|scale=...|dim=...|source=...|globe=...&lt;br /&gt;
	-- }}&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local subdivisionqueried = false&lt;br /&gt;
	local tracking = &amp;#039;&amp;#039;&lt;br /&gt;
	local targs = {}&lt;br /&gt;
	targs[1] = args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
	for i, v in pairs(args) do&lt;br /&gt;
		if i == &amp;#039;country&amp;#039; and not mw.ustring.find(targs[1], &amp;#039;region:&amp;#039;) then&lt;br /&gt;
			local country = v&lt;br /&gt;
			local k, region = 1, &amp;#039;&amp;#039;&lt;br /&gt;
			-- look for a valid subdivision&lt;br /&gt;
			while region == &amp;#039;&amp;#039; and k &amp;lt; 3 do&lt;br /&gt;
				local subdivision = args[&amp;#039;subdivision&amp;#039; .. k] or &amp;#039;&amp;#039;&lt;br /&gt;
				if subdivision ~= &amp;#039;&amp;#039; then&lt;br /&gt;
					region = p.luacode({country, subdivision, nocat = &amp;#039;true&amp;#039;})&lt;br /&gt;
					subdivisionqueried = true&lt;br /&gt;
				end&lt;br /&gt;
				k = k + 1&lt;br /&gt;
			end&lt;br /&gt;
			-- subdivision lookup failed or never attempted, try country only&lt;br /&gt;
			if region == &amp;#039;&amp;#039; then&lt;br /&gt;
				region = p.luacode({country, nocat = &amp;#039;true&amp;#039;})&lt;br /&gt;
				if region == &amp;#039;&amp;#039; then&lt;br /&gt;
					tracking = tracking .. cats(&amp;#039;nocountry&amp;#039;, args)&lt;br /&gt;
				elseif subdivisionqueried == true then&lt;br /&gt;
					tracking = tracking .. cats(&amp;#039;nosubdivision&amp;#039;, args)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			-- something worked, add it to the targs&lt;br /&gt;
			if region ~= &amp;#039;&amp;#039; then&lt;br /&gt;
				targs[#targs + 1] = &amp;#039;region:&amp;#039; .. region&lt;br /&gt;
			end&lt;br /&gt;
		elseif i == &amp;#039;type&amp;#039; or i == &amp;#039;scale&amp;#039; or i == &amp;#039;dim&amp;#039; &lt;br /&gt;
				or i == &amp;#039;source&amp;#039; or i == &amp;#039;globe&amp;#039; then&lt;br /&gt;
			targs[#targs + 1] = i .. &amp;#039;:&amp;#039; .. v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- call Module:Coordinates.coordinsert if there is something to insert&lt;br /&gt;
	if #targs &amp;gt; 1 then&lt;br /&gt;
		local coordinsert = require(&amp;#039;Module:Coordinates&amp;#039;).coordinsert&lt;br /&gt;
		return coordinsert({args = targs}) .. tracking&lt;br /&gt;
	end&lt;br /&gt;
	-- otherwise, just return the coordinates&lt;br /&gt;
	return targs[1] .. tracking&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Ahecht</name></author>
	</entry>
</feed>