Module:Road data/strings/USA/MO

Documentation for this module may be created at Module:Road data/strings/USA/MO/doc

--[==[
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))
]==]

--Missouri
local MO = require("Module:Road data/strings/USA")

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

local suffix = " ([dab||%dab%, |]Missouri)"
local maint = "[[Missouri Department of Transportation|MoDOT]]"

MO[" common "] = {
	browse = {
		{link = "Missouri State Highway System", bold = true},
		{
			noprint = true,
			{link = "List of Interstate Highways in Missouri", name = "Interstate"},
			{link = "List of U.S. Highways in Missouri", name = "U.S."},
			{link = "List of state highways in Missouri", name = "State"},
			{link = "Missouri supplemental route", name = "Supplemental"}
		}
	}
}

MO.I.link = {
	["72"] = "Interstate 72",
	["155"] = "Interstate 155 (Missouri–Tennessee)",
	["170"] = "Interstate 170",
	["244"] = "Interstate 270 (Missouri–Illinois)",
	["255"] = "Interstate 255",
	["270"] = "Interstate 270 (Missouri–Illinois)",
	["435"] = "Interstate 435",
	["635"] = "Interstate 635 (Kansas–Missouri)",
	["670"] = "Interstate 670 (Kansas–Missouri)",
	default = {
		hook = "split",
		split = 100,
		above = "Interstate %route% (Missouri)",
		below = "Interstate %route% in Missouri"
	}
}
			
MO.I.maint = maint
MO.BL.link = "Interstate %route% Business" .. suffix
MO.BS.link = "Interstate %route% Business" .. suffix
MO["I-Bus"] = MO.BL
MO["I-Future"].link = MO.I.link
MO.Future = MO["I-Future"]        

MO.US.link = "U.S. Route %route% in Missouri"
MO.US.maint = maint

for _,year in ipairs({"1926", "1948", "1961", "1978"}) do
	MO["US " .. year] = {
		shield = format("US %%route%% (%s).svg", year),
		shieldmain = format("US %%route%% Missouri %s.svg", year),
		base = MO.US.base,
		name = MO.US.name,
		link = MO.US.link,
		abbr = MO.US.abbr,
		width = "square",
	}
end

MO["US 1961"].shieldmain = "US %route% (1961).svg"
MO["US 1978"].shield = {
		hook = "splitlen",
		split = 3,
		above = "US %route% square.svg",
		below = "US %route%.svg"
	}
MO["US 1978"].shieldmain = {
		hook = "splitlen",
		split = 3,
		above = "US %route% square.svg",
		below = "US %route%.svg"
	}
MO["US 1978"].width = "square"

for _,type in ipairs({'US', 'US 1926', 'US 1948', 'US 1961'}) do
	for _,auxType in ipairs({"Alt", "Bus", "Byp", "City", "Conn", "Opt", "Scenic", "Spur", "Temp", "Truck"}) do
		local spec = MO[" aux "][auxType]
		MO[type .. "-" .. auxType] = {
			shield = MO[type].shield,
			shieldmain = MO[type].shieldmain,
			name = MO[type].name .. " " .. spec.name,
			link = MO[type].link .. " " .. spec.name .. suffix,
			abbr = MO[type].abbr .. " " .. spec.abbrsuffix,
			banner = spec.bannerprefix .. " plate.svg",
			aux = spec.aux,
			width = MO[type].width
		}
	end
end


MO["US-Hist"].shield = "US %route% (MO historic).svg"
MO["US-Hist"].link = MO.US.link

MO.Route = {
	base = "Missouri Route %route%",
	shield = "MO-%route%.svg",
	name = "Route %route%",
	link = "Missouri Route %route% [dab||(%dab%)|]",
	abbr = "Route&nbsp;%route%",
	width = "expand"
}

MO.MO = MO.Route

for _,year in ipairs({"1922", "1926", "1948", "1960"}) do
	MO["Route " .. year] = {
		shield = format("MO-%%route%% (%s).svg", year),
		shieldmain = format("MO-%%route%% (%s).svg", year),
		name = MO.Route.name,
		link = MO.Route.link,
		abbr = MO.Route.abbr,
		width = "square",
	}
