(Translated by https://www.hiragana.jp/)
模組:Road data/strings/TWN - 维基百科,自由的百科全书
文档图示 かたぎ块文档[创建]
-- 臺灣たいわん
local TWN = {}
local format = mw.ustring.format
local function en_to_tiangan(num) -- 轉換てんかんためてん
	local transfer = {a="かぶと",b="おつ",c="へい",d="ひのと",e="つちのえ",f="おのれ",g="かのえ"}
	if (transfer[string.sub(num,-1,-1)]== nil) then 
		return ""
	else
		return transfer[string.sub(num,-1,-1)]
	end
end

---國道こくどう---
TWN.Fwy = {shield = {hook = "lowercase",---國道こくどう
                     default = "TWHW%lowercase%.svg"},
                   --おもせん--
           link = {["1"] = "中山ちゅうざん高速こうそくおおやけ", 
           	       ["2"] = "國道こくどうごう (中華民國ちゅうかみんこく)", 
           	       ["3"] = "ぶくなんじすな高速こうそくおおやけ",
           	       ["4"] = "國道こくどうよんごう (中華民國ちゅうかみんこく)", 
           	       ["5"] = "蔣渭すい高速こうそくおおやけ", 
           	       ["6"] = "すいすなれん高速こうそくおおやけ",
           	       ["7"] = "國道こくどうななごう (中華民國ちゅうかみんこく)", 
           	       ["8"] = "國道こくどうはちごう (中華民國ちゅうかみんこく)",
                   ["10"] = "國道こくどうじゅうごう (中華民國ちゅうかみんこく)",
                   --支線しせん--
                   ["1a"] = "桃園ももぞの航空こうくうじょう北側きたがわれんがい高速こうそくおおやけ", 
                   ["2a"] = "國道こくどうごうかぶとせん",
                   ["3a"] = "國道こくどうさんごうかぶとせん"},
                 --おもせん--         
          abbr = {["1"] = "國道こくどういちごう", 
          	      ["2"] = "國道こくどうごう", 
          	      ["3"] = "國道こくどうさんごう", 
          	      ["4"] = "國道こくどうよんごう", 
          	      ["5"] = "國道こくどうごう",
                  ["6"] = "國道こくどうろくごう", 
                  ["7"] = "國道こくどうななごう", 
                  ["8"] = "國道こくどうはちごう",
                  ["10"] = "國道こくどうじゅうごう",
                 --支線しせん--
                  ["1a"] = "國道こくどういちごうかぶとせん", 
                  ["2a"] = "國道こくどうごうかぶとせん", 
                  ["3a"] = "國道こくどうさんごうかぶとせん"},
          width = "expand"}

TWN.Freeway = TWN.Fwy
TWN.NH = TWN.Fwy
---(擴充かくじゅう國道こくどうぜんしょう---
TWN["Fwy-ALL"] = {shield = {hook = "lowercase",
                     default = "TWHW%lowercase%.svg"},
                   --おもせん--
           link = {["1"] = "中山ちゅうざん高速こうそくおおやけ", 
           	       ["2"] = "國道こくどうごう (中華民國ちゅうかみんこく)", 
           	       ["3"] = "ぶくなんじすな高速こうそくおおやけ",
           	       ["4"] = "國道こくどうよんごう (中華民國ちゅうかみんこく)", 
           	       ["5"] = "蔣渭すい高速こうそくおおやけ", 
           	       ["6"] = "すいすなれん高速こうそくおおやけ",
           	       ["7"] = "高雄たかおこう東側ひがしがわれんがい高速こうそくおおやけ", 
           	       ["8"] = "國道こくどうはちごう (中華民國ちゅうかみんこく)", 
                   ["10"] = "國道こくどうじゅうごう (中華民國ちゅうかみんこく)",
                   --支線しせん--
                   ["1a"] = "桃園ももぞの航空こうくうじょう北側きたがわれんがい高速こうそくおおやけ", 
                   ["2a"] = "國道こくどうごうかぶとせん", 
                   ["3a"] = "國道こくどうさんごうかぶとせん"},
                 --おもせん--         
          abbr = {["1"] = "中山ちゅうざん高速こうそくおおやけ", 
          	      ["2"] = "桃園ももぞのたまきせん", 
          	      ["3"] = "ぶくなんじすな高速こうそくおおやけ", 
          	      ["4"] = "だいちゅうたまきせん", 
          	      ["5"] = "蔣渭すい高速こうそくおおやけ",
                  ["6"] = "すいすなれん高速こうそくおおやけ", 
                  ["7"] = "高雄たかおこう東側ひがしがわれんがい高速こうそくおおやけ", 
                  ["8"] = "だいみなみ支線しせん", 
                  ["10"] = "高雄たかお支線しせん",
                 --支線しせん--
                  ["1a"] = "桃園ももぞの航空こうくうじょう北側きたがわれんがい高速こうそくおおやけ", 
                  ["2a"] = "大園おおぞの支線しせん", 
                  ["3a"] = "台北たいぺい聯絡れんらくせん"},
          width = "expand"}

TWN["Freeway-ALL"] = TWN["Fwy-ALL"]
TWN["NH-ALL"] = TWN["Fwy-ALL"]

---しょうどう---
local ph_aux_number =  {"1a","1b","1c","1d","1e","1f","2a","2b","2c","2d","2e","2f","2g","3a","3b","3c","5a","5b","7a","7b","7c","7d",
						"8a","9a","9b","9c","9d","9e","10b","11a","11b","11c","13a","14a","14b","14c","14d","15a","17a","17b","19a",
						"20a","20b","21a","27a","61a","61b","62a","63a","68a","74a"}

local ph_link = {default = "だい%route%せん"}
local ph_abbr = {default = "だい%route%せん"}

for _, num in ipairs(ph_aux_number) do
	ph_link[num] = format("だい%sせん#%sせん", string.sub(num,1,-2), en_to_tiangan(num))
	ph_abbr[num] = format("だい%s%sせん", string.sub(num,1,-2), en_to_tiangan(num))
end

TWN.PH = {shield = {hook = "lowercase",
                    default = "TW PHW%lowercase%.svg"},
           link = ph_link,
           abbr = ph_abbr,
	       width = "expand"}

---(擴充かくじゅう快速かいそくおおやけぜんしょう---
TWN["PH-ALL"] = {shield = {hook = "lowercase",
                     default = "TW PHW%lowercase%.svg"},
           link = {default = "だい%route%せん", 
                   ["2f"] = "だい2せん#おのれせん",
                   ["61"] = "西部せいぶはまかい快速かいそくおおやけ", 
                   ["61a"] = "西部せいぶはまかい快速かいそくおおやけ#かぶとせんやめかいへん)", 
                   ["61b"] = "西部せいぶはまかい快速かいそくおおやけ#おつせん",
                   ["62a"] = "だい62せん#かぶとせん",
                   ["74a"] = "だい74せん#かぶとせん"},            
           abbr = {["2f"] = "もとたかし港西みなとにしがんれんがい道路どうろ",
                   ["61"] = "西部せいぶはまかい快速かいそくおおやけ", 
                   ["61b"] = "あきらはま聯絡れんらくどう",
           	       ["62"] = "まんさとみずはません",
           	       ["62a"] = "もとたかしこう東岸とうがんれんがい道路どうろ",
           	       ["63"] = "ちゅうとうおおやけ",
           	       ["64"] = "はちさと新店しんてんせん", 
           	       ["65"] = "またじょうせん",
           	       ["66"] = "觀音かんのん大溪おおたにせん", 
           	       ["68"] = "みなみりょうちくひがしせん", 
                   ["72"] = "りゅう汶水せん",
                   ["74"] = "かいかんきりほうせん", 
                   ["74a"] = "あきら東外ひがしそとたまきどう", 
                   ["76"] = "よしえんくさたむろせん",
                   ["78"] = "だい西にしあなせん",
                   ["82"] = "東石とうせきよしみせん",
                   ["84"] = "北門きたもん玉井たまいせん",
                   ["86"] = "だい南關なんかんびょうせん",
                   ["88"] = "だかゆううしおしゅうせん"},
          width = "expand"}

---けん市道しどう---
local cr_number =  {city_main = {"101","102","103","104","105","106","107","108","109","110",
								 "111","112","113","114","115","116","118","121","125","127",
								 "129","132","136","165","171","172","173","174","175","176",
								 "177","178","180","181","182","183","186","188"},
					city_aux = {"101a","102a","103a","106a","107a","110a","112a","113a","114a",
								"132a","171a","172a","173a","177a","178a","180a","183a","186a",
								"106b","110b","113b","171b","172b","183b",
								"113c"},
					county_aux = {"119a","124a","134a","135a","138a","139a","143a","144a","145a","146a","149a",
								  "151a","153a","154a","156a","158a","159a","162a","185a","187a","189a","191a",
								  "192a","196a","199a","200a","204a",
								  "124b","124a","134b","139b","145b","149b","154b","156b","158b","162b","187b",
								  "191b",
								  "124c","187c"}}

local function cr_link_format(types,num)
	local tiangan = en_to_tiangan(num)
	local formats = {city_main = format("市道しどう%sごう",num),
				 	 city_aux = format("市道しどう%sごう#%sせん", string.sub(num,1,-2), tiangan),
					 county_aux = format("縣道けんどう%sごう#%sせん", string.sub(num,1,-2), tiangan)}
	return formats[types]
end

local function cr_abbr_format(types,num)
	local tiangan = en_to_tiangan(num)
	local formats = {city_main = format("市道しどう%sごう",num),
				 	 city_aux = format("市道しどう%s%sせん", string.sub(num,1,-2), tiangan),
					 county_aux = format("縣道けんどう%s%sせん", string.sub(num,1,-2), tiangan)}
	return formats[types]
end

local cr_link = {default = "縣道けんどう%route%ごう"}
local cr_abbr = {default = "縣道けんどう%route%ごう"}

for _, types in ipairs({"city_main","city_aux","county_aux"}) do
	for _, num in ipairs(cr_number[types]) do
		cr_link[num] = cr_link_format(types,num)
		cr_abbr[num] = cr_abbr_format(types,num)
	end 
end

TWN.CR = {shield = {hook = "lowercase",
                    default = "TW CHW%lowercase%.svg"},
           link = cr_link,
           abbr = cr_abbr,
	       width = "expand"}

TWN.CH = TWN.CR

---(擴充かくじゅうただ顯示けんじ縣道けんどうXXX」---
local cr2_link = {default = "縣道けんどう%route%ごう"}
local cr2_abbr = {default = "縣道けんどう%route%ごう"}

for _, types in ipairs({"city_aux","county_aux"}) do
	for _, num in ipairs(cr_number[types]) do
		cr2_link[num] = cr_link_format(types,num)
		cr2_abbr[num] = format("縣道けんどう%s%sせん", string.sub(num,1,-2), en_to_tiangan(num))
	end 
end

TWN.CR2 = {shield = {hook = "lowercase",
                    default = "TW CHW%lowercase%.svg"},
           link = cr2_link,
           abbr = cr2_abbr,
	       width = "expand"}

TWN.CH2 = TWN.CR2

---ごうどう---
local county_en = {"TP","TY","HC","ML","TC","CH","NT","YL","CY","TN","KH","PT",
				   "IL","HL","TT","PH"}

local function county_abbr(cname) --轉換てんかんためけんごうどう簡稱
	local tables = {TP="きた",TY="もも",HC="ちく",ML="なえ",TC="ちゅう",CH="あきら",NT="とう",YL="くも",
					CY="よしみ",TN="みなみ",KH="だか",PT="へい",IL="むべ",HL="はな",TT="ひがし",PH="澎"}
	return tables[cname]
end

for _, cname in ipairs(county_en) do
	num = "%route%"
	TWN["TR"..cname] = {shield = format("TW THW%s%s.svg", string.lower(cname), num),
		                link = format("%s%sせん", county_abbr(cname), num),
		                abbr = format("%s%sせん", county_abbr(cname), num)}
end

return TWN