Jump to content

Module:Road data/strings/USA/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
add default to aux
m test
Line 17: Line 17:
local util = require("Module:Road data/util")
local util = require("Module:Road data/util")
local format = mw.ustring.format
local format = mw.ustring.format
local stateName = mw.loadData("Module:Jct/statename")


--[[ REGION-SPECIFIC SETTINGS ]]--
--[[ REGION-SPECIFIC SETTINGS ]]--
Line 67: Line 66:
Alt = {
Alt = {
name = "Alternate",
name = "Alternate",
abbrsuffix = "Alt."
abbrsuffix = "Alt.",
arksuffix = "A",
banneralt = "Alt",
},
Aux = {
name = "Auxiliary",
aux = "[[List of auxiliary Interstate Highways|Auxiliary route]]"
},
},
Bus = {
Bus = {
Line 97: Line 102:
abbrsuffix = "Emerg."
abbrsuffix = "Emerg."
},
},
Express = {
Future = {name = "Future"},
Express = {name = "Express"},
name = "Express",
aux = "Express route"
Local = {name = "Local"},
},
Future = {
name = "Future",
aux = "Future routing"
},
Local = {
name = "Local",
aux = "Local route"
},
Loop = {name = "Loop"},
Loop = {name = "Loop"},
Opt = {
Opt = {
Line 115: Line 129:
},
},
Toll = {name = "Toll"},
Toll = {name = "Toll"},
Truck = {name = "Truck"},
Truck = {
name = "Truck",
arksuffix = "T"
default = {
},
name = "Auxiliary",
aux = "Auxiliary route"
}
}
}
-- fill out default values
-- fill out default values
Line 125: Line 138:
entry.abbrsuffix = entry.abbrsuffix or entry.name
entry.abbrsuffix = entry.abbrsuffix or entry.name
entry.bannerprefix = entry.bannerprefix or entry.name
entry.bannerprefix = entry.bannerprefix or entry.name
entry.banneralt = entry.banneralt or entry.bannerprefix
entry.aux = entry.aux or format("[[%s route]]", entry.name)
entry.aux = entry.aux or format("[[%s route]]", entry.name)
end
end
Line 168: Line 182:
[5] = "[[Future Interstate Highways|Future]]"
[5] = "[[Future Interstate Highways|Future]]"
},
},
aux = {
hook = "splitlen",
split = 3,
above = USA[" aux "].Aux,
below = ""
}
}
}


for _,auxType in ipairs({"Alt", "Express", "Future", "Local", "Toll", "Temp"}) do
for _,auxType in ipairs({"Alt", "Express", "Future", "Local", "Spur", "Temp", "Toll", "Truck"}) do
local spec = USA[" aux "][auxType]
local spec = USA[" aux "][auxType]
USA["I-" .. auxType] = {
USA["I-" .. auxType] = {
shield = {
shield = USA.I.shield,
shieldmain = USA.I.shieldmain,
arg = auxType,
name = USA.I.name .. " " .. spec.name,
["Future"] = "I-%route% (Future).svg",
default = USA.I.shield
},
name = {
arg = auxType,
["Temp"] = spec.name .. " " .. USA.I.name,
default = USA.I.name .. " " .. spec.name
},
link = USA.I.base .. " " .. spec.name .. USA[" dab "],
link = USA.I.base .. " " .. spec.name .. USA[" dab "],
abbr = USA.I.abbr .. " " .. spec.abbrsuffix,
abbr = {
banner = spec.name .. " plate blue.svg",
arg = auxType,
["Future"] = spec.abbrsuffix .. " " .. USA.I.abbr,
["Temp"] = spec.abbrsuffix .. " " .. USA.I.abbr,
default = USA.I.abbr .. " " .. spec.abbrsuffix
},
banner = {
arg = auxType,
["Alt"] = {
arg = "state",
default = "Alternate plate blue.svg",
["DE"] = "Alt plate blue.svg",
["FL"] = "Alt plate blue.svg",
["KS"] = "Alt plate blue.svg",
["MS"] = "Alt plate blue.svg",
["NV"] = "Alt plate blue.svg",
["NJ"] = "Alt plate blue.svg",
["OH"] = "Alt plate blue.svg",
["OK"] = "Alt plate blue.svg",
["SC"] = "Alt plate blue.svg",
["WV"] = "Alt plate blue.svg",
["DC"] = "Alt plate blue.svg",
},
["Express"] = spec.bannerprefix .. " plate yellow.svg",
["Future"] = "",
["Local"] = spec.bannerprefix .. " plate yellow.svg",
["Toll"] = spec.bannerprefix .. " plate yellow.svg",
default = spec.bannerprefix .. " plate blue.svg"
},
bannersuffix = USA.I.bannersuffix,
bannersuffix = USA.I.bannersuffix,
aux = spec.aux,
aux = spec.aux,
Line 218: Line 204:
}
}
end
end

