Bước tới nội dung

Khác biệt giữa bản sửa đổi của “Mô đun:Thống kê Wiktionary/A”

Từ điển mở Wiktionary
Nội dung được xóa Nội dung được thêm vào
#496: Jiiddu
Thẻ: Sửa đổi di động Sửa đổi từ trang di động Sửa đổi di động nâng cao
#497: Edo
Thẻ: Đã bị lùi lại Sửa đổi di động Sửa đổi từ trang di động Sửa đổi di động nâng cao
Dòng 136: Dòng 136:
["dan"] = {short = "da", name = "tiếng Đan Mạch", templates = 2},
["dan"] = {short = "da", name = "tiếng Đan Mạch", templates = 2},
["deu"] = {short = "de", name = "tiếng Đức", templates = 2},
["deu"] = {short = "de", name = "tiếng Đức", templates = 2},
["bin"] = {name = "tiếng Edo", templates = 2},
["myv"] = {name = "tiếng Erzya", templates = 2},
["myv"] = {name = "tiếng Erzya", templates = 2},
["est"] = {short = "et", name = "tiếng Estonia", templates = 2},
["est"] = {short = "et", name = "tiếng Estonia", templates = 2},

Phiên bản lúc 16:43, ngày 2 tháng 6 năm 2023

---Các hàm có liên quan đến thống kê của dự án Wiktionary tiếng Việt.
local p = {}
local viet = require "Module:Quốc ngữ"
local stats = mw.site.stats
local lang = mw.getContentLanguage()

local categoryPrefix = "Mục từ "

