Module:Road data/strings/USA

--[==[ To inspect the content of this data module, use Special:ExpandTemplates and enter the following input text:

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 = "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 = "Auxiliary route" },	Bus = { name = "Business", abbrsuffix = "Bus.", arksuffix = "B" },	Byp = { name = "Bypass", abbrsuffix = "Byp.", bannerprefix = "By-pass", aux = "Bypass" },	City = { name = "City", arksuffix = "C" },	Conn = { name = "Connector", abbrsuffix = "Conn.", arksuffix = "Y" },	Detour = { name = "Detour", aux = "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"}, Old = {name = "Old"}, 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", 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["I-named"] = { shield = "", name = "%route%", link = "%route%", abbr = "%route%", }

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 = "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 = "Business route", width = "expand" }

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 %route%", width = "expand", color = { arg = "route", ["66"] = "hist" } }

for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Detour", "Emerg", "Future", "Old", "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.abbr USA["US-Temp"].name = "Temporary " .. USA.US.name USA["US-Temp"].abbr = "Temp. " .. USA.US.abbr

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 19%d%d") then v.color = { arg = "route", ["66"] = "hist" }	end end

USA["US-named"] = { shield = "", name = "%route%", link = "%route%", abbr = "%route%", }

USA.Byway = { shield = "", name = "%route%", link = "%route%", abbr = "%route%", color = "hist", bannersuffix = "brown", }

USA.Npkwy = { shield = "", shieldmain = "Logo of the United States National Park Service.svg", name = "%route%", link = "%route%", abbr = "%route%", color = "hist", bannersuffix = "brown", }

USA.BCB = { shield = "BLM Backcountry Byway.svg", name = "%route%", link = "%route%", abbr = "%route%", color = "hist", bannersuffix = "brown", } USA["Back Country"] = USA.BCB

USA["FH-named"] = { shield = "", name = "%route%", link = "%route%", abbr = "%route%", color = "hist", }

USA.FFH = { shield = "Forest Route %route%.svg", name = "Federal Forest Highway %route%", link = "Forest Highway %route%", abbr = "FFH %route%", color = "hist", bannersuffix = "brown", } USA.FH = { shield = "Forest Route %route%.svg", name = "Forest Highway %route%", link = "Forest Highway %route%", abbr = "FH %route%", color = "hist", bannersuffix = "brown" }

USA.FR = { shield = "Forest Route %route%.svg", name = "Forest Route %route%", link = "Forest Highway %route%", abbr = "FR %route%", color = "hist", bannersuffix = "brown" }

USA.NSB = { shield = "MUTCD D6-4.svg", name = "%route%", link = "%route%", abbr = "%route%", color = "hist" } USA.FSB = USA.NSB

USA.NFSB = { shield = "National Forest Scenic Byway.svg", name = "%route% National Forest Scenic Byway", link = "%route% National Forest Scenic Byway", abbr = "%route% National Forest Scenic Byway", color = "hist" }

USA.Scenic = { shield = "", name = "%route%", link = "%route%", abbr = "%route%", color = "hist" }

USA.ADHS = { shield = "", name = "%route%", link = "%route%", abbr = "%route%" }

USA.ISTEA = { shield = "", name = "%route%", link = "%route%", abbr = "%route%" }

USA.NHS = { shield = "", name = "%route%", link = "%route%", abbr = "%route%" }

USA.Post = { shield = "", name = "%route%", link = "%route%", abbr = "%route%", color = "hist" } 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 = '', 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 = { ["21"] = "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" }

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