<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AAircraft_by_nationality</id>
	<title>Module:Aircraft by nationality - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AAircraft_by_nationality"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Aircraft_by_nationality&amp;action=history"/>
	<updated>2026-06-23T18:31:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Aircraft_by_nationality&amp;diff=470943&amp;oldid=prev</id>
		<title>Zoran: Moved page from wikipedia:en:Module:Aircraft by nationality</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Aircraft_by_nationality&amp;diff=470943&amp;oldid=prev"/>
		<updated>2021-07-08T19:15:57Z</updated>

		<summary type="html">&lt;p&gt;Moved page from &lt;a href=&quot;/index.php?title=Wikipedia:en:Module:Aircraft_by_nationality&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Wikipedia:en:Module:Aircraft by nationality (page does not exist)&quot;&gt;wikipedia:en:Module:Aircraft by nationality&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
--Similar to {{LinkCatIfExists2}}: make a piped link to a category, if it exists;&lt;br /&gt;
--if it doesn't exist, just display the greyed link title without linking&lt;br /&gt;
function catlink( name, disp )&lt;br /&gt;
	name = mw.text.trim(name or '')&lt;br /&gt;
	disp = mw.text.trim(disp or '')&lt;br /&gt;
	local grey = '#888'&lt;br /&gt;
	&lt;br /&gt;
	local exists = mw.title.new( name, 'Category' ).exists&lt;br /&gt;
	if exists then&lt;br /&gt;
		return '[[:Category:'..name..'|'..disp..']]'&lt;br /&gt;
	else&lt;br /&gt;
		return '&amp;lt;span style=&amp;quot;color:'..grey..'&amp;quot;&amp;gt;'..disp..'&amp;lt;/span&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--checks for existance &amp;amp; returns tracking [[Category:Aircraft catnav missing parent]] if missing&lt;br /&gt;
function checkparent( colon, name, sortkey )&lt;br /&gt;
	local exists = mw.title.new( name, 'Category' ).exists&lt;br /&gt;
	if not exists then&lt;br /&gt;
		return '[['..colon..'Category:Aircraft catnav missing parent|'..sortkey..']]'&lt;br /&gt;
	end&lt;br /&gt;
	return ''&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[==========================================================================]]&lt;br /&gt;
--[[                                   Main                                   ]]&lt;br /&gt;
--[[==========================================================================]]&lt;br /&gt;
&lt;br /&gt;
function p.catnav( frame )&lt;br /&gt;
	local currtitle = mw.title.getCurrentTitle()&lt;br /&gt;
	local namespace = currtitle.nsText&lt;br /&gt;
	local testcases = (currtitle.subpageText == 'testcases')&lt;br /&gt;
	local colon = ''&lt;br /&gt;
	if namespace ~= 'Category' then colon = ':' end&lt;br /&gt;
	&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local nation = args['nation'] --live {{Template}}&lt;br /&gt;