---Dữ liệu các thể loại ngôn ngữ.
p.categoriesByCode = {
	["alu"] = {name = "tiếng 'Are'are", templates = 2},
    ["egy"] = {name = "tiếng Ai Cập", templates = 2},
    ["ara"] = {short = "ar", name = "tiếng Ả Rập", templates = 2},
    ["arz"] = {name = "tiếng Ả Rập Ai Cập", templates = 2},
    ["acw"] = {name = "tiếng Ả Rập Hijazi", templates = 2},
    ["pga"] = {name = "tiếng Ả Rập Juba", templates = 2},
    ["shu"] = {name = "tiếng Ả Rập Tchad", templates = 2},
    ["aiw"] = {name = "tiếng Aari", templates = 2},
    ["aas"] = {name = "tiếng Aasax", templates = 2},
    ["aau"] = {name = "tiếng Abau", templates = 2},
    ["abq"] = {name = "tiếng Abaza", templates = 2},
    ["abk"] = {name = "tiếng Abkhaz", templates = 2},
    ["ace"] = {name = "tiếng Aceh", templates = 2},
	["ady"] = {name = "tiếng Adygea", templates = 2},
	["aar"] = {short = "aa", name = "tiếng Afar", templates = 2},
    ["afr"] = {short = "af", name = "tiếng Afrikaans", templates = 2},
    ["xag"] = {name = "tiếng Aghwan", templates = 2},
    ["aho"] = {name = "tiếng Ahom", templates = 2},
    ["ain"] = {name = "tiếng Ainu", templates = 2},
    ["ain-sak"] = {name = "tiếng Ainu Sakhalin", templates = 2},
    ["aio"] = {name = "tiếng Aiton", templates = 2},
    ["ahk"] = {name = "tiếng Akha", templates = 2},
    ["akk"] = {name = "tiếng Akkad", templates = 2},
    ["sqi"] = {short = "sq", name = "tiếng Albani", templates = 2},
    ["tuw-alc"] = {name = "tiếng Alchuka", templates = 2},
    ["alr"] = {name = "tiếng Alutor", templates = 2},
    ["amh"] = {short = "am", name = "tiếng Amhara", templates = 2},
    ["amu"] = {name = "tiếng Amuzgo", templates = 2},
    ["eng"] = {short = "en", name = "tiếng Anh", templates = 2},
    ["ang"] = {name = "tiếng Anh cổ", templates = 2},
    ["enm"] = {name = "tiếng Anh trung đại", templates = 2},
    ["apw"] = {name = "tiếng Apache Tây", templates = 2},
    ["apn"] = {name = "tiếng Apinayé", templates = 2},
    ["arg"] = {short = "an", name = "tiếng Aragon", templates = 2},
    ["aqc"] = {name = "tiếng Archi", templates = 2},
    ["aem"] = {name = "tiếng Arem", templates = 2},
    ["agj"] = {name = "tiếng Argobba", templates = 2},
    ["xrn"] = {name = "tiếng Arin", templates = 2},
    ["hye"] = {short = "hy", name = "tiếng Armenia", templates = 2},
    ["asm"] = {short = "as", name = "tiếng Assam", templates = 2},
    ["ast"] = {name = "tiếng Asturias", templates = 2},
    ["ava"] = {short = "av", name = "tiếng Avar", templates = 2},
    ["ave"] = {name = "tiếng Avestan", templates = 2},
    ["azo"] = {name = "tiếng Awing", templates = 2},
    ["awn"] = {name = "tiếng Awngi", templates = 2},
    ["aib"] = {name = "tiếng Äynu", templates = 2},
    ["aze"] = {short = "az", name = "tiếng Azerbaijan", templates = 2},
    ["pol"] = {short = "pl", name = "tiếng Ba Lan", templates = 2},
	["bdq"] = {name = "tiếng Ba Na", templates = 2},
    ["fas"] = {short = "fa", name = "tiếng Ba Tư", templates = 2},
    ["tuw-bal"] = {name = "tiếng Bala", templates = 2},
	["ban"] = {name = "tiếng Bali", templates = 2},
	["bax-o"] = {name = "tiếng Bamum cổ", templates = 2},
	["peh"] = {name = "tiếng Bảo An", templates = 2},
    ["bak"] = {short = "ba", name = "tiếng Bashkir", templates = 2},
    ["bst"] = {name = "tiếng Basketo", templates = 2},
    ["eus"] = {short = "eu", name = "tiếng Basque", templates = 2},
    ["atv"] = {name = "tiếng Bắc Altai", templates = 2},
	["non"] = {name = "tiếng Bắc Âu cổ", templates = 2},
	["frr"] = {name = "tiếng Bắc Friesland", templates = 2},
	["sme"] = {short = "se", name = "tiếng Bắc Sami", templates = 2},
	["nod"] = {name = "tiếng Bắc Thái", templates = 2},
	["ykg"] = {name = "tiếng Bắc Yukaghir", templates = 2},
	["bbl"] = {name = "tiếng Bats", templates = 2},
    ["bej"] = {name = "tiếng Beja", templates = 2},
    ["bel"] = {short = "be", name = "tiếng Belarus", templates = 2},
    ["blc"] = {name = "tiếng Bella Coola", templates = 2},
    ["ben"] = {short = "bn", name = "tiếng Bengal", templates = 2},
    ["bho"] = {name = "tiếng Bhojpur", templates = 2},
    ["byn"] = {name = "tiếng Bilen", templates = 2},
    ["bpy"] = {name = "tiếng Bishnupriya", templates = 2},
	["bnl"] = {name = "tiếng Boon", templates = 2},
    ["por"] = {short = "pt", name = "tiếng Bồ Đào Nha", templates = 2},
    ["roa-ptg"] = {name = "tiếng Bồ Đào Nha cổ", templates = 2},
    ["ina"] = {short = "ia", name = "tiếng Bổ trợ Quốc tế", templates = 2},
    ["pcc"] = {name = "tiếng Bố Y", templates = 2},
    ["bre"] = {short = "br", name = "tiếng Breton", templates = 2},
    ["brb"] = {name = "tiếng Brâu", templates = 2},
    ["bru"] = {name = "tiếng Bru", templates = 2},
    ["xbo"] = {name = "tiếng Bulgar", templates = 2},
    ["bul"] = {short = "bg", name = "tiếng Bulgari", templates = 2},
    ["bsk"] = {name = "tiếng Burushaski", templates = 2},
    ["bua"] = {name = "tiếng Buryat", templates = 2},
    ["kxy"] = {name = "tiếng Ca Dong", templates = 2},
    ["chl"] = {name = "tiếng Cahuilla", templates = 2},
    ["crx"] = {name = "tiếng Carrier", templates = 2},
    ["cat"] = {short = "ca", name = "tiếng Catalan", templates = 2},
    ["ceb"] = {name = "tiếng Cebu", templates = 2},
    ["chg"] = {name = "tiếng Chagatai", templates = 2},
    ["cha"] = {short = "ch", name = "tiếng Chamorro", templates = 2},
    ["cjm"] = {name = "tiếng Chăm Đông", templates = 2},
    ["che"] = {short = "ce", name = "tiếng Chechen", templates = 2},
    ["chr"] = {name = "tiếng Cherokee", templates = 2},
    ["chy"] = {name = "tiếng Cheyenne", templates = 2},
    ["chb"] = {name = "tiếng Chibcha", templates = 2},
    ["crw"] = {name = "tiếng Chơ Ro", templates = 2},
    ["cje"] = {name = "tiếng Chu Ru", templates = 2},
    ["clw"] = {name = "tiếng Chulym", templates = 2},
    ["xcv"] = {name = "tiếng Chuvan", templates = 2},
    ["chv"] = {short = "cv", name = "tiếng Chuvash", templates = 2},
    ["scb"] = {name = "tiếng Chứt", templates = 2},
    ["cua"] = {name = "tiếng Co", templates = 2},
    ["cop"] = {name = "tiếng Copt", templates = 2},
    ["cos"] = {short = "co", name = "tiếng Corse", templates = 2},
    ["cow"] = {name = "tiếng Cowlitz", templates = 2},
    ["cnc"] = {name = "tiếng Cống", templates = 2},
    ["ktv"] = {name = "tiếng Cơ Tu", templates = 2},
    ["mps"] = {name = "tiếng Dadibi", templates = 2},
    ["dal"] = {name = "tiếng Dahalo", templates = 2},
    ["dak"] = {name = "tiếng Dakota", templates = 2},
    ["dar"] = {name = "tiếng Dargwa", templates = 2},
    ["dta"] = {name = "tiếng Daur", templates = 2},
    ["chp"] = {name = "tiếng Denesuline", templates = 2},
	["div"] = {short = "dv", name = "tiếng Dhivehi", templates = 2},
	["rom"] = {name = "tiếng Digan", templates = 2},
	["din"] = {name = "tiếng Dinka", templates = 2},
	["heb"] = {short = "he", name = "tiếng Do Thái", templates = 2},
	["doi"] = {name = "tiếng Dogri", templates = 2},
	["dgr"] = {name = "tiếng Dogrib", templates = 2},
    ["dlg"] = {name = "tiếng Dolgan", templates = 2},
    ["trk-dkh"] = {name = "tiếng Dukha", templates = 2},
    ["uig"] = {short = "ug", name = "tiếng Duy Ngô Nhĩ", templates = 2},
    ["oui"] = {name = "tiếng Duy Ngô Nhĩ cổ", templates = 2},
    ["sce"] = {name = "tiếng Đông Hương", templates = 2},
    ["yuy"] = {name = "tiếng Đông Yugur", templates = 2},
    ["dan"] = {short = "da", name = "tiếng Đan Mạch", templates = 2},
    ["deu"] = {short = "de", name = "tiếng Đức", templates = 2},
    ["bin"] = {name = "tiếng Edo", templates = 2},
    ["myv"] = {name = "tiếng Erzya", templates = 2},
    ["est"] = {short = "et", name = "tiếng Estonia", templates = 2},
    ["eve"] = {name = "tiếng Even", templates = 2},
    ["evn"] = {name = "tiếng Evenk", templates = 2},
    ["ewe"] = {short = "ee", name = "tiếng Ewe", templates = 2},
    ["eya"] = {name = "tiếng Eyak", templates = 2},
    ["rad"] = {name = "tiếng Ê Đê", templates = 2},
    ["fao"] = {short = "fo", name = "tiếng Faroe", templates = 2},
    ["fij"] = {short = "fj", name = "tiếng Fiji", templates = 2},
    ["fry"] = {short = "fy", name = "tiếng Tây Frisia", templates = 2},
    ["fur"] = {name = "tiếng Friuli", templates = 2},
    ["ful"] = {short = "ff", name = "tiếng Fula", templates = 2},
    ["gla"] = {short = "gd", name = "tiếng Gael Scotland", templates = 2},
    ["gag"] = {name = "tiếng Gagauz", templates = 2},
    ["glg"] = {short = "gl", name = "tiếng Galicia", templates = 2},
    ["grt"] = {name = "tiếng Garo", templates = 2},
    ["gez"] = {name = "tiếng Geʽez", templates = 2},
    ["jra"] = {name = "tiếng Gia Rai", templates = 2},
    ["kik"] = {short = "ki", name = "tiếng Gikuyu", templates = 2},
    ["gii"] = {name = "tiếng Girirra", templates = 2},
    ["got"] = {name = "tiếng Goth", templates = 2},
    ["kal"] = {short = "kl", name = "tiếng Greenland", templates = 2},
    ["kat"] = {short = "ka", name = "tiếng Gruzia", templates = 2},
    ["oge"] = {name = "tiếng Gruzia cổ", templates = 2},
    ["grn"] = {short = "gn", name = "tiếng Guaraní", templates = 2},
    ["guk"] = {name = "tiếng Gumuz", templates = 2},
    ["gwi"] = {name = "tiếng Gwichʼin", templates = 2}, 
    ["nds"] = {name = "tiếng Hạ Đức", templates = 2},
    ["nld"] = {short = "nl", name = "tiếng Hà Lan", templates = 2},
    ["hal"] = {name = "tiếng Hà Lăng", templates = 2},
    ["hni"] = {name = "tiếng Hà Nhì", templates = 2},
    ["dsb"] = {name = "tiếng Hạ Sorb", templates = 2},
    ["lic"] = {name = "tiếng Hlai", templates = 2},
    ["hat"] = {short = "ht", name = "tiếng Haiti", templates = 2},
    ["hnn"] = {name = "tiếng Hanunoo", templates = 2},
    ["har"] = {name = "tiếng Harari", templates = 2},
    ["haw"] = {name = "tiếng Hawaii", templates = 2},
    ["hin"] = {short = "hi", name = "tiếng Hindi", templates = 2},
    ["hit"] = {name = "tiếng Hitti", templates = 2},
    ["hoc"] = {name = "tiếng Ho", templates = 2},
    ["win"] = {name = "tiếng Hocak", templates = 2},
    ["hre"] = {name = "tiếng Hrê", templates = 2},
    ["hun"] = {short = "hu", name = "tiếng Hungary", templates = 2},
    ["ell"] = {short = "el", name = "tiếng Hy Lạp", templates = 2},
    ["grc"] = {name = "tiếng Hy Lạp cổ", templates = 2},
    ["gmy"] = {name = "tiếng Hy Lạp thời Mycenae", templates = 2},
    ["ibb"] = {name = "tiếng Ibibio", templates = 2},
    ["isl"] = {short = "is", name = "tiếng Iceland", templates = 2},
    ["ido"] = {short = "io", name = "tiếng Ido", templates = 2},
    ["igl"] = {name = "tiếng Igala", templates = 2},
    ["ibo"] = {short = "ig", name = "tiếng Igbo", templates = 2},
    ["ili"] = {name = "tiếng Ili Turki", templates = 2},
    ["ind"] = {short = "id", name = "tiếng Indonesia", templates = 2},
    ["izh"] = {name = "tiếng Ingria", templates = 2},
    ["inh"] = {name = "tiếng Ingush", templates = 2},
    ["iku"] = {short = "iu", name = "tiếng Inuktitut", templates = 2},
    ["ipk"] = {short = "ik", name = "tiếng Inupiaq", templates = 2},
    ["irk"] = {name = "tiếng Iraqw", templates = 2},
    ["gle"] = {short = "ga", name = "tiếng Ireland", templates = 2},
    ["sga"] = {name = "tiếng Ireland cổ", templates = 2},
    ["ruo"] = {name = "tiếng Istria Rumani", templates = 2},
    ["bkm"] = {name = "tiếng Itaŋikom", templates = 2},
    ["jac"] = {name = "tiếng Jacaltec", templates = 2},
    ["jav"] = {name = "tiếng Java", templates = 2},
    ["jje"] = {name = "tiếng Jeju", templates = 2},
    ["jii"] = {name = "tiếng Jiiddu", templates = 2},
    ["kpm"] = {name = "tiếng K'Ho", templates = 2},
    ["kbd"] = {name = "tiếng Kabardia", templates = 2},
    ["kbp"] = {name = "tiếng Kabiye", templates = 2},
    ["xal"] = {name = "tiếng Kalmyk", templates = 2},
    ["rmf"] = {name = "tiếng Kalo tại Phần Lan", templates = 2},
    ["xas"] = {name = "tiếng Kamassia", templates = 2},
    ["kan"] = {short = "kn", name = "tiếng Kannada", templates = 2},
    ["kxs"] = {name = "tiếng Kangjia", templates = 2},
    ["krc"] = {name = "tiếng Karachay-Balkar", templates = 2},
    ["kdr"] = {name = "tiếng Karaim", templates = 2},
    ["kaa"] = {name = "tiếng Karakalpak", templates = 2},
    ["xqa"] = {name = "tiếng Karakhanid", templates = 2},
    ["krl"] = {name = "tiếng Karelia", templates = 2},
    ["kas"] = {short = "ks", name = "tiếng Kashmir", templates = 2},
    ["csb"] = {name = "tiếng Kaszëb", templates = 2},
    ["kaz"] = {name = "tiếng Kazakh", templates = 2},
    ["ket"] = {name = "tiếng Ket", templates = 2},
    ["kjh"] = {name = "tiếng Khakas", templates = 2},
    ["klj"] = {name = "tiếng Khalaj", templates = 2},
    ["kjm"] = {name = "tiếng Kháng", templates = 2},
    ["kha"] = {name = "tiếng Khasi", templates = 2},
    ["zkz"] = {name = "tiếng Khazar", templates = 2},
    ["zkt"] = {name = "tiếng Khiết Đan", templates = 2},
    ["khm"] = {short = "km", name = "tiếng Khmer", templates = 2},
    ["xhv"] = {name = "tiếng Khùa", templates = 2},
    ["khv"] = {name = "tiếng Khvarshi", templates = 2},
    ["tlh"] = {name = "tiếng Klingon", templates = 2},
    ["tuw-kil"] = {name = "tiếng Kili", templates = 2},
    ["zkb"] = {name = "tiếng Koibal", templates = 2},
    ["kpv"] = {name = "tiếng Komi-Zyrian", templates = 2},
    ["ozm"] = {name = "tiếng Koonzime", templates = 2},
    ["avk"] = {name = "tiếng Kotava", templates = 2},
    ["zko"] = {name = "tiếng Kott", templates = 2},
    ["ses"] = {name = "tiếng Koyraboro Senni", templates = 2},
    ["jct"] = {name = "tiếng Krymchak", templates = 2},
    ["kum"] = {name = "tiếng Kumyk", templates = 2},
    ["kur"] = {short = "ku", name = "tiếng Kurd", templates = 2},
    ["kdt"] = {name = "tiếng Kuy", templates = 2},
    ["wka"] = {name = "tiếng Kw'adza", templates = 2},
    ["tuw-kkl"] = {name = "tiếng Kyakala", templates = 2},
    ["kir"] = {name = "tiếng Kyrgyz", templates = 2},
    ["trk-fyk"] = {name = "tiếng Kyrgyz Phú Dụ", templates = 2},
    ["lha"] = {name = "tiếng La Ha", templates = 2},
    ["lhu"] = {name = "tiếng La Hủ", templates = 2},
    ["lld"] = {name = "tiếng Ladin", templates = 2},
    ["lbe"] = {name = "tiếng Lak", templates = 2},
    ["lkt"] = {name = "tiếng Lakota", templates = 2},
    ["lao"] = {short = "lo", name = "tiếng Lào", templates =2},
    ["lsi"] = {name = "tiếng Lashi", templates = 2},
    ["lat"] = {short = "la", name = "tiếng Latinh", templates = 2},
    ["lav"] = {short = "lv", name = "tiếng Latvia", templates = 2},
    ["lwl"] = {name = "tiếng Lawa Đông", templates = 2},
    ["lcp"] = {name = "tiếng Lawa Tây", templates = 2},
    ["lep"] = {name = "tiếng Lepcha", templates = 2},
    ["lij"] = {name = "tiếng Liguria", templates = 2},
    ["lim"] = {short = "li", name = "tiếng Limburg", templates = 2},
    ["lit"] = {short = "lt", name = "tiếng Litva", templates = 2},
    ["jbo"] = {name = "tiếng Lojban", templates = 2},
    ["lmo"] = {name = "tiếng Lombard", templates = 2},
    ["iii"] = {short = "ii", name = "tiếng Lô Lô", templates = 2},
    ["luo"] = {name = "tiếng Luo", templates = 2},
    ["lut"] = {name = "tiếng Lushootseed", templates = 2},
    ["luv"] = {name = "tiếng Luwati", templates = 2},
    ["khb"] = {name = "tiếng Lự", templates = 2},
    ["xlc"] = {name = "tiếng Lycia", templates = 2},
    ["lyg"] = {name = "tiếng Lyngngam", templates = 2},
    ["cma"] = {name = "tiếng Mạ", templates = 2},
    ["msa"] = {short = "ms", name = "tiếng Mã Lai", templates = 2},
    ["zlm"] = {short = "ms", name = "tiếng Mã Lai", templates = 2},
    ["pkt"] = {name = "tiếng Mã Liềng",templates = 2},
    ["mas"] = {name = "tiếng Maasai", templates = 2},
    ["ymm"] = {name = "tiếng Maay", templates = 2},
    ["mkd"] = {short = "mk", name = "tiếng Macedoni", templates = 2},
    ["mai"] = {name = "tiếng Maithil", templates = 2},
    ["mlg"] = {short = "mg", name = "tiếng Malagasy", templates = 2},
    ["mlt"] = {short = "mt", name = "tiếng Malta", templates = 2},
    ["glv"] = {short = "gv", name = "tiếng Man", templates = 2},
    ["mnc"] = {name = "tiếng Mãn Châu", templates = 2},
    ["zng"] = {name = "tiếng Mảng", templates = 2},
    ["xgn-mgr"] = {name = "tiếng Mangghuer", templates = 2},
    ["mmd"] = {name = "tiếng Mao Nam", templates = 2},
    ["mri"] = {short = "mi", name = "tiếng Maori", templates = 2},
    ["mrw"] = {name = "tiếng Maranao", templates = 2},
    ["mar"] = {short = "mr", name = "tiếng Marathi", templates = 2},
    ["chm"] = {name = "tiếng Mari", templates = 2},
    ["mah"] = {short = "mh", name = "tiếng Marshall", templates = 2},
    ["mtm"] = {name = "tiếng Mator", templates = 2},
    ["men"] = {name = "tiếng Mende", templates = 2},
    ["mya"] = {short = "my", name = "tiếng Miến Điện", templates = 2},
    ["xmf"] = {name = "tiếng Mingrelia", templates = 2},
    ["mvi"] = {name = "tiếng Miyako", templates = 2},
    ["cmo"] = {name = "tiếng M'Nông Trung", templates = 2},
    ["mhj"] = {name = "tiếng Mogholi", templates = 2},
    ["mdf"] = {name = "tiếng Moksha", templates = 2},
    ["mnw"] = {name = "tiếng Môn", templates = 2},
    ["hmn"] = {name = "tiếng Mông", templates = 2},
    ["mon"] = {short = "mn", name = "tiếng Mông Cổ", templates = 2},
    ["ykh"] = {name = "tiếng Mông Cổ Khamnigan", templates = 2},
    ["xgn-pro"] = {name = "tiếng Mông Cổ nguyên thuỷ", templates = 2},
    ["xng"] = {name = "tiếng Mông Cổ trung đại", templates = 2},
    ["mww"] = {name = "tiếng Mông Trắng", templates = 2},
    ["hnj"] = {name = "tiếng Mông Xanh", templates = 2},
    ["unr"] = {name = "tiếng Mundari", templates = 2},
    ["mtq"] = {name = "tiếng Mường", templates = 2},
    ["nor"] = {short = "no", names = {"tiếng Na Uy", "tiếng Na Uy (Bokmål)", "tiếng Na Uy (Nynorsk)"}, templates = 2 + 2 + 2},
    ["nci"] = {name = "tiếng Nahuatl cổ điển", templates = 2},
    ["alt"] = {name = "tiếng Nam Altai", templates = 2},
    ["kmc"] = {name = "tiếng Nam Động", templates = 2},
    ["sma"] = {name = "tiếng Nam Sami", templates = 2},
    ["uzs"] = {name = "tiếng Nam Uzbek", templates = 2},
    ["yux"] = {name = "tiếng Nam Yukaghir", templates = 2},
    ["gld"] = {name = "tiếng Nanai", templates = 2},
    ["nxq"] = {name = "tiếng Nạp Tây", templates = 2},
    ["nap"] = {name = "tiếng Naples", templates = 2},
    ["nau"] = {short = "na", name = "tiếng Nauru", templates = 2},
    ["nav"] = {short = "nv", name = "tiếng Navajo", templates = 2},
    ["neg"] = {short = "ne", name = "tiếng Negidal", templates = 2},
    ["syd-fne"] = {name = "tiếng Nenets rừng", templates = 2},
    ["nep"] = {short = "ne", name = "tiếng Nepal", templates = 2},
    ["new"] = {name = "tiếng Newa", templates = 2},
    ["niu"] = {name = "tiếng Niue", templates = 2},
    ["nog"] = {name = "tiếng Nogai", templates = 2},
    ["nrf"] = {name = "tiếng Norman", templates = 2},
    ["rus"] = {short = "ru", name = "tiếng Nga", templates = 2},
    ["nuo"] = {name = "tiếng Nguồn", templates = 2},
    ["wuh"] = {name = "tiếng Ngũ Đồn", templates = 2},
    ["jpn"] = {short = "ja", name = "tiếng Nhật", templates = 3},
    ["ojp"] = {name = "tiếng Nhật cổ", templates = 2},
    ["nut"] = {name = "tiếng Nùng", templates = 2},
    ["enc"] = {name = "tiếng Nùng Vẻn", templates = 2},
    ["juc"] = {name = "tiếng Nữ Chân", templates = 2},
    ["oci"] = {short = "oc", name = "tiếng Oc", templates = 2},
    ["oca"] = {name = "tiếng Ocaina", templates = 2},
    ["ryu"] = {name = "tiếng Okinawa", templates = 2},
    ["xwo"] = {name = "tiếng Oirat", templates = 2},
    ["omk"] = {name = "tiếng Omok", templates = 2},
    ["oac"] = {name = "tiếng Oroch", templates = 2},
    ["oaa"] = {name = "tiếng Orok", templates = 2},
    ["orm"] = {short = "om", name = "tiếng Oromo", templates = 2},
    ["orh"] = {name = "tiếng Oroqen", templates = 2},
    ["osa"] = {name = "tiếng Osage", templates = 2},
    ["oss"] = {short = "os", name = "tiếng Ossetia", templates = 2},
    ["ovd"] = {name = "tiếng Övdal", templates = 2},
	["tyh"] = {name = "tiếng Ơ Đu", templates = 2},
	["pdi"] = {name = "tiếng Pa Dí", templates = 2},
    ["pac"] = {name = "tiếng Pa Kô", templates = 2},
    ["pau"] = {name = "tiếng Palau", templates = 2},
    ["pli"] = {short = "pi", name = "tiếng Pali", templates = 2},
    ["pap"] = {name = "tiếng Papiamento", templates = 2},
    ["pus"] = {short = "ps", name = "tiếng Pashtun", templates = 2},
    ["paw"] = {name = "tiếng Pawnee", templates = 2},
    ["san"] = {short = "sa", name = "tiếng Phạn", templates = 2},
    ["fin"] = {short = "fi", name = "tiếng Phần Lan", templates = 2},
    ["fra"] = {short = "fr", name = "tiếng Pháp", templates = 2},
    ["pht"] = {name = "tiếng Phu Thái", templates = 2},
    ["pbv"] = {name = "tiếng Pnar", templates = 2},
    ["pox"] = {name = "tiếng Polabia", templates = 2},
    ["hnu"] = {name = "tiếng Pọng", templates = 2},
    ["poi"] = {name = "tiếng Popoluca cao nguyên", templates = 2},
    ["apq"] = {name = "tiếng Pucikwar", templates = 2},
    ["xpm"] = {name = "tiếng Pumpokol", templates = 2},
    ["pan"] = {name = "tiếng Punjab", templates = 2},
    ["qxq"] = {name = "tiếng Qashqai", templates = 2},
    ["aav-qal"] = {name = "tiếng Quảng Lâm", templates = 2},
    ["qya"] = {name = "tiếng Quenya", templates = 2},
    ["epo"] = {short = "eo", name = "Quốc tế ngữ", templates = 2},
    ["rap"] = {name = "tiếng Rapa Nui", templates = 2},
    ["rhg"] = {name = "tiếng Rohingya", templates = 2},
    ["rgn"] = {name = "tiếng Romagnol", templates = 2},
    ["roh"] = {short = "rm", name = "tiếng Romansh", templates = 2},
    ["rmx"] = {name = "tiếng Rơ Măm", templates = 2},
    ["dru"] = {name = "tiếng Rukai", templates = 2},
    ["ron"] = {short = "ro", name = "tiếng Rumani", templates = 2},    
    ["str"] = {name = "tiếng Saanich", templates = 2},
    ["xsa"] = {name = "tiếng Saba", templates = 2},
    ["skb"] = {name = "tiếng Saek", templates = 2},
    ["ssy"] = {name = "tiếng Saho", templates = 2},
    ["slr"] = {name = "tiếng Salar", templates = 2},
    ["smn"] = {name = "tiếng Sami Inari", templates = 2},
    ["sjd"] = {name = "tiếng Sami Kildin", templates = 2},
    ["mlc"] = {name = "tiếng Sán Chay", templates = 2},
    ["sat"] = {name = "tiếng Santal", templates = 2},
    ["sco"] = {name = "tiếng Scots", templates = 2},
    ["sgw"] = {name = "tiếng Sebat Bet Gurage", templates = 2},
    ["ces"] = {short = "cs", name = "tiếng Séc", templates = 2},
    ["hbs"] = {short = "sh", name = "tiếng Serbia-Croatia", templates = 2},
    ["shn"] = {name = "tiếng Shan", templates = 2},
    ["sna"] = {name = "tiếng Shona", templates = 2},
    ["cjs"] = {name = "tiếng Shor", templates = 2},
    ["szl"] = {name = "tiếng Silesia", templates = 2},
    ["snd"] = {short = "sd", name = "tiếng Sindh", templates = 2},
    ["sin"] = {short = "si", name = "tiếng Sinhala", templates = 2},
    ["chu"] = {short = "cu", name = "tiếng Slav Giáo hội cổ", templates = 2},
    ["sla-pro"] = {name = "tiếng Slav nguyên thuỷ", templates = 2},
    ["slk"] = {short = "sk", name = "tiếng Slovak", templates = 2},
    ["slv"] = {short = "sl", name = "tiếng Slovene", templates = 2},
    ["zlw-slv"] = {name = "tiếng Slovincia", templates = 2},
    ["sog"] = {name = "tiếng Sogdia", templates = 2},
    ["tuw-sol"] = {name = "tiếng Solon", templates = 2},
    ["srb"] = {name = "tiếng Sora", templates = 2},
    ["ckb"] = {name = "tiếng Soran", templates = 2},
    ["trk-soy"] = {name = "tiếng Soyot", templates = 2},
    ["sux"] = {name = "tiếng Sumer", templates = 2},
    ["sun"] = {short = "su", name = "tiếng Sunda", templates = 2},
    ["swa"] = {short = "sw", name = "tiếng Swahili", templates = 2},
    ["syc"] = {name = "tiếng Syria", templates = 2},
    ["tgl"] = {short = "tl", name = "tiếng Tagalog", templates = 2},
    ["tgk"] = {short = "tg", name = "tiếng Tajik", templates = 2},
    ["tzl"] = {name = "tiếng Talossa", templates = 2},
    ["tzm"] = {name = "tiếng Tamazight Trung Atlas", templates = 2},
    ["tam"] = {short = "ta", name = "tiếng Tamil", templates = 2},
    ["tat"] = {short = "tt", name = "tiếng Tatar", templates = 2},
    ["crh"] = {name = "tiếng Tatar Crưm", templates = 2},
    ["sty"] = {name = "tiếng Tatar Siberia", templates = 2},
    ["tyj"] = {name = "tiếng Tay Dọ", templates = 2},
    ["tyz"] = {name = "tiếng Tày", templates = 2},
    ["tys"] = {name = "tiếng Tày Sa Pa", templates = 2},
    ["zhx-taz"] = {name = "tiếng Taz", templates = 2},
    ["spa"] = {short = "es", name = "tiếng Tây Ban Nha", templates = 2},
    ["kyu"] = {name = "tiếng Tây Kayah", templates = 2},
    ["bod"] = {name = "tiếng Tây Tạng", templates = 2},
    ["ybe"] = {name = "tiếng Tây Yugur", templates = 2},
    ["tet"] = {name = "tiếng Tetum", templates = 2},
    ["thm"] = {name = "tiếng Thavưng", templates = 2},
    ["tha"] = {short = "th", name = "tiếng Thái", templates = 2},
    ["blt"] = {name = "tiếng Thái Đen", templates = 2},
    ["tou"] = {name = "tiếng Thổ", templates = 2},
    ["tur"] = {short = "tr", name = "tiếng Thổ Nhĩ Kỳ", templates = 2},
    ["ota"] = {name = "tiếng Thổ Nhĩ Kỳ Ottoman", templates = 2},
    ["swi"] = {name = "tiếng Thủy", templates = 2},
    ["swe"] = {short = "sv", name = "tiếng Thụy Điển", templates = 2},
    ["hsb"] = {name = "tiếng Thượng Sorb", templates = 2},
    ["tig"] = {name = "tiếng Tigre", templates = 2},
    ["tir"] = {name = "tiếng Tigrinya", templates = 2},
	["sjo"] = {name = "tiếng Tích Bá", templates = 2},
    ["tli"] = {name = "tiếng Tlingit", templates = 2},
    ["xto"] = {name = "tiếng Tochari A", templates = 2},
    ["kim"] = {name = "tiếng Tofa", templates = 2},
    ["tpi"] = {name = "tiếng Tok Pisin", templates = 2},
    ["zha"] = {name = "tiếng Tráng", templates = 2},
    ["kor"] = {short = "ko", name = "tiếng Triều Tiên", templates = 2},
    ["oko"] = {name = "tiếng Triều Tiên cổ", templates = 2},
    ["okm"] = {name = "tiếng Triều Tiên trung đại", templates = 2},
    ["gan"] = {name = "tiếng Cám", templates = 2, isChinese = true},
    ["dng"] = {name = "tiếng Đông Can", templates = 2, isChinese = true},
    ["czh"] = {name = "tiếng Huy", templates = 2, isChinese = true},
    ["hak"] = {name = "tiếng Khách Gia", templates = 2, isChinese = true},
    ["mnp"] = {name = "tiếng Mân Bắc", templates = 2, isChinese = true},
    ["cdo"] = {name = "tiếng Mân Đông", templates = 2, isChinese = true},
    ["nan"] = {short = "zh-min-nan", name = "tiếng Mân Nam", templates = 2, isChinese = true},
    ["czo"] = {name = "tiếng Mân Trung", templates = 2, isChinese = true},
    ["wuu"] = {name = "tiếng Ngô", templates = 2, isChinese = true},
    ["cpx"] = {name = "tiếng Phổ Hiền", templates = 2, isChinese = true},
    ["cmn"] = {short = "zh-cmn", name = "tiếng Quan Thoại", templates = 2, isChinese = true},
    ["yue"] = {short = "zh-yue", name = "tiếng Quảng Đông", templates = 2, isChinese = true},
    ["txg"] = {name = "tiếng Tangut", templates = 2, isChinese = true},
    ["cjy"] = {name = "tiếng Tấn", templates = 2, isChinese = true},
    ["zho"] = {short = "zh", name = "tiếng Trung Quốc", templates = 2, isChinese = true},
    ["hsn"] = {name = "tiếng Tương", templates = 2, isChinese = true},
    ["tpn"] = {name = "tiếng Tupi", templates = 2},
    ["otk"] = {name = "tiếng Turk cổ", templates = 2},
    ["zkh"] = {name = "tiếng Turk Khorezm", templates = 2},
    ["kmz"] = {name = "tiếng Turk Khorasan", templates = 2},
    ["trk-pro"] = {name = "tiếng Turk nguyên thuỷ", templates = 2},
    ["tuk"] = {short = "tk", name = "tiếng Turkmen", templates = 2},
    ["tyv"] = {name = "tiếng Tuva", templates = 2},
    ["ude"] = {name = "tiếng Udihe", templates = 2},
    ["udm"] = {name = "tiếng Udmurt", templates = 2},
    ["ulc"] = {name = "tiếng Ulch", templates = 2},
    ["ukr"] = {short = "uk", name = "tiếng Ukraina", templates = 2},
    ["urd"] = {short = "ur", name = "tiếng Urdu", templates = 2},
    ["uum"] = {name = "tiếng Urum", templates = 2},
    ["uzb"] = {short = "uz", name = "tiếng Uzbek", templates = 2},
    ["ium"] = {name = "tiếng Ưu Miền", templates = 2},
    ["vai"] = {name = "tiếng Vai", templates = 2},
    ["vep"] = {name = "tiếng Veps", templates = 2},
    ["vie"] = {short = "vi", names = {"tiếng Việt", "tiếng Việt trung cổ", "chữ Nôm"}, templates = 3 + 2 + 3},
    ["vol"] = {short = "vo", name = "tiếng Volapük", templates = 2},
    ["vot"] = {name = "tiếng Vot", templates = 2},
    ["wbl"] = {name = "tiếng Wakhi", templates = 2},
    ["cym"] = {short = "cy", name = "tiếng Wales", templates = 2},
    ["oym"] = {name = "tiếng Wayampi", templates = 2},
    ["wnw"] = {name = "tiếng Wintu", templates = 2},
    ["wol"] = {name = "tiếng Wolof", templates = 2},
    ["wym"] = {name = "tiếng Wymysorys", templates = 2},
    ["xan"] = {name = "tiếng Xamtanga", templates = 2},
    ["sed"] = {name = "tiếng Xơ Đăng", templates = 2},
    ["sti"] = {name = "tiếng Xtiêng", templates = 2},
    ["ita"] = {short = "it", name = "tiếng Ý", templates = 2},
    ["muu"] = {name = "tiếng Yaaku", templates = 2},
    ["sah"] = {name = "tiếng Yakut", templates = 2},
    ["yid"] = {short = "yi", name = "tiếng Yiddish", templates = 2},
    ["yii"] = {name = "tiếng Yidiny", templates = 2},
    ["yor"] = {short = "yo", name = "tiếng Yoruba", templates = 2},
    ["yoy"] = {name = "tiếng Yoy", templates = 2},
    ["yug"] = {name = "tiếng Yugh", templates = 2},
    ["qfa-yuk-pro"] = {name = "tiếng Yukaghir nguyên thuỷ", templates = 2},
    ["ase"] = {name = "ngôn ngữ ký hiệu Mỹ", templates = 2},
    ["dje"] = {name = "tiếng Zarma", templates = 2},
    ["zza"] = {name = "tiếng Zazaki", templates = 2},
    ["mul"] = {name = "đa ngữ", templates = 2},
    ["und"] = {name = "không xác định ngôn ngữ", templates = 2},
    ["nmn"] = {name = "tiếng ǃXóõ", templates = 2},
}

