Module:Language/data
此模块的文档可以在Module:Language/data/doc创建
local U = mw.ustring.char
-- Diacritics, from the [[Combining Diacritical Marks]] block.
local grave = U(0x300)
local acute = U(0x301)
local circumflex = U(0x302)
local tilde = U(0x303)
local macron = U(0x304)
local breve = U(0x306)
local dot = U(0x307)
local diaeresis = U(0x308)
local double_acute = U(0x30B)
local caron = U(0x30C)
local double_grave = U(0x30F)
local invbreve = U(0x311)
local dot_below = U(0x323)
local undertie = U(0x35C)
--[[
This is a table of Wiktionary language codes with data belonging to them.
Name is the "canonical name" used on Wiktionary.
Article is the Wikipedia article.
Script is the ISO 15924 code.
]]
local data = {
["languages"] = {
["ab"] = {
["name"] = "Abkhaz",
},
["ang"] = {
["name"] = "Old English",
["article"] = {"Old English"},
-- Remove macrons, acutes, and overdots
["replacements"] = {
decompose = true,
from = { "[" .. macron .. acute .. dot .. "]" },
},
},
["ar"] = {
["name"] = "Arabic",
["article"] = "Arabic language",
["direction"] = "rtl", -- Should be in the script data module.
["replacements"] = {
-- ālif with wasla is replaced by ālif;
[U(0x0671)] = U(0x0627),
-- taṭwīl, fatḥatan, ḍammatan, kasratan,
-- fatḥa, ḍamma, kasra,
-- shadda, sukūn, and superscript (dagger) ālif are removed.
["["..U(0x0640)..U(0x064B)..U(0x064C)..U(0x064D)
..U(0x064E)..U(0x064F)..U(0x0650)
..U(0x0651)..U(0x0652)..U(0x0670).."]"] = "",
},
},
["ara"] = {
["name"] = "Arabic",
["article"] = "Arabic language",
["direction"] = "rtl", -- Should be in the script data module.
["replacements"] = {
-- ālif with wasla is replaced by ālif;
[U(0x0671)] = U(0x0627),
-- taṭwīl, fatḥatan, ḍammatan, kasratan,
-- fatḥa, ḍamma, kasra,
-- shadda, sukūn, and superscript (dagger) ālif are removed.
["["..U(0x0640)..U(0x064B)..U(0x064C)..U(0x064D)
..U(0x064E)..U(0x064F)..U(0x0650)
..U(0x0651)..U(0x0652)..U(0x0670).."]"] = "",
},
},
["arb"] = {
["name"] = "Modern Standard Arabic",
["article"] = "Modern Standard Arabic",
["direction"] = "rtl", -- Should be in the script data module.
["replacements"] = {
-- ālif with wasla is replaced by ālif;
[U(0x0671)] = U(0x0627),
-- taṭwīl, fatḥatan, ḍammatan, kasratan,
-- fatḥa, ḍamma, kasra,
-- shadda, sukūn, and superscript (dagger) ālif are removed.
["["..U(0x0640)..U(0x064B)..U(0x064C)..U(0x064D)
..U(0x064E)..U(0x064F)..U(0x0650)
..U(0x0651)..U(0x0652)..U(0x0670).."]"] = "",
},
},
["apc"] = {
["name"] = "North Levantine Arabic",
["article"] = "North Levantine Arabic",
["direction"] = "rtl", -- Should be in the script data module.
["replacements"] = {
-- ālif with wasla is replaced by ālif;
[U(0x0671)] = U(0x0627),
-- taṭwīl, fatḥatan, ḍammatan, kasratan,
-- fatḥa, ḍamma, kasra,
-- shadda, sukūn, and superscript (dagger) ālif are removed.
["["..U(0x0640)..U(0x064B)..U(0x064C)..U(0x064D)
..U(0x064E)..U(0x064F)..U(0x0650)
..U(0x0651)..U(0x0652)..U(0x0670).."]"] = "",
},
},
["ajp"] = {
["name"] = "South Levantine Arabic",
["article"] = "South Levantine Arabic",
["direction"] = "rtl", -- Should be in the script data module.
["replacements"] = {
-- ālif with wasla is replaced by ālif;
[U(0x0671)] = U(0x0627),
-- taṭwīl, fatḥatan, ḍammatan, kasratan,
-- fatḥa, ḍamma, kasra,
-- shadda, sukūn, and superscript (dagger) ālif are removed.
["["..U(0x0640)..U(0x064B)..U(0x064C)..U(0x064D)
..U(0x064E)..U(0x064F)..U(0x0650)
..U(0x0651)..U(0x0652)..U(0x0670).."]"] = "",
},
},
["av"] = {
["name"] = "Avar"
},
["be"] = {
["article"] = "Belarusian language",
["replacements"] = { [acute] = "", },
},
["bn"] = {
["name"] = "Bengali",
["article"] = "Bengali language",
},
["bua"] = {
["name"] = "Buryat",
},
["cel-pro"] = { -- Incorrect tag
["name"] = "Proto-Celtic",
["Wikipedia_code"] = "cel-x-proto",
},
["cel-x-proto"] = {
["name"] = "Proto-Celtic",
},
["cel-bry-pro"] = { -- Incorrect tag
["name"] = "Proto-Brythonic",
["article"] = "Common Brittonic",
["type"] = "reconstructed",
},
["cu"] = {
["name"] = "Old Church Slavonic",
["article"] = "Old Church Slavonic",
},
["de"] = {
["name"] = "German",
["article"] = "German language",
},
["en"] = {
["name"] = "English",
["article"] = "English language",
},
["es"] = {
["name"] = "Spanish",
["article"] = "Spanish language",
},
["egy"] = {
["name"] = "Egyptian",
},
["fr"] = {
["name"] = "French",
["article"] = "French language",
},
["frm"] = {
["name"] = "Middle French",
["article"] = "Middle French",
},
["frp"] = {
["name"] = "Franco-Provençal",
},
["ff"] = {
["name"] = "Fula",
},
["gem-pro"] = { -- Incorrect tag
["name"] = "Proto-Germanic",
["article"] = "Proto-Germanic language",
["type"] = "reconstructed",
["replacements"] = {},
["Wikipedia_code"] = "gem-x-proto",
},
["gem-x-proto"] = {
["name"] = "Proto-Germanic",
["article"] = "Proto-Germanic language",
["type"] = "reconstructed",
["replacements"] = {},
},
["gml"] = {
["name"] = "Middle Low German",
},
["gmw-ecg"] = {
["name"] = "East Central German",
},
["gmw-x-proto"] = {
["name"] = "Proto-West Germanic",
["article"] = "Proto-West Germanic language",
["type"] = "reconstructed",
["replacements"] = {},
},
["gmq-x-gut"] = {
["name"] = "Gutnish",
["article"] = "Gutnish",
},
["goh"] = {
["replacements"] = {
decompose = true,
from = {
"[" .. macron .. circumflex .. diaeresis .. "]",
},
},
},
["got"] = {
["name"] = "Gothic",
["article"] = "Gothic language",
["replacements"] = {
-- Latin to Gothic since people will not want to have to copy
-- and paste Gothic letters in
["[AÁaáĀā]"] = "𐌰",
["[Bb]"] = "𐌱",
["[Gg]"] = "𐌲",
["[Dd]"] = "𐌳",
["[EeĒē]"] = "𐌴",
["[Qq]"] = "𐌵",
["[Zz]"] = "𐌶",
["[Hh]"] = "𐌷",
["[Þþ]"] = "𐌸",
["[IiÍí]"] = "𐌹",
["[Kk]"] = "𐌺",
["[Ll]"] = "𐌻",
["[Mm]"] = "𐌼",
["[Nn]"] = "𐌽",
["[Jj]"] = "𐌾",
["[UuÚúŪū]"] = "𐌿",
["[Pp]"] = "𐍀",
["[Rr]"] = "𐍂",
["[Ss]"] = "𐍃",
["[Tt]"] = "𐍄",
["[WwYy]"] = "𐍅",
["[Ff]"] = "𐍆",
["[Xx]"] = "𐍇",
["[Ƕƕ]"] = "𐍈", -- Not sure if "hw" and "hv" can safely be converted
["[OoŌō]"] = "𐍉",
},
},
["gsw"] = {
["name"] = "Alemannic German",
},
["grc"] = {
["name"] = "Ancient Greek",
["article"] = "Ancient Greek",
["replacements"] = {
decompose = true,
from = {
-- Replace variant letterforms with standard ones.
"ϐ", "ϵ", "ϑ", "ϰ", "ϱ", "ϲ", "ϕ",
-- Remove macrons and breves.
"[" .. macron .. breve .. undertie .. "]"
},
to = {
"β", "ε", "θ", "κ", "ρ", "σ", "φ",
}
},
},
["grk-pro"] = { -- Incorrect tag
["name"] = "Proto-Hellenic",
["Wikipedia_name"] = "Proto-Greek",
["article"] = "Proto-Greek language",
["type"] = "reconstructed",
["replacements"] = {},
["Wikipedia_code"] = "gem-x-proto",
},
["grk-x-proto"] = {
["name"] = "Proto-Hellenic",
["Wikipedia_name"] = "Proto-Greek",
["article"] = "Proto-Greek language",
["type"] = "reconstructed",
["replacements"] = {},
},
["grt"] = {
["name"] = "Garo",
},
["ha"] = {
["name"] = "Hausa",
-- remove tilde, grave, acute, macron, circumflex
["replacements"] = {
decompose = true,
from = { "[" .. grave .. circumflex .. macron .. acute .. tilde .. "]" },
},
},
["hi"] = {
["name"] = "Hindi",
["article"] = "Hindi",
},
["ine-bsl-pro"] = {
["name"] = "Proto-Balto-Slavic",
["article"] = "Proto-Balto-Slavic language",
["type"] = "reconstructed",
},
["ine-pro"] = { -- Incorrect tag
["name"] = "Proto-Indo-European",
["article"] = "Proto-Indo-European language",
["type"] = "reconstructed",
["replacements"] = {},
["Wikipedia_code"] = "ine-x-proto",
},
["ine-x-proto"] = {
["name"] = "Proto-Indo-European",
["article"] = "Proto-Indo-European language",
["type"] = "reconstructed",
["replacements"] = {},
},
["ja"] = {
["name"] = "Japanese",
["article"] = "Japanese language",
},
["jbo"] = { -- Lojban
["type"] = "appendix",
},
["la"] = {
["name"] = "Latin",
["article"] = "Latin",
["replacements"] = {
decompose = true,
from = { "[" .. macron .. breve .. diaeresis .. "]" },
},
},
["lt"] = {
["name"] = "Lithuanian",
-- remove acute, tilde, grave
["replacements"] = {
decompose = true,
from = { "[" .. acute .. tilde .. grave .. "]" },
},
},
["moe"] = {
["name"] = "Cree",
},
["mul"] = {
["name"] = "Translingual",
["article"] = "",
},
["nci"] = {
["name"] = "Classical Nahuatl",
["article"] = "Classical Nahuatl",
-- Remove macrons, acutes, circumflexes and graves
["replacements"] = {
decompose = true,
-- Remove macrons, acutes, circumflexes, graves, and saltillo;
-- see [[Saltillo (linguistics)]].
from = { "[" .. grave .. acute .. macron .. circumflex .. "Ꞌꞌʻʼ'ʔ]" },
},
},
["nds-de"] = {
["name"] = "German Low German",
},
["odt"] = {
["name"] = "Old Dutch",
},
["oge"] = {
["name"] = "Old Georgian",
},
["oj"] = {
["name"] = "Ojibwe",
},
["orv"] = {
["name"] = "Old East Slavic",
["article"] = "Old East Slavic",
["replacements"] = {
[U(0x484)] = "",
},
},
["osx"] = {
["name"] = "Old Saxon",
},
["pt"] = {
["name"] = "Portuguese",
["article"] = "Portuguese language",
-- ["scripts"] = { "Latn" },
},
["pa"] = {
["name"] = "Punjabi",
["article"] = "Punjabi language",
},
["pis"] = {
["name"] = "Pijin",
["article"] = "Pijin language",
},
["poz-x-poly-proto"] = {
["name"] = "Proto-Nuclear Polynesian",
["article"] = "Proto-Polynesian language",
["type"] = "reconstructed",
},
["rap"] = {
["name"] = "Rapa Nui",
["article"] = "Rapa Nui language",
},
["ru"] = {
["name"] = "Russian",
["article"] = "Russian language",
["replacements"] = { [acute] = "", },
},
["rw"] = {
["name"] = "Rwanda-Rundi",
},
["se"] = {
["replacements"] = {
["([đflmnŋrsšŧv])'%1"] = "%1%1",
},
},
["sem-pro"] = {
["name"] = "Proto-Semitic",
["article"] = "Proto-Semitic",
["type"] = "reconstructed",
},
["sh"] = {
["article"] = "Serbo-Croatian language",
["replacements"] = {
decompose = true,
from = { "([AaEeIiOoUuRrАаЕеИиОоУуРр])[" .. double_grave
.. grave .. invbreve .. acute .. macron .. tilde .. "]" },
to = { "%1" },
},
},
["sl"] = {
["name"] = "Slovene",
["replacements"] = {
decompose = true,
-- remove tonal orthography
from = {"ł", "[" .. grave .. acute .. macron .. double_grave .. invbreve .. circumflex .. dot_below .. "]"},
to = {"l"},
},
},
["sla-pro"] = {
["name"] = "Proto-Slavic", -- also Common Slavic
["type"] = "reconstructed",
["replacements"] = {
["[ÀÁÃĀȀȂ]"] = "A",
["[àáãāȁȃ]"] = "a",
["[ÈÉẼĒȄȆ]"] = "E",
["[èéẽēȅȇ]"] = "e",
["[ÌÍĨĪȈȊ]"] = "I",
["[ìíĩīȉȋ]"] = "i",
["[ÒÓÕŌȌȎŐ]"] = "O",
["[òóõōȍȏő]"] = "o",
["[ÙÚŨŪȔȖŰ]"] = "U",
["[ùúũūȕȗű]"] = "u",
["[ỲÝỸȲ]"] = "Y",
["[ỳýỹȳ]"] = "y",
["Ǭ"] = "Ǫ",
["ǭ"] = "ǫ",
["[" .. grave .. acute .. double_acute .. tilde .. macron .. double_grave .. invbreve .. "]"] = "",
["ĭ"] = "ь",
["ŭ"] = "ъ",
},
},
["uk"] = {
["article"] = "Ukrainian language",
["replacements"] = { [acute] = "", }
},
["ur"] = {
["name"] = "Urdu",
["article"] = "Urdu",
},
["zh"] = {
["name"] = "Chinese",
["article"] = "Chinese language",
-- ["scripts"] = { "Hani" },
},
["xcl"] = {
["name"] = "Old Armenian",
["article"] = "Classical Armenian",
["replacements"] = {
["[՞՜՛՟]"] = "",
["և"] = "եւ",
},
},
["xgf"] = {
["name"] = "Tongva", -- not ISO name "Gabrielino-Fernandeño"
["article"] = "Tongva language",
["replacements"] = {
["['`ʔ]"] = "ʼ",
},
},
["xxt"] = {
["name"] = "Tambora",
["article"] = "Tambora language",
},
["xvn"] = {
["name"] = "Vandalic",
["article"] = "Vandalic language",
},
["yua"] = {
["name"] = "Yucatec Maya",
["article"] = "Yucatec Maya language",
},
},
-- Here, keys (for example, "gem") are Wikipedia language codes used in
-- {{lang}}, and values (for example, "gem-pro") are the equivalent Wiktionary
-- code.
-- Subtags are not currently supported.
["redirects"] = {
["aae"] = "sq",
["aiq"] = "fa",
["aln"] = "sq",
["als"] = "sq",
["azb"] = "az",
["azj"] = "az",
["bgn"] = "bal",
["bs"] = "sh",
["bxr"] = "bua",
["ciw"] = "oj",
["cnr"] = "sh",
["fil"] = "tl",
["fuf"] = "ff",
["gem"] = "gem-pro", -- Not correct, but is commonly used.
["hak"] = "zh",
["hbo"] = "he",
["hr"] = "sh",
["ine"] = "ine-pro", -- Not correct, but might be commonly used.
["kjv"] = "sh",
["nan"] = "zh",
["prs"] = "fa",
["rn"] = "rw",
["sli"] = "gmw-ecg",
["sr"] = "sh",
["src"] = "sc",
["sro"] = "sc",
["tw"] = "ak",
["wae"] = "gsw",
["wep"] = "nds-de",
["yue"] = "zh",
["xno"] = "fro",
},
}
return data