end

MO["MO 1922"] = MO["Route 1922"]
MO["MO 1926"] = MO["Route 1926"]
MO["MO 1948"] = MO["Route 1948"]
MO["Route 1960"].shield = MO.Route.shield --until squares are made
MO["MO 1960"] = MO["Route 1960"]

MO["Route-Bus"] = {
	shield = MO.Route.shield,
	name = MO.Route.name.." Business",
	link = "Missouri Route %route% Business [dab||(%dab%)|]",
	abbr = MO.Route.abbr.." Bus.",
	banner = "Business plate.svg",
	width = "expand"
}
MO["MO-Bus"] = MO["Route-Bus"]
MO.Bus = MO["Route-Bus"]

MO["Route-Spur"] = {
	shield = MO.Route.shield,
	name = MO.Route.name.." Spur",
	link = "Missouri Route %route% Spur [dab||(%dab%)|]",
	abbr = MO.Route.abbr.." Spur",
	banner = "Spur plate.svg",
	width = "expand"
}
MO["MO-Spur"] = MO["Route-Spur"]
MO.Spur = MO["Route-Spur"]

MO["Route-Alt"] = {
	shield = MO.Route.shield,
	name = MO.Route.name.." Alternate",
	link = "Missouri Route %route% Alternate [dab||(%dab%)|]",
	abbr = MO.Route.abbr.." Alt.",
	banner = "Alternate plate.svg",
	width = "expand"
}

MO["MO-Alt"] = MO["Route-Alt"]

MO.Supp = {
	shield = "MO-supp-%route%.svg",
	name = MO.Route.name,
	link = {
		ifexists = true,
		default = "Missouri Route %route% (%county% County)"
	},
	abbr = MO.Route.abbr,
	width = "MOSupp"
}

MO.AOTS = {
	shield = {
		arg = "route",
		["27"] = "MO-27.svg",
		["61"] = "US 61.svg"
	},
	link = {
		arg = "route",
		["27"] = "Avenue of the Saints",
		["61"] = "U.S. Route 61 in Missouri"
	},
	abbr = {
		arg = "route",
		["27"] = "Route 27",
		["61"] = "US 61"
	},
	banner = "Avenue of the Saints banner.svg",
	width = "square"
}
MO["US-AOTS"] = MO.AOTS

MO.CKC = {
	shield = "MO-110.svg",
	name = "Chicago–Kansas City Expressway",
	link = "Chicago–Kansas City Expressway",
	abbr = "Route&nbsp;110 (CKC)",
	banner = "Chicago-Kansas City Expressway plate.svg",
	width = "wide"
}

MO.LCT = {
	shield = "Lewis and Clark Trail.png",
	name = "Lewis and Clark Trail",
	link = "Lewis and Clark Trail",
	abbr = "Lewis and Clark Trail"
}

MO.Branson = {
	shield = "Branson %route% Route.svg",
	name = "%route% Route",
	link = "",
	abbr = "%route% Route"
}

MO.CR.link = {
	ifexists = true,
	default = "County Road %route% (%county% County, Missouri)",
	otherwise = ""
}

MO.SRCR = {
	shield = MO.Route.shield,
	shieldmain = {MO.Route.shield, MO.CR.shieldmain},
	name = MO.Route.name,
	link = MO.Route.link,
	abbr = MO.Route.abbr
}

MO.AR = {alias = {module = "USA/AR", type = "AR"}}
MO.IL = {alias = {module = "USA/IL", type = "IL"}}
MO.IA = {alias = {module = "USA/IA", type = "IA"}}
MO.KS = {alias = {module = "USA/KS", type = "K"}}
MO.KY = {alias = {module = "USA/KY", type = "KY"}}
MO.OK = {alias = {module = "USA/OK", type = "OK"}}
MO.TN = {alias = {module = "USA/TN", type = "SR"}}
MO["TN-Sec"] = {alias = {module = "USA/TN", type = "Sec"}}

return MO