p["số ngôn ngữ"] = function (frame)
    if p.numberOfLanguages then return p.numberOfLanguages end
    local count = 0
    for i, entry in pairs(p.categoriesByCode) do count = count + 1 end
    p.numberOfLanguages = count
    return p.numberOfLanguages
end

---Xây dựng ánh xạ sắp xếp từ các mã ngôn ngữ ISO 639-2 đến các tên ngôn ngữ.
function p._buildNamedCodes()
    if p.namedCodes then return end
    
    p.namedCodes = {}
    for code, category in pairs(p.categoriesByCode) do
        local name = category.name or category.names[1]
        name = lang:ucfirst(mw.ustring.gsub(
            mw.ustring.gsub(name, "^tiếng ", "", 1), "^chữ ", "", 1))
        table.insert(p.namedCodes, {code, name})
    end
    table.sort(p.namedCodes, function (namedCode1, namedCode2)
        return viet.comp(namedCode1[2], namedCode2[2])
    end)
end

---Tính các mã ngôn ngữ ISO 639-2 của các ngôn ngữ Trung Quốc.
function p._buildChineseCodes()
    if p.chineseCodes then return end
    
    p.chineseCodes = {}
    for code, category in pairs(p.categoriesByCode) do
        if category.isChinese then
            local name = category.name or category.names[1]
            name = lang:ucfirst(mw.ustring.gsub(
                mw.ustring.gsub(name, "^tiếng ", "", 1), "^chữ ", "", 1))
            table.insert(p.chineseCodes, {code, name})
        end
    end
    table.sort(p.chineseCodes, function (namedCode1, namedCode2)
        return viet.comp(namedCode1[2], namedCode2[2])
    end)