USA["I-Future"].shield = "I-%route% (Future).svg"
USA["I-Future"].shieldmain = "I-%route% (Future).svg"
USA["I-Future"].name = "Future " .. USA.I.name
USA["I-Temp"].name = "Temporary " .. USA.I.name
USA["I-Future"].abbr = "Future " .. USA.I.abbr
USA["I-Temp"].abbr = "Temp. " .. USA.I.name
USA["I-Express"].banner = "Express plate yellow.svg"
USA["I-Future"].banner = ""
USA["I-Local"].banner = "Local plate yellow.svg"
USA["I-Toll"].banner = "Toll plate yellow.svg"

USA.Future = USA["I-Future"]
USA.Future = USA["I-Future"]
USA["I-Temporary"] = USA["I-Temp"]
USA["I-Temporary"] = USA["I-Temp"]
Line 223: Line 221:
for _,year in ipairs({"1957", "1961"}) do
for _,year in ipairs({"1957", "1961"}) do
USA["I " .. year] = {
USA["I " .. year] = {
shield = format("I-%%route%% (%s).svg", year),
shield = {
arg = "state",
shieldmain = format("I-%%route%% ([%%state%%||%%state%% |]%s).svg", year),
default = format("I-%%route%% (%s).svg", year),
["AK"] = format("I-A%%route%% (%s).svg", year),
["HI"] = format("I-H%%route%% (%s).svg", year)
},
shieldmain = {
arg = "state",
default = format("I-%%route%% (%s).svg", year),
["AL"] = format("I-%%route%% (AL %s).svg", year),
["AK"] = format("I-A%%route%% (AK %s).svg", year),
["AZ"] = format("I-%%route%% (AZ %s).svg", year),
["AR"] = format("I-%%route%% (AR %s).svg", year),
["CA"] = format("I-%%route%% (CA %s).svg", year),
["CO"] = format("I-%%route%% (CO %s).svg", year),
["CT"] = format("I-%%route%% (CT %s).svg", year),
["DE"] = format("I-%%route%% (DE %s).svg", year),
["DC"] = format("I-%%route%% (DC %s).svg", year),
["FL"] = format("I-%%route%% (FL %s).svg", year),
["GA"] = format("I-%%route%% (GA %s).svg", year),
["HI"] = format("I-H%%route%% (HI %s).svg", year),
["ID"] = format("I-%%route%% (ID %s).svg", year),
["IL"] = format("I-%%route%% (IL %s).svg", year),
["IN"] = format("I-%%route%% (IN %s).svg", year),
["IA"] = format("I-%%route%% (IA %s).svg", year),
["KS"] = format("I-%%route%% (KS %s).svg", year),
["KY"] = format("I-%%route%% (KY %s).svg", year),
["LA"] = format("I-%%route%% (LA %s).svg", year),
["ME"] = format("I-%%route%% (ME %s).svg", year),
["MD"] = format("I-%%route%% (MD %s).svg", year),
["MA"] = format("I-%%route%% (MA %s).svg", year),
["MI"] = format("I-%%route%% (MI %s).svg", year),
["MN"] = format("I-%%route%% (MN %s).svg", year),
["MS"] = format("I-%%route%% (MS %s).svg", year),
["MO"] = format("I-%%route%% (MO %s).svg", year),
["MT"] = format("I-%%route%% (MT %s).svg", year),
["NE"] = format("I-%%route%% (NE %s).svg", year),
["NV"] = format("I-%%route%% (NV %s).svg", year),
["NH"] = format("I-%%route%% (NH %s).svg", year),
["NJ"] = format("I-%%route%% (NJ %s).svg", year),
["NM"] = format("I-%%route%% (NM %s).svg", year),
["NY"] = format("I-%%route%% (NY %s).svg", year),
["NC"] = format("I-%%route%% (NC %s).svg", year),
["ND"] = format("I-%%route%% (ND %s).svg", year),
["OH"] = format("I-%%route%% (OH %s).svg", year),
["OK"] = format("I-%%route%% (OK %s).svg", year),
["OR"] = format("I-%%route%% (OR %s).svg", year),
["PA"] = format("I-%%route%% (PA %s).svg", year),
["RI"] = format("I-%%route%% (RI %s).svg", year),
["SC"] = format("I-%%route%% (SC %s).svg", year),
["SD"] = format("I-%%route%% (SD %s).svg", year),
["TN"] = format("I-%%route%% (TN %s).svg", year),
["TX"] = format("I-%%route%% (TX %s).svg", year),
["UT"] = format("I-%%route%% (UT %s).svg", year),
["VT"] = format("I-%%route%% (VT %s).svg", year),
["VA"] = format("I-%%route%% (VA %s).svg", year),
["WA"] = format("I-%%route%% (WA %s).svg", year),
["WV"] = format("I-%%route%% (WV %s).svg", year),
["WI"] = format("I-%%route%% (WI %s).svg", year),
["WY"] = format("I-%%route%% (WY %s).svg", year),
},
base = USA.I.base,
base = USA.I.base,
name = USA.I.name,
name = USA.I.name,
Line 234: Line 291:
USA.BL = {
USA.BL = {
shield = "Business Loop %route%.svg",
shield = "Business Loop %route%.svg",
shieldmain = "Business Loop %route%.svg",
name = USA.I.name .. " Business",
name = USA.I.name .. " Business",
link = USA.I.base .. " Business" .. USA[" dab "],
link = USA.I.base .. " Business" .. USA[" dab "],
Line 244: Line 300:
USA.BS = {
USA.BS = {
shield = "Business Spur %route%.svg",
shield = "Business Spur %route%.svg",
shieldmain = "Business Spur %route%.svg",
name = USA.BL.name,
name = USA.BL.name,
link = USA.BL.link,
link = USA.BL.link,
Line 266: Line 321:
abbr = USA.BS.abbr,
abbr = USA.BS.abbr,
aux = USA.BS.aux,
aux = USA.BS.aux,
}

USA.BLBS = {
shield = {USA.BL.shield, USA.BS.shield},
name = USA.I.name .. " Business",
link = USA.I.base .. " Business" .. USA[" dab "],
abbr = USA.I.abbr .. " Bus.",
aux = "[[List of business routes of the Interstate Highway System|Business route]]",
width = "expand"
}
}


Line 302: Line 366:
}
}


for _,auxType in ipairs({"Alt", "Bus", "Byp", "Conn", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do
for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Detour", "Emerg", "Future", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do
local spec = USA[" aux "][auxType]
local spec = USA[" aux "][auxType]
USA["US-" .. auxType] = {
USA["US-" .. auxType] = {
Line 309: Line 373:
link = USA.US.base .. " " .. spec.name .. USA[" dab "],
link = USA.US.base .. " " .. spec.name .. USA[" dab "],
abbr = USA.US.abbr .. " " .. spec.abbrsuffix,
abbr = USA.US.abbr .. " " .. spec.abbrsuffix,
banner = {
banner = spec.bannerprefix .. " plate.svg",
arg = auxType,
["Alt"] = {
arg = "state",
default = "Alternate plate.svg",
["DE"] = "Alt plate.svg",
["FL"] = "Alt plate.svg",
["KS"] = "Alt plate.svg",
["MS"] = "Alt plate.svg",
["NV"] = "Alt plate.svg",
["NJ"] = "Alt plate.svg",
["OH"] = "Alt plate.svg",
["OK"] = "Alt plate.svg",
["SC"] = "Alt plate.svg",
["WV"] = "Alt plate.svg",
["DC"] = "Alt plate.svg",
},
["Toll"] = "Toll plate yellow.svg",
default = spec.bannerprefix .. " plate.svg"
},
aux = spec.aux,
aux = spec.aux,
width = "expand"
width = "expand"
}
}
end
end
USA["US-Toll"].banner = "Toll plate yellow.svg"
USA["US-City"].name = "City " .. USA.US.name
USA["US-City"].abbr = "City " .. USA.US.name
USA["US-Temp"].name = "Temporary " .. USA.US.name
USA["US-Temp"].abbr = "Temp. " .. USA.I.name


USA["US-Hist"] = {
USA["US-Hist"] = {
shield = "US %route% ([state||(%state% historic)|historic]).svg",
shield = "[state||US %route% (%state% historic).svg|US %route% (historic).svg]",
name = "Historic " .. USA.US.name,
name = "Historic " .. USA.US.name,
link = USA.US.base .. USA[" dab "],
link = USA.US.base .. USA[" dab "],
Line 347: Line 397:
shield = format("US %%route%% (%s).svg", year),
shield = format("US %%route%% (%s).svg", year),
shieldmain = {
shieldmain = {
arg = state,
ifexist = true,
arg = "state",
default = format("US %%route%% (%s)", year),
otherwise = format("US %%route%% (%s)", year),
["AL"] = format("US %%route%% Alabama %s.svg", year),
["AL"] = format("US %%route%% Alabama %s.svg", year),
["AK"] = format("US %%route%% Alaska %s.svg", year),
["AZ"] = format("US %%route%% Arizona %s.svg", year),
["AZ"] = format("US %%route%% Arizona %s.svg", year),
["AR"] = format("US %%route%% Arkansas %s.svg", year),
["AR"] = format("US %%route%% Arkansas %s.svg", year),
Line 429: Line 479:
abbr = "FFH %route%",
abbr = "FFH %route%",
color = "hist",
color = "hist",
bannersuffix = "brown"
bannersuffix = "brown",
nbrowse = "[[Forest Highway|Forest Highway System]]"
}
}
Line 438: Line 489:
abbr = "FH %route%",
abbr = "FH %route%",
color = "hist",
color = "hist",
bannersuffix = "brown"
bannersuffix = "brown",
nbrowse = "[[Forest Highway|Forest Highway System]]"
}
}


Line 447: Line 499:
abbr = "FR %route%",
abbr = "FR %route%",
color = "hist",
color = "hist",
bannersuffix = "brown"
bannersuffix = "brown",
nbrowse = "[[Forest Highway|Forest Highway System]]"
}
}

for k, v in pairs(USA) do if k:find ("^F") then
v.nbrowse = "[[Forest Highway|Forest Highway System]]"
end
end


USA.NSB = {
USA.NSB = {

Revision as of 20:37, 23 October 2021

--[==[
To inspect the content of this data module, use [[Special:ExpandTemplates]]
and enter the following input text:
  {{#invoke:Road data/dump|dump|module=Module:<name-of-this-module>}}

To inspect the content of this data module when editing, enter the following
into the Debug console:
  local util = require("Module:Road data/util")
  print(util.arrayToString(p))
To inspect a particular route type, change `p` above to include the route type,
e.g., `p.I` and `p["US-Hist"]`.
]==]

-- United States
local USA = {}

local util = require("Module:Road data/util")
local format = mw.ustring.format

--[[ REGION-SPECIFIC SETTINGS ]]--
USA[" common "] = {
	country = "United States",
	locations = {
		indep_city = {
			linksuffix = ", %region%",
			prefix = "[[Independent city (United States)|City]] of ",
			jcttoparticle = "the "
		},
		sub1 = {
			linksuffix = " County, %region%",
			jcttopnamesuffix = " County"
		},
		sub2 = {
			linksuffix = "[sub1dab||, %sub1dab% County|], %region%"
		},
		sub2areas = {
			city = {
				linksuffix = " (city)",
				jcttoparticle = "the ",
				nameprefix = "City of "
			},
			town = {
				linksuffix = " (town)",
				jcttoparticle = "the ",
				nameprefix = "Town of "
			},
			township = {
				linksuffix = " Township",
				namesuffix = " Township",
			},
			village = {
				linksuffix = " (village)",
				jcttoparticle = "the ",
				nameprefix = "Village of "
			}
		}
	}
}

--[[ ROUTE TYPES ]]--
-- disambiguation switch
USA[" dab "] = "[dab|| (%dab%)|]"

-- definitions for auxiliary routes
USA[" aux "] = {
	Alt = {
		name = "Alternate",
		abbrsuffix = "Alt.",
		arksuffix = "A",
		banneralt = "Alt",
	},
	Aux = {
		name = "Auxiliary",
		aux = "[[List of auxiliary Interstate Highways|Auxiliary route]]"
	},
	Bus = {
		name = "Business",
		abbrsuffix = "Bus.",
		arksuffix = "B"
	},
	Byp = {
		name = "Bypass",
		abbrsuffix = "Byp.",
		bannerprefix = "By-pass",
		aux = "[[Bypass (road)|Bypass]]"
	},
	City = {
		name = "City",
		arksuffix = "C"
	},
	Conn = {
		name = "Connector",
		abbrsuffix = "Conn.",
		arksuffix = "Y"
	},
	Detour = {
		name = "Detour",
		aux = "[[Detour (road)|Detour]]"
	},
	Emerg = {
		name = "Emergency",
		abbrsuffix = "Emerg."
	},
	Express = {
		name = "Express",
		aux = "Express route"
	},
	Future = {
		name = "Future",
		aux = "Future routing"
	},
	Local = {
		name = "Local",
		aux = "Local route"
	},
	Loop = {name = "Loop"},
	Opt = {
		name = "Optional",
		abbrsuffix = "Opt."
	},
	Scenic = {name = "Scenic"},
	Spur = {
		name = "Spur",
		arksuffix = "S"
	},
	Temp = {
		name = "Temporary",
		abbrsuffix = "Temp."
	},
	Toll = {name = "Toll"},
    Truck = {
        name = "Truck",
        arksuffix = "T"
    },
}
-- fill out default values
for _,entry in pairs(USA[" aux "]) do
	entry.abbrsuffix = entry.abbrsuffix or entry.name
	entry.bannerprefix =  entry.bannerprefix or entry.name
	entry.banneralt =  entry.banneralt or entry.bannerprefix
	entry.aux = entry.aux or format("[[%s route]]", entry.name)
end

USA.I = {
	base = "Interstate %route%",
	shield = "I-%route%.svg",
	shieldmain= {
		arg = "state",
		["AK"] = "I-A%route%.svg",
		["AL"] = "I-%route% (AL).svg",
		["AR"] = "I-%route% (AR).svg",
		["AZ"] = "I-%route% (AZ).svg",
		["CA"] = "I-%route% (CA).svg",
		["HI"] = "I-H%route%.svg",
		["IA"] = "I-%route% (IA).svg",
		["KS"] = "I-%route% (KS).svg",
		["MT"] = "I-%route% (big).svg",
		["NJ"] = "I-%route% (NJ).svg",
		["NM"] = "I-%route% (NM).svg",
		["NV"] = "I-%route% (NV).svg",
		["NY"] = "I-%route% (long).svg",
		["OK"] = "I-%route% (OK).svg",
		["PR"] = "I-PR%route%.svg",
		["SC"] = "I-%route% (SC).svg",
		["TX"] = "I-%route% (TX).svg",
		["UT"] = "I-%route% (UT).svg",
		["WV"] = "I-%route% (WV).svg",
		["WY"] = "I-%route% (WY).svg",
		default = "I-%route%.svg"
	},
	name = "Interstate %route%",
	link = "Interstate %route%" .. USA[" dab "],
	abbr = "I-%route%",
	width = "expand",
	bannersuffix = "blue",
	nbrowse = "[[Interstate Highway System]]",
	nbrowselinks = {
		[1] = "[[List of Interstate Highways|Main]]",
		[2] = "[[List of auxiliary Interstate Highways|Auxiliary]]",
		[3] = "[[List of suffixed Interstate Highways|Suffixed]]",
		[4] = "[[List of business routes of the Interstate Highway System|Business]]",
		[5] = "[[Future Interstate Highways|Future]]"
	},
	aux = {
		hook = "splitlen",
		split = 3,
		above = USA[" aux "].Aux,
		below = ""
	}
}

for _,auxType in ipairs({"Alt", "Express", "Future", "Local", "Spur", "Temp", "Toll", "Truck"}) do
	local spec = USA[" aux "][auxType]
	USA["I-" .. auxType] = {
		shield = USA.I.shield,
		shieldmain = USA.I.shieldmain,
		name = USA.I.name .. " " .. spec.name,
		link = USA.I.base .. " " .. spec.name .. USA[" dab "],
		abbr = USA.I.abbr .. " " .. spec.abbrsuffix,
		banner = spec.name .. " plate blue.svg",
		bannersuffix = USA.I.bannersuffix,
		aux = spec.aux,
		width = "expand"
	}
end

USA["I-Future"].shield = "I-%route% (Future).svg"
USA["I-Future"].shieldmain = "I-%route% (Future).svg"
USA["I-Future"].name = "Future " .. USA.I.name
USA["I-Temp"].name = "Temporary " .. USA.I.name
USA["I-Future"].abbr = "Future " .. USA.I.abbr
USA["I-Temp"].abbr = "Temp. " .. USA.I.name
USA["I-Express"].banner = "Express plate yellow.svg"
USA["I-Future"].banner = ""
USA["I-Local"].banner = "Local plate yellow.svg"
USA["I-Toll"].banner = "Toll plate yellow.svg"

USA.Future = USA["I-Future"]
USA["I-Temporary"] = USA["I-Temp"]

for _,year in ipairs({"1957", "1961"}) do
	USA["I " .. year] = {
		shield = {
			arg = "state",
			default = format("I-%%route%% (%s).svg", year),
			["AK"] = format("I-A%%route%% (%s).svg", year),
			["HI"] = format("I-H%%route%% (%s).svg", year)
		},
		shieldmain = {
			arg = "state",
			default = format("I-%%route%% (%s).svg", year),
			["AL"] = format("I-%%route%% (AL %s).svg", year),
			["AK"] = format("I-A%%route%% (AK %s).svg", year),
			["AZ"] = format("I-%%route%% (AZ %s).svg", year),
			["AR"] = format("I-%%route%% (AR %s).svg", year),
			["CA"] = format("I-%%route%% (CA %s).svg", year),
			["CO"] = format("I-%%route%% (CO %s).svg", year),
			["CT"] = format("I-%%route%% (CT %s).svg", year),
			["DE"] = format("I-%%route%% (DE %s).svg", year),
			["DC"] = format("I-%%route%% (DC %s).svg", year),
			["FL"] = format("I-%%route%% (FL %s).svg", year),
			["GA"] = format("I-%%route%% (GA %s).svg", year),
			["HI"] = format("I-H%%route%% (HI %s).svg", year),
			["ID"] = format("I-%%route%% (ID %s).svg", year),
			["IL"] = format("I-%%route%% (IL %s).svg", year),
			["IN"] = format("I-%%route%% (IN %s).svg", year),
			["IA"] = format("I-%%route%% (IA %s).svg", year),
			["KS"] = format("I-%%route%% (KS %s).svg", year),
			["KY"] = format("I-%%route%% (KY %s).svg", year),
			["LA"] = format("I-%%route%% (LA %s).svg", year),
			["ME"] = format("I-%%route%% (ME %s).svg", year),
			["MD"] = format("I-%%route%% (MD %s).svg", year),
			["MA"] = format("I-%%route%% (MA %s).svg", year),
			["MI"] = format("I-%%route%% (MI %s).svg", year),
			["MN"] = format("I-%%route%% (MN %s).svg", year),
			["MS"] = format("I-%%route%% (MS %s).svg", year),
			["MO"] = format("I-%%route%% (MO %s).svg", year),
			["MT"] = format("I-%%route%% (MT %s).svg", year),
			["NE"] = format("I-%%route%% (NE %s).svg", year),
			["NV"] = format("I-%%route%% (NV %s).svg", year),
			["NH"] = format("I-%%route%% (NH %s).svg", year),
			["NJ"] = format("I-%%route%% (NJ %s).svg", year),
			["NM"] = format("I-%%route%% (NM %s).svg", year),
			["NY"] = format("I-%%route%% (NY %s).svg", year),
			["NC"] = format("I-%%route%% (NC %s).svg", year),
			["ND"] = format("I-%%route%% (ND %s).svg", year),
			["OH"] = format("I-%%route%% (OH %s).svg", year),
			["OK"] = format("I-%%route%% (OK %s).svg", year),
			["OR"] = format("I-%%route%% (OR %s).svg", year),
			["PA"] = format("I-%%route%% (PA %s).svg", year),
			["RI"] = format("I-%%route%% (RI %s).svg", year),
			["SC"] = format("I-%%route%% (SC %s).svg", year),
			["SD"] = format("I-%%route%% (SD %s).svg", year),
			["TN"] = format("I-%%route%% (TN %s).svg", year),
			["TX"] = format("I-%%route%% (TX %s).svg", year),
			["UT"] = format("I-%%route%% (UT %s).svg", year),
			["VT"] = format("I-%%route%% (VT %s).svg", year),
			["VA"] = format("I-%%route%% (VA %s).svg", year),
			["WA"] = format("I-%%route%% (WA %s).svg", year),
			["WV"] = format("I-%%route%% (WV %s).svg", year),
			["WI"] = format("I-%%route%% (WI %s).svg", year),
			["WY"] = format("I-%%route%% (WY %s).svg", year),
			},
		base = USA.I.base,
		name = USA.I.name,
		link = USA.I.link,
		abbr = USA.I.abbr,
	}
end

USA.BL = {
	shield = "Business Loop %route%.svg",
	name = USA.I.name .. " Business",
	link = USA.I.base .. " Business" .. USA[" dab "],
	abbr = USA.I.abbr .. " BL",
	aux = "[[List of business routes of the Interstate Highway System|Business route]]",
	width = "expand"
}

USA.BS = {
	shield = "Business Spur %route%.svg",
	name = USA.BL.name,
	link = USA.BL.link,
	abbr = USA.I.abbr .. " BS",
	aux = USA.BL.aux,
	width = "expand"
}

USA["BL 1957"] = {
	shield = "Business Loop %route% (1957).svg",
	name = USA.BL.name,
	link = USA.BL.link,
	abbr = USA.BL.abbr,
	aux = USA.BL.aux,
}

USA["BS 1957"] = {
	shield = "Business Spur %route% (1957).svg",
	name = USA.BS.name,
	link = USA.BS.link,
	abbr = USA.BS.abbr,
	aux = USA.BS.aux,
}

USA.BLBS = {
	shield = {USA.BL.shield, USA.BS.shield},
	name = USA.I.name .. " Business",
	link = USA.I.base .. " Business" .. USA[" dab "],
	abbr = USA.I.abbr .. " Bus.",
	aux = "[[List of business routes of the Interstate Highway System|Business route]]",
	width = "expand"
}

for k, v in pairs(USA) do if k:find ("^%a") then 
	v.nbrowse = USA.I.nbrowse
	v.nbrowselinks = USA.I.nbrowselinks
	end
end


USA.US = {
	base = "U.S. Route %route%",
	shield = {
		arg = "state",
		["CA"] = "US %route% (1961 cutout).svg",
		default = "US %route%.svg"
	},
	shieldmain = {
		arg = "state",
		["CA"] = "US %route% (1961 cutout).svg",
		default = {
			["85"] = {"US %route%.svg", "CanAm Highway.svg"},
			default = "US %route%.svg"
		}
	},
	name = "U.S. Route %route%",
	link = "U.S. Route %route%" .. USA[" dab "],
	abbr = "US&nbsp;%route%",
	width = "expand",
	nbrowse = "[[United States Numbered Highway System]]",
	nbrowselinks = {
		[1] = "[[List of United States Numbered Highways|Main]]",
		[2] = "[[List of special routes of the United States Numbered Highway System|Special]]",
		[3] = "[[List of divided U.S. Routes|Divided]]"
	}
}

for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Detour", "Emerg", "Future", "Opt", "Scenic", "Spur", "Temp", "Toll", "Truck"}) do
	local spec = USA[" aux "][auxType]
	USA["US-" .. auxType] = {
		shield = USA.US.shield,
		name = USA.US.name .. " " .. spec.name,
		link = USA.US.base .. " " .. spec.name .. USA[" dab "],
		abbr = USA.US.abbr .. " " .. spec.abbrsuffix,
		banner = spec.bannerprefix .. " plate.svg",
		aux = spec.aux,
		width = "expand"
	}
end
USA["US-Toll"].banner = "Toll plate yellow.svg"
USA["US-City"].name = "City " .. USA.US.name
USA["US-City"].abbr = "City " .. USA.US.name
USA["US-Temp"].name = "Temporary " .. USA.US.name
USA["US-Temp"].abbr = "Temp. " .. USA.I.name

USA["US-Hist"] = {
	shield = "[state||US %route% (%state% historic).svg|US %route% (historic).svg]",
	name = "Historic " .. USA.US.name,
	link = USA.US.base .. USA[" dab "],
	abbr = "Historic " .. USA.US.abbr .. USA[" dab "],
	orientation = "upright",
	color = "hist"
}

for _,year in ipairs({"1926", "1948"}) do
	USA["US " .. year] = {
		shield = format("US %%route%% (%s).svg", year),
		shieldmain = {
			ifexist = true,
			arg = "state",
			otherwise = format("US %%route%% (%s)", year),
			["AL"] = format("US %%route%% Alabama %s.svg", year),
			["AZ"] = format("US %%route%% Arizona %s.svg", year),
			["AR"] = format("US %%route%% Arkansas %s.svg", year),
			["CA"] = format("US %%route%% California %s.svg", year),
			["CO"] = format("US %%route%% Colorado %s.svg", year),
			["CT"] = format("US %%route%% Connecticut %s.svg", year),
			["DE"] = format("US %%route%% Delaware %s.svg", year),
			["DC"] = format("US %%route%% District of Columbia %s.svg", year),
			["FL"] = format("US %%route%% Florida %s.svg", year),
			["GA"] = format("US %%route%% Georgia %s.svg", year),
			["ID"] = format("US %%route%% Idaho %s.svg", year),
			["IL"] = format("US %%route%% Illinois %s.svg", year),
			["IN"] = format("US %%route%% Indiana %s.svg", year),
			["IA"] = format("US %%route%% Iowa %s.svg", year),
			["KS"] = format("US %%route%% Kansas %s.svg", year),
			["KY"] = format("US %%route%% Kentucky %s.svg", year),
			["LA"] = format("US %%route%% Louisiana %s.svg", year),
			["ME"] = format("US %%route%% Maine %s.svg", year),
			["MD"] = format("US %%route%% Maryland %s.svg", year),
			["MA"] = format("US %%route%% Massachusetts %s.svg", year),
			["MI"] = format("US %%route%% Michigan %s.svg", year),
			["MN"] = format("US %%route%% Minnesota %s.svg", year),
			["MS"] = format("US %%route%% Mississippi %s.svg", year),
			["MO"] = format("US %%route%% Missouri %s.svg", year),
			["MT"] = format("US %%route%% Montana %s.svg", year),
			["NE"] = format("US %%route%% Nebraska %s.svg", year),
			["NV"] = format("US %%route%% Nevada %s.svg", year),
			["NH"] = format("US %%route%% New Hampshire %s.svg", year),
			["NJ"] = format("US %%route%% New Jersey %s.svg", year),
			["NM"] = format("US %%route%% New Mexico %s.svg", year),
			["NY"] = format("US %%route%% New York %s.svg", year),
			["NC"] = format("US %%route%% North Carolina %s.svg", year),
			["ND"] = format("US %%route%% North Dakota %s.svg", year),
			["OH"] = format("US %%route%% Ohio %s.svg", year),
			["OK"] = format("US %%route%% Oklahoma %s.svg", year),
			["OR"] = format("US %%route%% Oregon %s.svg", year),
			["PA"] = format("US %%route%% Pennsylvania %s.svg", year),
			["RI"] = format("US %%route%% Rhode Island %s.svg", year),
			["SC"] = format("US %%route%% South Carolina %s.svg", year),
			["SD"] = format("US %%route%% South Dakota %s.svg", year),
			["TN"] = format("US %%route%% Tennessee %s.svg", year),
			["TX"] = format("US %%route%% Texas %s.svg", year),
			["UT"] = format("US %%route%% Utah %s.svg", year),
			["VT"] = format("US %%route%% Vermont %s.svg", year),
			["VA"] = format("US %%route%% Virginia %s.svg", year),
			["WA"] = format("US %%route%% Washington %s.svg", year),
			["WV"] = format("US %%route%% West Virginia %s.svg", year),
			["WI"] = format("US %%route%% Wisconsin %s.svg", year),
			["WY"] = format("US %%route%% Wyoming %s.svg", year)
		},
		base = USA.US.base,
		name = USA.US.name,
		link = USA.US.link,
		abbr = USA.US.abbr,
		width = "square"
	}
end

USA["US 1961"] = {
	shield = "US %route% (1961).svg",
	base = USA.US.base,
	name = USA.US.name,
	link = USA.US.link,
	abbr = USA.US.abbr,
	width = "square"
}

for k, v in pairs(USA) do if k:find ("^US") then 
	v.nbrowse = USA.US.nbrowse
	v.nbrowselinks = USA.US.nbrowselinks
	end
end

USA.FFH = {
	shield = "Forest Route %route%.svg",
	name = "Federal Forest Highway %route%",
	link = "Forest Highway %route%",
	abbr = "FFH&nbsp;%route%",
	color = "hist",
	bannersuffix = "brown",
	nbrowse = "[[Forest Highway|Forest Highway System]]"
}
 
USA.FH = {
	shield = "Forest Route %route%.svg",
	name = "Forest Highway %route%",
	link = "Forest Highway %route%",
	abbr = "FH&nbsp;%route%",
	color = "hist",
	bannersuffix = "brown",
	nbrowse = "[[Forest Highway|Forest Highway System]]"
}

USA.FR = {
	shield = "Forest Route %route%.svg",
	name = "Forest Route %route%",
	link = "Forest Highway %route%",
	abbr = "FR&nbsp;%route%",
	color = "hist",
	bannersuffix = "brown",
	nbrowse = "[[Forest Highway|Forest Highway System]]"
}

USA.NSB = {
	shield = "MUTCD D6-4.svg",
	name = "%route%",
	link = "%route%",
	abbr = "%route%",
	color = "hist",
	nbrowse = "[[Scenic byways in the United States|Scenic Byways]]",
	nbrowselinks = {
		[1] = "[[National Scenic Byway|National]]",
		[2] = "[[National Forest Scenic Byway|National Forest]]",
		[3] = "[[Bureau of Land Management Back Country Byway|BLM]]",
		[4] = "[[National Parkway|NPS]]",
	}
}
USA.NFSB = USA.NSB
USA.FSB = USA.NSB

USA.ADHS = {
	shield = "",
	name = "%route%",
	link = "%route%",
	abbr = "%route%",
	nbrowse = "[[Appalachian Development Highway System]]"
}

USA.ISTEA = {
	shield = "",
	name = "%route%",
	link = "%route%",
	abbr = "%route%",
	nbrowse = "[[Intermodal Surface Transportation Efficiency Act|High-Priority Corridors]]"
}

USA.NHS = {
	shield = "",
	name = "%route%",
	link = "%route%",
	abbr = "%route%",
	nbrowse = "[[National Highway System (United States)|National Highway System]]",
	nbrowselinks = {
		[1] = "[[Interstate Highway System|Interstates]]",
		[2] = "[[Strategic Highway Network|STRAHNET]]"
	}
}

USA.Post = {
	shield = "",
	name = "%route%",
	link = "%route%",
	abbr = "%route%",
	color = "hist",
	nbrowse = "[[Post_road#United_States|Post Roads in the United States]]"
}
USA.Postal = USA.Post

USA.CR = {
	shield = "CR %route% jct.svg",
	shieldmain = "[county||%county% |]County %route%.svg",
	base = "County Road %route%",
	name = "County Road %route%",
	link = "",
	abbr = "CR %route%"
}

USA.road = {
	shield = '',
	shieldmain = '',
	name = "%route%",
	link = '',
	abbr = "%route%",
}
			  
-- https://mutcd.fhwa.dot.gov/resources/interim_approval/ialistreq.htm#ia15
USA.USBR = {
	shield = {
		arg = "state",
		["AZ"] = "US Bike %route% (M1-9 IA-15).svg",
		["CA"] = "US Bike %route% (M1-9 IA-15).svg",
		["GA"] = "US Bike %route% (M1-9 IA-15).svg",
		["ID"] = "US Bike %route% (M1-9 IA-15).svg",
		["IL"] = "US Bike %route% (M1-9 IA-15).svg",
		["IN"] = "US Bike %route% (M1-9 IA-15).svg",
		["KY"] = "US Bike %route% (M1-9 IA-15).svg",
		["MD"] = "US Bike %route% (M1-9 IA-15).svg",
		["MI"] = "US Bike %route% (M1-9 IA-15).svg",
		["MO"] = "US Bike %route% (M1-9 IA-15).svg",
		["OH"] = "US Bike %route% (M1-9 IA-15).svg",
		["TN"] = "US Bike %route% (M1-9 IA-15).svg",
		["UT"] = "US Bike %route% (M1-9 IA-15).svg",
		["VA"] = "US Bike %route% (M1-9 IA-15).svg",
		["WV"] = "US Bike %route% (M1-9 IA-15).svg",
		default = "US Bike %route% (M1-9).svg"
	},
	name = "U.S. Bicycle Route %route%",
	link = "U.S. Bicycle Route %route%" .. USA[" dab "],
	abbr = "USBR %route%",
	orientation = "upright",
	nbrowse = "[[United States Bicycle Route System]]",
	nbrowselinks = "[[United States Bicycle Route System#List of routes and planned corridors|List]]"
}

util.addAll(USA, require("Module:Road data/strings/USA/regional/GRR"))
util.addAll(USA, require("Module:Road data/strings/USA/regional/NER"))
util.addAll(USA, require("Module:Road data/strings/USA/regional/Tour"))
util.addAll(USA, require("Module:Road data/strings/USA/regional/Trails"))

return USA