使用此頁面更新 Module:scripts/by nameModule:scripts/code to canonical name

return {
	["Chisoi"] = "Chis",
	["Lai Tay"] = "Tayo",
	["Loma"] = "Loma",
	["Moon"] = "Moon",
	["Nag Mundari"] = "Nagm",
	["Pazend"] = "pal-Avst",
	["Ranjana"] = "Ranj",
	["Sidetic"] = "Sidt",
	["Takri"] = "Takr",
	["Tolong Siki"] = "Tols",
	["Visible Speech"] = "Visp",
	["Wancho"] = "Wcho",
	["Woleai"] = "Wole",
	["世俗體"] = "Egyd",
	["亞美尼亞文"] = "Armn",
	["他加祿字母"] = "Tglg",
	["佉盧文"] = "Khar",
	["假名"] = "Hrkt",
	["僧伽羅文"] = "Sinh",
	["僧侶體"] = "Egyh",
	["克培列文"] = "Kpel",
	["克耶里字母"] = "Kali",
	["八思巴字"] = "Phag",
	["凱提文"] = "Kthi",
	["凱瑪文"] = "Gukh",
	["切羅基文"] = "Cher",
	["創世紀苗文"] = "Hmnp",
	["加拿大原住民音節文字"] = "Cans",
	["加萊文"] = "Gara",
	["勒姜字母"] = "Rjng",
	["包欽豪文"] = "Pauc",
	["南迪城文"] = "Nand",
	["占語字母"] = "Cham",
	["卡利亞字母"] = "Cari",
	["卡納達文"] = "Knda",
	["卡維文"] = "Kawi",
	["印度河文字"] = "Inds",
	["古匈牙利字母"] = "Hung",
	["古北阿拉伯字母"] = "Narb",
	["古南阿拉伯文"] = "Sarb",
	["古吉拉特文"] = "Gujr",
	["古彼爾姆文"] = "Perm",
	["古意大利字母"] = "Ital",
	["古木基文"] = "Guru",
	["古波斯文"] = "Xpeo",
	["古粟特字母"] = "Sogo",
	["古蘭塔文"] = "Gran",
	["可吉文"] = "Khoj",
	["吉茲字母"] = "Ethi",
	["呂基亞字母"] = "Lyci",
	["呂底亞字母"] = "Lydi",
	["哈乃斐羅興亞文字"] = "Rohg",
	["哈努諾文"] = "Hano",
	["哈特拉文"] = "Hatr",
	["哥巴文"] = "Nkgb",
	["哥特字母"] = "Goth",
	["唐薩文"] = "Tnsa",
	["喬治亞文"] = "Geor",
	["回鶻字母"] = "Ougr",
	["國際音標"] = "Ipach",
	["圖像渲染"] = "Imag",
	["埃利邁文"] = "Elym",
	["基拉特拉伊文"] = "Krai",
	["塔格班瓦字母"] = "Tagb",
	["塞普勒斯-米諾斯文字"] = "Cpmn",
	["夏拉達文"] = "Shrd",
	["多格拉文"] = "Dogr",
	["天城文"] = "Deva",
	["契丹大字"] = "Kitl",
	["契丹小字"] = "Kits",
	["奧塞奇文"] = "Osge",
	["奧斯曼亞字母"] = "Osma",
	["奧里亞文"] = "Orya",
	["女書"] = "Nshu",
	["女真文"] = "Jurc",
	["婆羅米文"] = "Brah",
	["孟加拉文"] = "Beng",
	["它拿字母"] = "Thaa",
	["安納托利亞象形文字"] = "Hluw",
	["寮文"] = "Laoo",
	["尼瓦爾文"] = "Newa",
	["峇里文字"] = "Bali",
	["巴塔克文"] = "Batk",
	["巴姆穆文字"] = "Bamu",
	["巴薩文"] = "Bass",
	["巽他字母"] = "Sund",
	["布列斯符號"] = "Blis",
	["布希德文"] = "Buhd",
	["希伯來文"] = "Hebr",
	["希臘文"] = "Grek",
	["帕哈苗文"] = "Hmng",
	["帕爾邁拉字母"] = "Palm",
	["帝國亞拉姆文字"] = "Armi",
	["平假名"] = "Hira",
	["庫達瓦迪文"] = "Sind",
	["彝文"] = "Yiii",
	["德宏傣文"] = "Tale",
	["德文尖角體"] = "Latf",
	["德瑟雷特字母"] = "Dsrt",
	["悉曇文字"] = "Sidd",
	["手語符號"] = "Sgnw",
	["托忒文"] = "xwo-Mong",
	["托托文"] = "Toto",
	["托特里文"] = "Todr",
	["拉丁字母"] = "Latn",
	["拜克舒基文"] = "Bhks",
	["提加拉里文"] = "Tutg",
	["提爾胡塔文"] = "Tirh",
	["提非納文"] = "Tfng",
	["摩尼字母"] = "Mani",
	["摩爾斯電碼"] = "Morse",
	["撒瑪利亞字母"] = "Samr",
	["敘利亞字母"] = "Syrc",
	["教士體"] = "Geok",
	["數學記號"] = "Zmth",
	["新傣文"] = "Talu",
	["旗語"] = "Semap",
	["日文"] = "Jpan",
	["早期西里爾字母"] = "Cyrs",
	["普密吉文"] = "Onao",
	["書冊巴列維文"] = "Phlv",
	["曼尼普爾文"] = "Mtei",
	["曼達安字母"] = "Mand",
	["朗格朗格"] = "Roro",
	["望加錫文"] = "Maka",
	["未定文字"] = "Zyyy",
	["未指定文字"] = "None",
	["未編碼文字"] = "Zzzz",
	["札那巴札爾方形字母"] = "Zanb",
	["杜普雷速記"] = "Dupl",
	["東北伊比利亞文字"] = "Ibrnn",
	["東南伊比利亞文字"] = "Ibrns",
	["東巴文"] = "Nkdb",
	["林布文"] = "Limb",
	["柏格理苗文"] = "Plrd",
	["查克馬文"] = "Cakm",
	["格拉哥里字母"] = "Glag",
	["桑塔利文"] = "Olck",
	["梅德法伊德林文"] = "Medf",
	["楔形文字"] = "Xsux",
	["歐甘字母"] = "Ogam",
	["水書"] = "Shui",
	["沙穆基文"] = "pa-Arab",
	["注音符號"] = "Bopo",
	["泰文"] = "Thai",
	["泰盧固文"] = "Telu",
	["泰米爾文"] = "Taml",
	["滿文"] = "mnc-Mong",
	["漢字"] = "Hani",
	["烏加里特字母"] = "Ugar",
	["爪哇字母"] = "Java",
	["片假名"] = "Kana",
	["瑪欽文"] = "Marc",
	["瓦伊文"] = "Vaii",
	["瓦蘭齊地文"] = "Wara",
	["盧恩字母"] = "Runr",
	["盧米文數字"] = "Rumin",
	["盲文"] = "Brai",
	["碑刻巴列維文"] = "Phli",
	["碑刻帕提亞文"] = "Prti",
	["科普特文"] = "Copt",
	["穆爾塔尼文"] = "Mult",
	["突厥字母"] = "Orkh",
	["符號"] = "Zsym",
	["簡體字"] = "Hans",
	["粟特字母"] = "Sogd",
	["納巴泰字母"] = "Nbat",
	["索拉什特拉文"] = "Saur",
	["索拉僧平文字"] = "Sora",
	["索永布文字"] = "Soyo",
	["絨巴文"] = "Lepc",
	["維斯庫奇字母"] = "Vith",
	["線形文字A"] = "Lina",
	["線形文字B"] = "Linb",
	["緬甸文"] = "Mymr",
	["繁體字"] = "Hant",
	["老傈僳文"] = "Lisu",
	["老傣文"] = "Lana",
	["聖書體"] = "Egyp",
	["腓尼基字母"] = "Phnx",
	["艾爾巴桑字母"] = "Elba",
	["花剌子模文"] = "Chrs",
	["莫迪文"] = "Modi",
	["萊克文"] = "Leke",
	["蒙古文"] = "Mong",
	["蓋爾文"] = "Latg",
	["蕭伯納字母"] = "Shaw",
	["藏文"] = "Tibt",
	["蘇努瓦爾文"] = "Sunu",
	["西夏文"] = "Tang",
	["西里爾字母"] = "Cyrl",
	["西非書面文字"] = "Nkoo",
	["詩篇巴列維文"] = "Phlp",
	["談格瓦文字"] = "Teng",
	["諺文"] = "Hang",
	["貢賈拉貢德文字"] = "Gong",
	["賽普勒斯音節文字"] = "Cprt",
	["越南傣文"] = "Tavt",
	["迪維西阿庫魯文"] = "Diak",
	["達芒文"] = "sit-tam-Tibt",
	["錫伯文"] = "sjo-Mong",
	["錫爾赫特文"] = "Sylo",
	["門德基卡庫文"] = "Mend",
	["阿德拉姆文"] = "Adlm",
	["阿拉伯文"] = "Arab",
	["阿法卡文"] = "Afak",
	["阿洪姆文"] = "Ahom",
	["阿維斯陀文"] = "Avst",
	["阿薩姆文"] = "as-Beng",
	["隆塔拉文"] = "Bugi",
	["雅茲迪文"] = "Yezi",
	["韓文"] = "Kore",
	["音樂記號"] = "Music",
	["馬哈佳尼文"] = "Mahj",
	["馬拉雅拉姆文"] = "Mlym",
	["馬薩拉姆貢德文字"] = "Gonm",
	["馬雅文字"] = "Maya",
	["高加索阿爾巴尼亞文"] = "Aghb",
	["高棉文"] = "Khmr",
	["麥羅埃文聖書體"] = "Mero",
	["麥羅埃文草書體"] = "Merc",
	["默祿文"] = "Mroo",
}
return {
	["Adlm"] = "阿德拉姆文",
	["Afak"] = "阿法卡文",
	["Aghb"] = "高加索阿爾巴尼亞文",
	["Ahom"] = "阿洪姆文",
	["Arab"] = "阿拉伯文",
	["Armi"] = "帝國亞拉姆文字",
	["Armn"] = "亞美尼亞文",
	["Avst"] = "阿維斯陀文",
	["Bali"] = "峇里文字",
	["Bamu"] = "巴姆穆文字",
	["Bass"] = "巴薩文",
	["Batk"] = "巴塔克文",
	["Beng"] = "孟加拉文",
	["Bhks"] = "拜克舒基文",
	["Blis"] = "布列斯符號",
	["Bopo"] = "注音符號",
	["Brah"] = "婆羅米文",
	["Brai"] = "盲文",
	["Bugi"] = "隆塔拉文",
	["Buhd"] = "布希德文",
	["Cakm"] = "查克馬文",
	["Cans"] = "加拿大原住民音節文字",
	["Cari"] = "卡利亞字母",
	["Cham"] = "占語字母",
	["Cher"] = "切羅基文",
	["Chis"] = "Chisoi",
	["Chrs"] = "花剌子模文",
	["Copt"] = "科普特文",
	["Cpmn"] = "塞普勒斯-米諾斯文字",
	["Cprt"] = "賽普勒斯音節文字",
	["Cyrl"] = "西里爾字母",
	["Cyrs"] = "早期西里爾字母",
	["Deva"] = "天城文",
	["Diak"] = "迪維西阿庫魯文",
	["Dogr"] = "多格拉文",
	["Dsrt"] = "德瑟雷特字母",
	["Dupl"] = "杜普雷速記",
	["Egyd"] = "世俗體",
	["Egyh"] = "僧侶體",
	["Egyp"] = "聖書體",
	["Elba"] = "艾爾巴桑字母",
	["Elym"] = "埃利邁文",
	["Ethi"] = "吉茲字母",
	["Gara"] = "加萊文",
	["Geok"] = "教士體",
	["Geor"] = "喬治亞文",
	["Glag"] = "格拉哥里字母",
	["Gong"] = "貢賈拉貢德文字",
	["Gonm"] = "馬薩拉姆貢德文字",
	["Goth"] = "哥特字母",
	["Gran"] = "古蘭塔文",
	["Grek"] = "希臘文",
	["Gujr"] = "古吉拉特文",
	["Gukh"] = "凱瑪文",
	["Guru"] = "古木基文",
	["Hang"] = "諺文",
	["Hani"] = "漢字",
	["Hano"] = "哈努諾文",
	["Hans"] = "簡體字",
	["Hant"] = "繁體字",
	["Hatr"] = "哈特拉文",
	["Hebr"] = "希伯來文",
	["Hira"] = "平假名",
	["Hluw"] = "安納托利亞象形文字",
	["Hmng"] = "帕哈苗文",
	["Hmnp"] = "創世紀苗文",
	["Hrkt"] = "假名",
	["Hung"] = "古匈牙利字母",
	["Ibrnn"] = "東北伊比利亞文字",
	["Ibrns"] = "東南伊比利亞文字",
	["Imag"] = "圖像渲染",
	["Inds"] = "印度河文字",
	["Ipach"] = "國際音標",
	["Ital"] = "古意大利字母",
	["Java"] = "爪哇字母",
	["Jpan"] = "日文",
	["Jurc"] = "女真文",
	["Kali"] = "克耶里字母",
	["Kana"] = "片假名",
	["Kawi"] = "卡維文",
	["Khar"] = "佉盧文",
	["Khmr"] = "高棉文",
	["Khoj"] = "可吉文",
	["Kitl"] = "契丹大字",
	["Kits"] = "契丹小字",
	["Knda"] = "卡納達文",
	["Kore"] = "韓文",
	["Kpel"] = "克培列文",
	["Krai"] = "基拉特拉伊文",
	["Kthi"] = "凱提文",
	["Lana"] = "老傣文",
	["Laoo"] = "寮文",
	["Latf"] = "德文尖角體",
	["Latg"] = "蓋爾文",
	["Latn"] = "拉丁字母",
	["Leke"] = "萊克文",
	["Lepc"] = "絨巴文",
	["Limb"] = "林布文",
	["Lina"] = "線形文字A",
	["Linb"] = "線形文字B",
	["Lisu"] = "老傈僳文",
	["Loma"] = "Loma",
	["Lyci"] = "呂基亞字母",
	["Lydi"] = "呂底亞字母",
	["Mahj"] = "馬哈佳尼文",
	["Maka"] = "望加錫文",
	["Mand"] = "曼達安字母",
	["Mani"] = "摩尼字母",
	["Marc"] = "瑪欽文",
	["Maya"] = "馬雅文字",
	["Medf"] = "梅德法伊德林文",
	["Mend"] = "門德基卡庫文",
	["Merc"] = "麥羅埃文草書體",
	["Mero"] = "麥羅埃文聖書體",
	["Mlym"] = "馬拉雅拉姆文",
	["Modi"] = "莫迪文",
	["Mong"] = "蒙古文",
	["Moon"] = "Moon",
	["Morse"] = "摩爾斯電碼",
	["Mroo"] = "默祿文",
	["Mtei"] = "曼尼普爾文",
	["Mult"] = "穆爾塔尼文",
	["Music"] = "音樂記號",
	["Mymr"] = "緬甸文",
	["Nagm"] = "Nag Mundari",
	["Nand"] = "南迪城文",
	["Narb"] = "古北阿拉伯字母",
	["Nbat"] = "納巴泰字母",
	["Newa"] = "尼瓦爾文",
	["Nkdb"] = "東巴文",
	["Nkgb"] = "哥巴文",
	["Nkoo"] = "西非書面文字",
	["None"] = "未指定文字",
	["Nshu"] = "女書",
	["Ogam"] = "歐甘字母",
	["Olck"] = "桑塔利文",
	["Onao"] = "普密吉文",
	["Orkh"] = "突厥字母",
	["Orya"] = "奧里亞文",
	["Osge"] = "奧塞奇文",
	["Osma"] = "奧斯曼亞字母",
	["Ougr"] = "回鶻字母",
	["Palm"] = "帕爾邁拉字母",
	["Pauc"] = "包欽豪文",
	["Perm"] = "古彼爾姆文",
	["Phag"] = "八思巴字",
	["Phli"] = "碑刻巴列維文",
	["Phlp"] = "詩篇巴列維文",
	["Phlv"] = "書冊巴列維文",
	["Phnx"] = "腓尼基字母",
	["Plrd"] = "柏格理苗文",
	["Polyt"] = "希臘文",
	["Prti"] = "碑刻帕提亞文",
	["Ranj"] = "Ranjana",
	["Rjng"] = "勒姜字母",
	["Rohg"] = "哈乃斐羅興亞文字",
	["Roro"] = "朗格朗格",
	["Rumin"] = "盧米文數字",
	["Runr"] = "盧恩字母",
	["Samr"] = "撒瑪利亞字母",
	["Sarb"] = "古南阿拉伯文",
	["Saur"] = "索拉什特拉文",
	["Semap"] = "旗語",
	["Sgnw"] = "手語符號",
	["Shaw"] = "蕭伯納字母",
	["Shrd"] = "夏拉達文",
	["Shui"] = "水書",
	["Sidd"] = "悉曇文字",
	["Sidt"] = "Sidetic",
	["Sind"] = "庫達瓦迪文",
	["Sinh"] = "僧伽羅文",
	["Sogd"] = "粟特字母",
	["Sogo"] = "古粟特字母",
	["Sora"] = "索拉僧平文字",
	["Soyo"] = "索永布文字",
	["Sund"] = "巽他字母",
	["Sunu"] = "蘇努瓦爾文",
	["Sylo"] = "錫爾赫特文",
	["Syrc"] = "敘利亞字母",
	["Tagb"] = "塔格班瓦字母",
	["Takr"] = "Takri",
	["Tale"] = "德宏傣文",
	["Talu"] = "新傣文",
	["Taml"] = "泰米爾文",
	["Tang"] = "西夏文",
	["Tavt"] = "越南傣文",
	["Tayo"] = "Lai Tay",
	["Telu"] = "泰盧固文",
	["Teng"] = "談格瓦文字",
	["Tfng"] = "提非納文",
	["Tglg"] = "他加祿字母",
	["Thaa"] = "它拿字母",
	["Thai"] = "泰文",
	["Tibt"] = "藏文",
	["Tirh"] = "提爾胡塔文",
	["Tnsa"] = "唐薩文",
	["Todr"] = "托特里文",
	["Tols"] = "Tolong Siki",
	["Toto"] = "托托文",
	["Tutg"] = "提加拉里文",
	["Ugar"] = "烏加里特字母",
	["Vaii"] = "瓦伊文",
	["Visp"] = "Visible Speech",
	["Vith"] = "維斯庫奇字母",
	["Wara"] = "瓦蘭齊地文",
	["Wcho"] = "Wancho",
	["Wole"] = "Woleai",
	["Xpeo"] = "古波斯文",
	["Xsux"] = "楔形文字",
	["Yezi"] = "雅茲迪文",
	["Yiii"] = "彝文",
	["Zanb"] = "札那巴札爾方形字母",
	["Zmth"] = "數學記號",
	["Zsym"] = "符號",
	["Zyyy"] = "未定文字",
	["Zzzz"] = "未編碼文字",
	["as-Beng"] = "阿薩姆文",
	["fa-Arab"] = "阿拉伯文",
	["kk-Arab"] = "阿拉伯文",
	["ks-Arab"] = "阿拉伯文",
	["ku-Arab"] = "阿拉伯文",
	["mnc-Mong"] = "滿文",
	["ms-Arab"] = "阿拉伯文",
	["mzn-Arab"] = "阿拉伯文",
	["ota-Arab"] = "阿拉伯文",
	["pa-Arab"] = "沙穆基文",
	["pal-Avst"] = "Pazend",
	["pjt-Latn"] = "拉丁字母",
	["ps-Arab"] = "阿拉伯文",
	["sd-Arab"] = "阿拉伯文",
	["sit-tam-Tibt"] = "達芒文",
	["sjo-Mong"] = "錫伯文",
	["tt-Arab"] = "阿拉伯文",
	["ug-Arab"] = "阿拉伯文",
	["ur-Arab"] = "阿拉伯文",
	["xwo-Mong"] = "托忒文",
}

local export = {}

local function generate_table(name_to_code)
	local result = {}
	local script_data = mw.loadData("Module:scripts/data")
	
	local iterate
	if name_to_code then
		for code, data in pairs(script_data) do
			if not result[data[1]] or #code == 4 then
				-- Sometimes, multiple scripts have the same name, e.g. 'Arab',
				-- 'fa-Arab', 'ur-Arab' and several others are called "Arabic".
				-- Prefer the one with four characters when disambiguating.
				result[data[1]] = code
			end
		end
	else
		for code, data in pairs(script_data) do
			result[code] = data[1]
		end
	end
	
	return result
end

local function dump(data, name_to_code)
	local output = { "return {" }
	local i = 1
	local sorted_pairs = require "Module:table".sortedPairs
	
	for k, v in sorted_pairs(data) do
		i = i + 1
		output[i] = ('\t[%q] = %q,'):format(k, v)
	end
	
	table.insert(output, "}")
	
	return table.concat(output, "\n")
end

function export.code_to_name(frame)
	return require "Module:debug".highlight(dump(generate_table(false), false))
end

function export.name_to_code(frame)
	return require "Module:debug".highlight(dump(generate_table(true), true))
end

return export