end

function p.entriesForLanguage(code)
    local category = p.categoriesByCode[code]
    if category.name then
        local entries = stats.pagesInCategory(categoryPrefix .. category.name, "pages")
        return entries - category.templates
    end
    
    assert(category.names,
        "Mục ngôn ngữ trong bảng p.categoriesByCode không định rõ tên thể loại.")
    
    local total = 0
    for i, name in ipairs(category.names) do
        local entries = stats.pagesInCategory(categoryPrefix .. name, "pages")
        total = total + entries
    end
    return total - category.templates
end

---Tính tổng số mục từ tại wiki này.
-- Theo hàm này, một từ có trong hơn một ngôn ngữ có thể có hơn một mục từ ở
-- cùng một trang.
function p.entryCount(onlyCode)
    if onlyCode == "ZHO" then return p.numChineseEntries() end
    if onlyCode and #onlyCode > 0 then
        return p.entriesForLanguage(onlyCode)
    end
    
    local total = 0
    for code, category in pairs(p.categoriesByCode) do
        local entries = p.entriesForLanguage(code)
        total = total + entries
    end
    return total
end
p["số mục từ"] = function (frame)
    return p.entryCount(frame and frame.args[1])
end

---Tính tổng số mục từ trong các ngôn ngữ Trung Quốc.
function p.numChineseEntries()
    p._buildChineseCodes()
    local total = 0
    for i, code in ipairs(p.chineseCodes) do
        total = total + p.entriesForLanguage(code[1])
    end
    return total