--	local nation = frame.args['nation'] --direct {{#invoke:}} from cat&lt;br /&gt;
	local pagename = currtitle.baseText&lt;br /&gt;
	local trackingcats = {&lt;br /&gt;
		'', --[1] placeholder for [[Category:Aircraft catnav missing parameter]] (civ/mil)&lt;br /&gt;
		'', --[2] placeholder for [[Category:Aircraft catnav missing parent]] (civ/mil/air)&lt;br /&gt;
		'', --[3] placeholder for [[Category:Aircraft catnav failed to generate navbox]] !(civ/mil/air)&lt;br /&gt;
	}&lt;br /&gt;
	local parentcats = {&lt;br /&gt;
		'', --[1] placeholder for [[Category:Aircraft manufactured in {{{nation}}}]] (civ) or &lt;br /&gt;
			--					  [[Category:International aircraft]] (mil)&lt;br /&gt;
			--					  [[Category:Aircraft by country]] (air)&lt;br /&gt;
			&lt;br /&gt;
		'', --[2] placeholder for [[Category:Civil aircraft]] (civ) or&lt;br /&gt;
			--					  [[Category:Military aircraft by country]] (mil)&lt;br /&gt;
			--					  [[Category:Aircraft in &amp;lt;nation&amp;gt;]] (air)&lt;br /&gt;
	}&lt;br /&gt;
	local countries = {&lt;br /&gt;
	--	{ 'the Country Name', 'Adjectival' },&lt;br /&gt;
	-- 'the' gets removed as needed&lt;br /&gt;
		{ 'Algeria', 'Algerian' },&lt;br /&gt;
		{ 'Argentina', 'Argentine' },&lt;br /&gt;
		{ 'Australia', 'Australian' },&lt;br /&gt;
		{ 'Austria', 'Austrian' },&lt;br /&gt;
		{ 'Austria and Austria-Hungary', 'Austrian and Austro-Hungarian' }, --[[Category:Austrian and Austro-Hungarian civil aircraft]]&lt;br /&gt;
		{ 'Belgium', 'Belgian' },&lt;br /&gt;
		{ 'Brazil', 'Brazilian' },&lt;br /&gt;
		{ 'Bulgaria', 'Bulgarian' },&lt;br /&gt;
		{ 'Canada', 'Canadian' },&lt;br /&gt;
		{ 'Chile', 'Chilean' },&lt;br /&gt;
		{ 'China', 'Chinese' },&lt;br /&gt;
		{ 'Colombia', 'Colombian' },&lt;br /&gt;
		{ 'Cyprus', 'Cypriot' },&lt;br /&gt;
		{ 'the Czech Republic and Czechoslovakia', 'Czech and Czechoslovakian' },&lt;br /&gt;
		{ 'Denmark', 'Danish' },&lt;br /&gt;
		{ 'Egypt', 'Egyptian' },&lt;br /&gt;
		{ 'Estonia', 'Estonian' },&lt;br /&gt;
		{ 'Finland', 'Finnish' },&lt;br /&gt;
		{ 'France', 'French' },&lt;br /&gt;
		{ 'Georgia (country)', 'Georgian' }, --only 1 [[WP:AIR]] adj precedent: [[Category:Georgian aircraft designers]] (doesn't disambig)&lt;br /&gt;
		{ 'East Germany', 'East German' },&lt;br /&gt;
		{ 'Germany', 'German' },&lt;br /&gt;
		{ 'Greece', 'Greek' },&lt;br /&gt;
		{ 'Hungary', 'Hungarian' },&lt;br /&gt;
		{ 'India', 'Indian' },&lt;br /&gt;
		{ 'Indonesia', 'Indonesian' },&lt;br /&gt;
		{ 'Iran', 'Iranian' },&lt;br /&gt;
		{ 'Israel', 'Israeli' },&lt;br /&gt;
		{ 'Italy', 'Italian' },&lt;br /&gt;
		{ 'Japan', 'Japanese' },&lt;br /&gt;
		{ 'Jordan', 'Jordanian' },&lt;br /&gt;
		{ 'Latvia', 'Latvian' },&lt;br /&gt;
		{ 'Lithuania', 'Lithuanian' },&lt;br /&gt;
		{ 'Malaysia', 'Malaysian' },&lt;br /&gt;
		{ 'Mexico', 'Mexican' },&lt;br /&gt;
		{ 'the Netherlands', 'Dutch' },&lt;br /&gt;
		{ 'New Zealand', 'New Zealand' },&lt;br /&gt;
		{ 'Norway', 'Norwegian' },&lt;br /&gt;
		{ 'the State of Palestine', 'Palestinian' },&lt;br /&gt;
		{ 'Pakistan', 'Pakistani' },&lt;br /&gt;
		{ 'Peru', 'Peruvian' },&lt;br /&gt;
		{ 'the Philippines', 'Philippine' },&lt;br /&gt;
		{ 'Poland', 'Polish' },&lt;br /&gt;
		{ 'Portugal', 'Portuguese' },&lt;br /&gt;
		{ 'the Republic of China', 'Republic of China' },&lt;br /&gt;
		{ 'Romania', 'Romanian' },&lt;br /&gt;
		{ 'Russia', 'Russian' },&lt;br /&gt;
		{ 'Saudi Arabia', 'Saudi Arabian' },&lt;br /&gt;
		{ 'Singapore', 'Singaporean' }, --[[Category:Singaporean military aircraft]]&lt;br /&gt;
		{ 'Slovakia', 'Slovak' },&lt;br /&gt;
		{ 'Slovenia', 'Slovenian' },&lt;br /&gt;
		{ 'South Africa', 'South African' },&lt;br /&gt;
		{ 'South Korea', 'South Korean' },&lt;br /&gt;
		{ 'the Soviet Union', 'Soviet Union' },&lt;br /&gt;
		{ 'Soviet Union and CIS', 'Soviet and Russian' },&lt;br /&gt;
		{ 'Spain', 'Spanish' },&lt;br /&gt;
		{ 'Sweden', 'Swedish' },&lt;br /&gt;
		{ 'Switzerland', 'Swiss' },&lt;br /&gt;
		{ 'Taiwan', 'Taiwanese' },&lt;br /&gt;
		{ 'Thailand', 'Thai' },&lt;br /&gt;
		{ 'Turkey', 'Turkish' },&lt;br /&gt;
		{ 'the United Arab Emirates', 'Emirati' },&lt;br /&gt;
		{ 'the United Kingdom', 'British' },&lt;br /&gt;
		{ 'the United States', 'United States' },&lt;br /&gt;
		{ 'Ukraine', 'Ukrainian' },&lt;br /&gt;
		{ 'Vietnam', 'Vietnamese' },&lt;br /&gt;
		{ 'Yugoslavia', 'Yugoslav' },&lt;br /&gt;
		{ 'Yugoslavia and Serbia', 'Yugoslav and Serbian' },&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	--determine category type&lt;br /&gt;
	local nation_airtitle = nil --autodetected from air title&lt;br /&gt;
	local adj, civmilair = string.match(pagename, '^(.+) (civil) aircraft$') --assume civ&lt;br /&gt;
	if civmilair == nil then&lt;br /&gt;
		adj, civmilair = string.match(pagename, '^(.+) (military) aircraft$') --mil&lt;br /&gt;
	end&lt;br /&gt;
	if civmilair == nil then&lt;br /&gt;
		civmilair, nation_airtitle = string.match(pagename, '^(Aircraft) manufactured in ([^%/]+)$') --air&lt;br /&gt;
	end&lt;br /&gt;
	if civmilair == nil then&lt;br /&gt;
		civmilair = string.match(pagename, '^(International) aircraft$') --int (special case)&lt;br /&gt;
	end&lt;br /&gt;
	if civmilair == nil then&lt;br /&gt;
		 if namespace == 'Category' or testcases then&lt;br /&gt;
		 	trackingcats[3] = '[['..colon..'Category:Aircraft catnav failed to generate navbox]]'&lt;br /&gt;
		 end&lt;br /&gt;
 		return table.concat(trackingcats)&lt;br /&gt;
	end&lt;br /&gt;
	local CivMilAir = civmilair:gsub(&amp;quot;^%l&amp;quot;, string.upper)&lt;br /&gt;
	&lt;br /&gt;
	--proceed according to category type&lt;br /&gt;
	local civmil = (civmilair ~= 'Aircraft' and civmilair ~= 'International')&lt;br /&gt;
	if civmil then&lt;br /&gt;
		--if {{{nation}}} DNE, find it via the title adjective&lt;br /&gt;
		if nation == nil or (nation and nation == '') then&lt;br /&gt;
			for _, kv in pairs (countries) do&lt;br /&gt;
				if kv[2] == adj then&lt;br /&gt;
					nation = kv[1]&lt;br /&gt;
					break&lt;br /&gt;
		end	end	end&lt;br /&gt;
		&lt;br /&gt;
		--tracking cats 1 &amp;amp; 2; parent cat 1&lt;br /&gt;
		if nation == nil or (nation and nation == '') then&lt;br /&gt;
			trackingcats[1] = '[['..colon..'Category:Aircraft catnav missing parameter|N]]'&lt;br /&gt;
		elseif nation == 'International' then&lt;br /&gt;
			local basename = 'International aircraft' --static: no check/tracking needed&lt;br /&gt;
			if CivMilAir == 'Civil' then&lt;br /&gt;
				parentcats[1] = '[['..colon..'Category:'..basename..'|Civil]]'&lt;br /&gt;
			else&lt;br /&gt;
				parentcats[1] = '[['..colon..'Category:'..basename..'|Military aircraft, International]]'&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			local basename = 'Aircraft manufactured in '..nation&lt;br /&gt;
			trackingcats[2] = checkparent(colon, basename, 'Q')&lt;br /&gt;
			parentcats[1] = '[['..colon..'Category:'..basename..'| '..CivMilAir..' aircraft, '..nation..']]'&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		--parent 2 static: no check/tracking needed&lt;br /&gt;
		if CivMilAir == 'Civil' then&lt;br /&gt;
			parentcats[2] = '[['..colon..'Category:Civil aircraft]]'&lt;br /&gt;
		else&lt;br /&gt;
			parentcats[2] = '[['..colon..'Category:Military aircraft by country]]'&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
	elseif civmilair == 'Aircraft' then&lt;br /&gt;
		if nation == nil or (nation and nation == '') then&lt;br /&gt;
			nation = nation_airtitle --use title if {{{nation}}} DNE&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		--air parent 1&lt;br /&gt;
		parentcats[1] = '[['..colon..'Category:Aircraft by country|'..nation..']]' --static: no check/tracking needed&lt;br /&gt;
		&lt;br /&gt;
		--air tracking/parent 2&lt;br /&gt;
		local basename = 'Aviation in '..nation&lt;br /&gt;
		trackingcats[2] = checkparent(colon, basename, 'R') --TODO: update cat description text &amp;amp; inc {{Milairnd}} sortkeys&lt;br /&gt;
		parentcats[2] = '[['..colon..'Category:'..basename..'|Aircraft]]'&lt;br /&gt;
		&lt;br /&gt;
	else --if civmilair == 'International' then&lt;br /&gt;
		parentcats[1] = '[['..colon..'Category:Aircraft by country| ]]' --static: no check/tracking needed&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local heading1 = CivMilAir..' aircraft' --assume civmil&lt;br /&gt;
	local heading2 = civmilair..' aircraft' --assume civmil&lt;br /&gt;
	if not civmil then&lt;br /&gt;
		heading1 = 'Aircraft'&lt;br /&gt;
		heading2 = 'aircraft'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local sep = ' • '&lt;br /&gt;
	local catnav =  '{| class=&amp;quot;toccolours&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;margin:3px auto; border: 1px solid; font-size:95%;  align=&amp;quot;center&amp;quot;\n'..&lt;br /&gt;
		'|-\n'..&lt;br /&gt;
		'| style=&amp;quot;text-align:center;&amp;quot; |\n'..&lt;br /&gt;
		&amp;quot;'''&amp;quot;..heading1..&amp;quot; by nationality of original manufacturer'''&amp;lt;br/&amp;gt; &amp;quot;..&lt;br /&gt;
		'[[:Category:International '..heading2..'|International joint ventures]]&amp;lt;br/&amp;gt;'&lt;br /&gt;
	for _, kv in pairs (countries) do&lt;br /&gt;
		local the_c = kv[1]&lt;br /&gt;
		local a = kv[2]&lt;br /&gt;
		local c = (string.gsub(the_c, '^the ', ''))&lt;br /&gt;
		local basename = a..' '..civmilair..' aircraft' --assume civmil&lt;br /&gt;
		if not civmil then&lt;br /&gt;
			basename = 'Aircraft manufactured in '..the_c&lt;br /&gt;
		end&lt;br /&gt;
		catnav = catnav..catlink(basename, c)..sep&lt;br /&gt;
	end&lt;br /&gt;
	catnav = mw.text.trim(catnav, sep)&lt;br /&gt;
	catnav = catnav..'\n'..&lt;br /&gt;
		'|}\n'..&lt;br /&gt;
		'&amp;lt;br/&amp;gt;'&lt;br /&gt;
	&lt;br /&gt;
	return catnav..table.concat(trackingcats)..table.concat(parentcats)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>