Use this to update Module:scripts/by name and Module:scripts/code to canonical name.
return {
= "Adlm",
= "Afak",
= "Ahom",
= "Hluw",
= "Arab",
= "Avst",
= "Bali",
= "Bamu",
= "Bass",
= "Batk",
= "Tglg",
= "Beng",
= "Bhks",
= "Phlv",
= "Brah",
= "Brai",
= "Bugi",
= "Buhd",
= "Mymr",
= "Cari",
= "Cakm",
= "Cham",
= "Cher",
= "Chrs",
= "Cprt",
= "Cyrl",
= "Dsrt",
= "Dogr",
= "Dupl",
= "Egyd",
= "Deva",
= "Egyp",
= "Hans",
= "Elba",
= "Ethi",
= "Semap",
= "Latf",
= "Phnx",
= "Glag",
= "Goth",
= "Gran",
= "Geor",
= "Gujr",
= "Gong",
= "Guru",
= "Grek",
= "Hant",
= "Hang",
= "Rohg",
= "Hano",
= "Hatr",
= "Hira",
= "Hmng",
= "Hebr",
= "Ibrn",
= "Imag",
= "Armi",
= "Inds",
= "Phli",
= "Prti",
= "IPAchar",
= "Jpan",
= "Jurc",
= "Java",
= "Kthi",
= "Cans",
= "Knda",
= "Kana",
= "Aghb",
= "Kali",
= "Khar",
= "Kitl",
= "Kits",
= "Khmr",
= "Khoj",
= "Sind",
= "Geok",
= "Copt",
= "Kore",
= "Hani",
= "Laoo",
= "Latn",
= "Leke",
= "Lepc",
= "Limb",
= "Lina",
= "Linb",
= "Lisu",
= "Lyci",
= "Lydi",
= "Mahj",
= "Maya",
= "Maka",
= "Mlym",
= "Mand",
= "Mani",
= "Marc",
= "Gonm",
= "Zmth",
= "Medf",
= "Zyyy",
= "Mtei",
= "Mend",
= "Merc",
= "Mero",
= "Modi",
= "Mong",
= "Morse",
= "Mroo",
= "Mult",
= "Nkoo",
= "Nbat",
= "Talu",
= "Newa",
= "Nshu",
= "Ogam",
= "Olck",
= "Ital",
= "Sogo",
= "Orya",
= "Orkh",
= "Osge",
= "Osma",
= "Palm",
= "Pauc",
= "pal-Avst",
= "Phag",
= "Plrd",
= "Phlp",
= "Rjng",
= "Ruminumerals",
= "Runr",
= "Samr",
= "Saur",
= "pa-Arab",
= "Shrd",
= "Shaw",
= "Sidd",
= "Sgnw",
= "Sogd",
= "Sora",
= "Soyo",
= "Sylo",
= "Zsym",
= "Sinh",
= "Sund",
= "Syrc",
= "Tagb",
= "Tale",
= "Lana",
= "Tavt",
= "Takr",
= "Taml",
= "Tang",
= "Telu",
= "Teng",
= "Thaa",
= "Thai",
= "Tibt",
= "Tfng",
= "Tirh",
= "Ugar",
= "Zzzz",
= "None",
= "Vaii",
= "Wara",
= "Yiii",
= "Zanb",
= "musical",
= "xzh-Tibt",
= "Bopo",
= "Xsux",
= "Cyrs",
= "Sarb",
= "Hung",
= "Perm",
= "Xpeo",
= "Narb",
= "Armn",
}
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 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 = code
end
end
else
for code, data in pairs(script_data) do
result = data.canonicalName
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 = ('\t = %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