end

function p.languageLinks(categoryNames)
    local sortKey
    local links = {}
    for i, categoryName in ipairs(categoryNames) do
        local languageName = lang:ucfirst(
            mw.ustring.gsub(
                mw.ustring.gsub(categoryName, "^tiếng ", "", 1),
            "^chữ ", "", 1))
        if not sortKey then sortKey = languageName end
        table.insert(links, string.format("[[:Thể loại:%s%s|%s]]",
            categoryPrefix, categoryName, languageName))
    end
    return table.concat(links, ", "), sortKey
end

p["bảng số mục từ"] = function (frame)
    local args = frame.args
    local expandChinese = args.subset == "zho"
    local subsetCodes = nil
    if expandChinese then
        p._buildChineseCodes()
        subsetCodes = p.chineseCodes
    else
        p._buildNamedCodes()
        subsetCodes = p.namedCodes
    end
    
    local rows = {}
    for i, namedCode in ipairs(subsetCodes) do
        category = p.categoriesByCode[namedCode[1]]
        if expandChinese or (namedCode[1] == "zho" or not category.isChinese) then
            local categoryLinks =
                p.languageLinks(category.names or {category.name})
            
            local entries
            if namedCode[1] == "zho" and not expandChinese then
                entries = p.numChineseEntries()
            else
                entries = p.entriesForLanguage(namedCode[1])
            end
            
            local entriesLink = args["chi tiết " .. namedCode[1]]
            if entriesLink then
                entries = string.format("[[%s|%s]]", entriesLink, entries)
            end
            table.insert(rows, string.format([=[
|-
| data-sort-value="%s" | %s || %s || style="text-align: right;" | %s
]=], namedCode[2], categoryLinks, namedCode[1], entries))
        end
    end
    
    local total
    if expandChinese then
        total = p.numChineseEntries()
    else
        total = p.entryCount()
    end
    
    return mw.ustring.format([=[
{| class="wikitable sortable"
|-
! Ngôn ngữ !! Mã ISO !! data-sort-type="number" | Số mục từ
%s
|- class="sortbottom" style="font-weight: bold;"
! scope="row" colspan="2" | Tổng số
| style="text-align: right;" |
%s
|}
]=], table.concat(rows), total)
end

return p