Module:Wikifunctions label

From Wikifunctions

Documentation for this module may be created at Module:Wikifunctions label/doc

--[[
Ironic, isn't it, that this code isn't itself a set of Wikifunctions objects?
]]

local p = {}

--[[
since there isn't a good way to map from {{int:lang}} to natural language objects
current as of 5 August 2023
]]
local lang_to_zid = {
["ar"] = "Z1001",
["en"] = "Z1002",
["es"] = "Z1003",
["fr"] = "Z1004",
["ru"] = "Z1005",
["zh"] = "Z1006",
["bn"] = "Z1011",
["ml"] = "Z1012",
["ha"] = "Z1013",
["ig"] = "Z1014",
["dag"] = "Z1015",
["bci"] = "Z1016",
["bom"] = "Z1017",
["blk"] = "Z1018",
["guw"] = "Z1019",
["ksw"] = "Z1020",
["no"] = "Z1021",
["saq"] = "Z1022",
["mak"] = "Z1023",
["cy"] = "Z1024",
["pl"] = "Z1025",
["shy"] = "Z1026",
["cak"] = "Z1027",
["snk"] = "Z1028",
["mwr"] = "Z1029",
["vai"] = "Z1030",
["chn"] = "Z1031",
["ng"] = "Z1032",
["ksf"] = "Z1033",
["to"] = "Z1034",
["knn"] = "Z1035",
["gez"] = "Z1036",
["pt"] = "Z1037",
["mgh"] = "Z1038",
["sw"] = "Z1039",
["tkr"] = "Z1040",
["ken"] = "Z1041",
["sjd"] = "Z1042",
["rof"] = "Z1043",
["dty"] = "Z1044",
["ary"] = "Z1045",
["crh"] = "Z1046",
["mdr"] = "Z1047",
["vi"] = "Z1048",
["egy"] = "Z1049",
["nge"] = "Z1050",
["fi"] = "Z1051",
["grc"] = "Z1052",
["si"] = "Z1053",
["ach"] = "Z1054",
["my"] = "Z1055",
["shy-tfng"] = "Z1056",
["pdt"] = "Z1057",
["sus"] = "Z1058",
["oc"] = "Z1059",
["ia"] = "Z1060",
["da"] = "Z1061",
["cs"] = "Z1062",
["gay"] = "Z1063",
["pro"] = "Z1064",
["pal"] = "Z1065",
["kiu"] = "Z1066",
["tpi"] = "Z1067",
["jut"] = "Z1068",
["skr-arab"] = "Z1069",
["kk-tr"] = "Z1070",
["esu"] = "Z1071",
["luz"] = "Z1072",
["wes"] = "Z1073",
["ny"] = "Z1074",
["crb"] = "Z1075",
["syr"] = "Z1076",
["mde"] = "Z1077",
["id"] = "Z1078",
["bjn"] = "Z1079",
["cnh"] = "Z1080",
["agq"] = "Z1081",
["sdc"] = "Z1082",
["pnb"] = "Z1083",
["aln"] = "Z1084",
["tn"] = "Z1085",
["nxm"] = "Z1086",
["om"] = "Z1087",
["dtp"] = "Z1088",
["ebu"] = "Z1089",
["rap"] = "Z1090",
["oj"] = "Z1091",
["rmy"] = "Z1092",
["dum"] = "Z1093",
["lus"] = "Z1094",
["ht"] = "Z1095",
["zen"] = "Z1096",
["rup"] = "Z1097",
["ks-arab"] = "Z1098",
["lb"] = "Z1099",
["xal"] = "Z1100",
["gcr"] = "Z1101",
["tay"] = "Z1102",
["lou"] = "Z1103",
["sju"] = "Z1104",
["cu"] = "Z1105",
["is"] = "Z1106",
["zh-tw"] = "Z1107",
["ti"] = "Z1108",
["qug"] = "Z1109",
["et"] = "Z1110",
["enm"] = "Z1111",
["bqz"] = "Z1112",
["en-au"] = "Z1113",
["arz"] = "Z1114",
["cr"] = "Z1115",
["pwn"] = "Z1116",
["alc"] = "Z1117",
["hif"] = "Z1118",
["efi"] = "Z1119",
["uz"] = "Z1120",
["ve"] = "Z1121",
["inh"] = "Z1122",
["rw"] = "Z1123",
["en-simple"] = "Z1124",
["en-x-simple"] = "Z1124",
["simple"] = "Z1124",
["bto"] = "Z1125",
["crh-latn"] = "Z1126",
["es-es"] = "Z1127",
["dgr"] = "Z1128",
["hsn"] = "Z1129",
["fon"] = "Z1130",
["kr"] = "Z1131",
["be-tarask"] = "Z1132",
["es-mx"] = "Z1133",
["cjy-hant"] = "Z1134",
["gbz"] = "Z1135",
["tlb"] = "Z1136",
["pap"] = "Z1137",
["tkl"] = "Z1138",
["suk"] = "Z1139",
["za"] = "Z1140",
["ik"] = "Z1141",
["ker"] = "Z1142",
["byv"] = "Z1143",
["sm"] = "Z1144",
["bkh"] = "Z1145",
["nds"] = "Z1146",
["dz"] = "Z1147",
["bpy"] = "Z1148",
["fkv"] = "Z1149",
["gag"] = "Z1150",
["mni"] = "Z1151",
["lzh"] = "Z1152",
["zh-classical"] = "Z1152",
["lij-mc"] = "Z1153",
["sam"] = "Z1154",
["war"] = "Z1155",
["cic"] = "Z1156",
["nl"] = "Z1157",
["sr"] = "Z1158",
["fur"] = "Z1159",
["mhr"] = "Z1160",
["rmg"] = "Z1161",
["io"] = "Z1162",
["tzl"] = "Z1163",
["bua"] = "Z1164",
["dsb"] = "Z1165",
["tnq"] = "Z1166",
["dav"] = "Z1167",
["tru"] = "Z1168",
["nrf-gg"] = "Z1169",
["gl"] = "Z1170",
["ja-hira"] = "Z1171",
["moh"] = "Z1172",
["ilo"] = "Z1173",
["hu-formal"] = "Z1174",
["lij"] = "Z1175",
["teo"] = "Z1176",
["kok"] = "Z1177",
["fuf"] = "Z1178",
["kcg"] = "Z1179",
["vun"] = "Z1180",
["sr-cyrl"] = "Z1181",
["sr-ec"] = "Z1181",
["ksh"] = "Z1182",
["mrj"] = "Z1183",
["am"] = "Z1184",
["ie"] = "Z1185",
["he"] = "Z1186",
["zza"] = "Z1187",
["ttt"] = "Z1188",
["dv"] = "Z1189",
["dak"] = "Z1190",
["sd"] = "Z1191",
["gom-latn"] = "Z1192",
["gba"] = "Z1193",
["frs"] = "Z1194",
["ady"] = "Z1195",
["abq"] = "Z1196",
["as"] = "Z1197",
["nwc"] = "Z1198",
["en-gb"] = "Z1199",
["rm-sursilv"] = "Z1200",
["sjk"] = "Z1201",
["yue"] = "Z1202",
["mcp"] = "Z1203",
["ike-latn"] = "Z1204",
["mic"] = "Z1205",
["mr"] = "Z1206",
["tg"] = "Z1207",
["el-cy"] = "Z1208",
["doi"] = "Z1209",
["rmo"] = "Z1210",
["ba"] = "Z1211",
["cch"] = "Z1212",
["arn"] = "Z1213",
["xsy"] = "Z1214",
["rmc"] = "Z1215",
["fy"] = "Z1216",
["ch"] = "Z1217",
["fo"] = "Z1218",
["kac"] = "Z1219",
["km"] = "Z1220",
["nan"] = "Z1221",
["zh-min-nan"] = "Z1221",
["krj"] = "Z1222",
["luo"] = "Z1223",
["kgp"] = "Z1224",
["clc"] = "Z1225",
["fil"] = "Z1226",
["nb"] = "Z1227",
["liv"] = "Z1228",
["li"] = "Z1230",
["de-formal"] = "Z1231",
["pcm"] = "Z1232",
["gml"] = "Z1233",
["uga"] = "Z1234",
["akz"] = "Z1235",
["yas"] = "Z1236",
["tr"] = "Z1237",
["chp"] = "Z1238",
["ro-md"] = "Z1239",
["pon"] = "Z1240",
["kum"] = "Z1241",
["yao"] = "Z1242",
["quc"] = "Z1243",
["phn"] = "Z1244",
["frm"] = "Z1245",
["ak"] = "Z1246",
["szy"] = "Z1247",
["nnz"] = "Z1248",
["yap"] = "Z1249",
["jbo"] = "Z1250",
["ff"] = "Z1251",
["pau"] = "Z1252",
["mcn"] = "Z1253",
["tsd"] = "Z1254",
["kj"] = "Z1255",
["rmw"] = "Z1256",
["vot"] = "Z1257",
["swb"] = "Z1258",
["cjm-cham"] = "Z1259",
["glk"] = "Z1260",
["non-runr"] = "Z1261",
["hak"] = "Z1262",
["cop"] = "Z1263",
["kha"] = "Z1264",
["prs"] = "Z1265",
["mga"] = "Z1266",
["lbe"] = "Z1267",
["grb"] = "Z1268",
["an"] = "Z1269",
["wae"] = "Z1270",
["lkt"] = "Z1271",
["hr"] = "Z1272",
["ruq"] = "Z1273",
["pih"] = "Z1274",
["ojp-hira"] = "Z1275",
["nn"] = "Z1276",
["jpr"] = "Z1277",
["sje"] = "Z1278",
["ug-arab"] = "Z1279",
["yat"] = "Z1280",
["tcy"] = "Z1281",
["br"] = "Z1282",
["bbj"] = "Z1283",
["eka"] = "Z1284",
["mai"] = "Z1285",
["sty"] = "Z1286",
["dje"] = "Z1287",
["ckb"] = "Z1288",
["ban"] = "Z1289",
["kbd-cyrl"] = "Z1290",
["nod"] = "Z1291",
["dlc"] = "Z1292",
["brh"] = "Z1293",
["pt-pt"] = "Z1294",
["sjn"] = "Z1295",
["bcc"] = "Z1296",
["anp"] = "Z1297",
["scn"] = "Z1298",
["jam"] = "Z1299",
["ae"] = "Z1300",
["mus"] = "Z1301",
["tum"] = "Z1302",
["kjh"] = "Z1303",
["szl"] = "Z1304",
["kut"] = "Z1305",
["nv"] = "Z1306",
["lah"] = "Z1307",
["umb"] = "Z1308",
["sli"] = "Z1309",
["eya"] = "Z1310",
["kg"] = "Z1311",
["mi"] = "Z1312",
["arw"] = "Z1313",
["eu"] = "Z1314",
["bi"] = "Z1315",
["mt"] = "Z1316",
["ada"] = "Z1317",
["mfe"] = "Z1318",
["mwv"] = "Z1319",
["shu"] = "Z1320",
["xmf"] = "Z1321",
["qya"] = "Z1322",
["hmn"] = "Z1323",
["rah"] = "Z1324",
["bum"] = "Z1325",
["ja-hani"] = "Z1326",
["cja-cham"] = "Z1327",
["car"] = "Z1328",
["co"] = "Z1329",
["zu"] = "Z1330",
["rml"] = "Z1331",
["uk"] = "Z1332",
["ang"] = "Z1333",
["frc"] = "Z1334",
["ce"] = "Z1335",
["fat"] = "Z1336",
["nrf-je"] = "Z1337",
["zea"] = "Z1338",
["gd"] = "Z1339",
["tly"] = "Z1340",
["arq"] = "Z1341",
["sc"] = "Z1342",
["sog"] = "Z1343",
["tw"] = "Z1344",
["sas"] = "Z1345",
["fiu-vro"] = "Z1346",
["vro"] = "Z1346",
["koy"] = "Z1347",
["chy"] = "Z1348",
["abs"] = "Z1349",
["sn"] = "Z1350",
["tmh"] = "Z1351",
["smn"] = "Z1352",
["gom-deva"] = "Z1353",
["smj"] = "Z1354",
["lfn"] = "Z1355",
["rgn"] = "Z1356",
["gn"] = "Z1357",
["sw-cd"] = "Z1358",
["aro"] = "Z1359",
["mul"] = "Z1360",
["rom"] = "Z1361",
["jv"] = "Z1362",
["vec"] = "Z1363",
["chk"] = "Z1364",
["azb"] = "Z1365",
["bra"] = "Z1366",
["rar"] = "Z1367",
["ett"] = "Z1368",
["lam"] = "Z1369",
["vo"] = "Z1370",
["rwk"] = "Z1371",
["gan-hant"] = "Z1372",
["rm-puter"] = "Z1373",
["ccp"] = "Z1374",
["gan-hans"] = "Z1375",
["del"] = "Z1376",
["mer"] = "Z1377",
["frp"] = "Z1378",
["hup"] = "Z1379",
["goh"] = "Z1380",
["pt-br"] = "Z1381",
["bik"] = "Z1382",
["atj"] = "Z1383",
["kbp"] = "Z1384",
["lua"] = "Z1385",
["ojp"] = "Z1386",
["krc"] = "Z1387",
["ltg"] = "Z1388",
["ss"] = "Z1389",
["nmg"] = "Z1390",
["ood"] = "Z1391",
["shn"] = "Z1392",
["wbp"] = "Z1393",
["sr-el"] = "Z1394",
["sr-latn"] = "Z1394",
["tzm"] = "Z1395",
["got"] = "Z1396",
["rn"] = "Z1397",
["ami"] = "Z1398",
["ydd"] = "Z1399",
["hz"] = "Z1400",
["tt"] = "Z1401",
["mk"] = "Z1402",
["la"] = "Z1403",
["shi-latn"] = "Z1404",
["gsw"] = "Z1405",
["zh-mo"] = "Z1406",
["diq"] = "Z1407",
["bqi"] = "Z1408",
["ter"] = "Z1409",
["guz"] = "Z1410",
["zh-cn"] = "Z1411",
["sh"] = "Z1412",
["brx"] = "Z1413",
["ug-latn"] = "Z1414",
["ho"] = "Z1415",
["rug"] = "Z1416",
["bxr"] = "Z1417",
["kk-latn"] = "Z1418",
["or"] = "Z1419",
["kv"] = "Z1420",
["ab"] = "Z1421",
["awa"] = "Z1422",
["es-formal"] = "Z1423",
["lki"] = "Z1424",
["crs"] = "Z1425",
["ku-arab"] = "Z1426",
["lui"] = "Z1427",
["kln"] = "Z1428",
["te"] = "Z1429",
["de"] = "Z1430",
["pjt"] = "Z1431",
["kpe"] = "Z1432",
["tvu"] = "Z1433",
["ms-arab"] = "Z1434",
["sel"] = "Z1435",
["mad"] = "Z1436",
["en-ca"] = "Z1437",
["nqo"] = "Z1438",
["uz-latn"] = "Z1439",
["av"] = "Z1440",
["kk"] = "Z1441",
["dua"] = "Z1442",
["sia"] = "Z1443",
["ja-hrkt"] = "Z1444",
["haw"] = "Z1445",
["pap-aw"] = "Z1446",
["lt"] = "Z1447",
["ln"] = "Z1448",
["iba"] = "Z1449",
["st"] = "Z1450",
["udm"] = "Z1451",
["lmo"] = "Z1452",
["ale"] = "Z1453",
["mye"] = "Z1454",
["ky"] = "Z1455",
["nso"] = "Z1456",
["hil"] = "Z1457",
["shi-tfng"] = "Z1458",
["umu"] = "Z1459",
["chb"] = "Z1460",
["cad"] = "Z1461",
["ibb"] = "Z1462",
["pfl"] = "Z1463",
["bem"] = "Z1464",
["mwl"] = "Z1465",
["gaa"] = "Z1466",
["kbd"] = "Z1467",
["maf"] = "Z1468",
["sg"] = "Z1469",
["kw"] = "Z1470",
["su"] = "Z1471",
["zgh"] = "Z1472",
["bs"] = "Z1473",
["uz-cyrl"] = "Z1474",
["ady-cyrl"] = "Z1475",
["rm"] = "Z1476",
["ojb"] = "Z1477",
["kk-cyrl"] = "Z1478",
["sa-sidd"] = "Z1479",
["ii"] = "Z1480",
["bcl"] = "Z1481",
["nds-nl"] = "Z1482",
["lad"] = "Z1483",
["tog"] = "Z1484",
["bas"] = "Z1485",
["ceb"] = "Z1486",
["hit"] = "Z1487",
["sk"] = "Z1488",
["ckt"] = "Z1489",
["ppu"] = "Z1490",
["nap"] = "Z1491",
["haz"] = "Z1492",
["chm"] = "Z1493",
["kfo"] = "Z1494",
["hyw"] = "Z1495",
["chg"] = "Z1496",
["lo"] = "Z1497",
["cnr"] = "Z1498",
["fro"] = "Z1499",
["syc"] = "Z1500",
-- ["zh-min-nan"] = "Z1501",
["pag"] = "Z1502",
["bho"] = "Z1503",
["zh-sg"] = "Z1504",
["bgn"] = "Z1505",
["ko-kp"] = "Z1506",
["shy-arab"] = "Z1507",
["als"] = "Z1508",
["ee"] = "Z1509",
["cv"] = "Z1510",
["saz"] = "Z1511",
["koi"] = "Z1512",
["hu"] = "Z1513",
["vmf"] = "Z1514",
["de-ch"] = "Z1515",
["lun"] = "Z1516",
["nl-be"] = "Z1517",
["izh"] = "Z1518",
["se"] = "Z1519",
["moe"] = "Z1520",
["peo"] = "Z1521",
["cja-arab"] = "Z1522",
["na"] = "Z1523",
["kos"] = "Z1524",
["crl"] = "Z1525",
["mid"] = "Z1526",
["bo"] = "Z1527",
["rki"] = "Z1528",
["afh"] = "Z1529",
["fj"] = "Z1530",
["ms"] = "Z1531",
["af"] = "Z1532",
["sah"] = "Z1533",
["tlh"] = "Z1534",
["lu"] = "Z1535",
["kk-kz"] = "Z1536",
["elx"] = "Z1537",
["gmy"] = "Z1538",
["cjm-arab"] = "Z1539",
["shi"] = "Z1540",
["hy"] = "Z1541",
["ruq-grek"] = "Z1542",
["krl"] = "Z1543",
["kmb"] = "Z1544",
["tem"] = "Z1545",
["nsk"] = "Z1546",
["es-419"] = "Z1547",
["cja-latn"] = "Z1548",
["kn"] = "Z1549",
["mfa"] = "Z1550",
["arc"] = "Z1551",
["sux"] = "Z1552",
["new"] = "Z1553",
["mn"] = "Z1554",
["vls"] = "Z1555",
["ku"] = "Z1556",
["kbl"] = "Z1557",
["raj"] = "Z1558",
["iu"] = "Z1559",
["non"] = "Z1560",
["ks"] = "Z1561",
["ace"] = "Z1562",
["wal"] = "Z1563",
["loz"] = "Z1564",
["lcm"] = "Z1565",
["kho"] = "Z1566",
["mrh"] = "Z1567",
["men"] = "Z1568",
["ks-deva"] = "Z1569",
["rmn"] = "Z1570",
["rm-surmiran"] = "Z1571",
["cjm"] = "Z1572",
["kaj"] = "Z1573",
["kaa"] = "Z1574",
["zap"] = "Z1575",
["eo"] = "Z1576",
["cdo"] = "Z1577",
["hif-latn"] = "Z1578",
["dyu"] = "Z1579",
["tly-cyrl"] = "Z1580",
["kru"] = "Z1581",
["aeb"] = "Z1582",
["srn"] = "Z1583",
["ruq-cyrl"] = "Z1584",
["mnc"] = "Z1585",
["nov"] = "Z1586",
["so"] = "Z1587",
["zbl"] = "Z1588",
["zh-hk"] = "Z1589",
["ewo"] = "Z1590",
["zh-my"] = "Z1591",
["sv"] = "Z1592",
["cho"] = "Z1593",
["njo"] = "Z1594",
["bfd"] = "Z1595",
["ssf"] = "Z1596",
["az"] = "Z1597",
["stq"] = "Z1598",
["dar"] = "Z1599",
["sat"] = "Z1600",
["ojp-hani"] = "Z1601",
["nia"] = "Z1602",
["kam"] = "Z1603",
["nog"] = "Z1604",
["wls"] = "Z1605",
["bnn"] = "Z1606",
["bm"] = "Z1607",
["sq"] = "Z1608",
["pam"] = "Z1609",
["trv"] = "Z1610",
["srq"] = "Z1611",
["tet"] = "Z1612",
["ses"] = "Z1613",
["bez"] = "Z1614",
["sad"] = "Z1615",
["sl"] = "Z1616",
["rif"] = "Z1617",
["pi"] = "Z1618",
["jrb"] = "Z1619",
["mnw"] = "Z1620",
["cal"] = "Z1621",
["be"] = "Z1622",
["bug"] = "Z1623",
["ar-001"] = "Z1624",
["mg"] = "Z1625",
["tiv"] = "Z1626",
["gv"] = "Z1627",
["tig"] = "Z1628",
["jmc"] = "Z1629",
["bew"] = "Z1630",
["lrc"] = "Z1631",
["luy"] = "Z1632",
["aeb-arab"] = "Z1633",
["ruq-latn"] = "Z1634",
["cay"] = "Z1635",
["ts"] = "Z1636",
["cjy-hans"] = "Z1637",
["arp"] = "Z1638",
["mag"] = "Z1639",
["fr-ca"] = "Z1640",
["ps"] = "Z1641",
["hsb"] = "Z1642",
["ko"] = "Z1643",
["rwr"] = "Z1644",
["zh-hans"] = "Z1645",
["sms"] = "Z1646",
["nan-hani"] = "Z1647",
["ksb"] = "Z1648",
["rtm"] = "Z1649",
["frr"] = "Z1650",
["hai"] = "Z1651",
["pnt"] = "Z1652",
["sh-cyrl"] = "Z1653",
["lol"] = "Z1654",
["rm-vallader"] = "Z1655",
["tsi"] = "Z1656",
["pa"] = "Z1657",
["gon"] = "Z1658",
["bgp"] = "Z1659",
["etu"] = "Z1660",
["niu"] = "Z1661",
["bin"] = "Z1662",
["den"] = "Z1663",
["ro"] = "Z1664",
["csb"] = "Z1665",
["fos"] = "Z1666",
["hbo"] = "Z1667",
["mo"] = "Z1668",
["sh-latn"] = "Z1669",
["phn-phnx"] = "Z1670",
["mzn"] = "Z1671",
["zh-hant"] = "Z1672",
["isu"] = "Z1673",
["dzg"] = "Z1674",
["ne"] = "Z1675",
["bbc-latn"] = "Z1676",
["lem"] = "Z1677",
["qu"] = "Z1678",
["roa-tara"] = "Z1679",
["gur"] = "Z1680",
["fit"] = "Z1681",
["tli"] = "Z1682",
["sid"] = "Z1683",
["kaw"] = "Z1684",
["yrl"] = "Z1685",
["guc"] = "Z1686",
["kab"] = "Z1687",
["sly"] = "Z1688",
["en-us"] = "Z1689",
["lld"] = "Z1690",
["shy-latn"] = "Z1691",
["hrx"] = "Z1692",
["ki"] = "Z1693",
["ta"] = "Z1694",
["avk"] = "Z1695",
["gu"] = "Z1696",
["pms"] = "Z1697",
["seh"] = "Z1698",
["kk-arab"] = "Z1699",
["gwi"] = "Z1700",
["nyo"] = "Z1701",
["ike-cans"] = "Z1702",
["mh"] = "Z1703",
["nla"] = "Z1704",
["cjm-latn"] = "Z1705",
["nn-hognorsk"] = "Z1706",
["rmf"] = "Z1707",
["aeb-latn"] = "Z1708",
["lv"] = "Z1709",
["dru"] = "Z1710",
["byn"] = "Z1711",
["akk"] = "Z1712",
["nnh"] = "Z1713",
["was"] = "Z1714",
["lzz"] = "Z1715",
["myv"] = "Z1716",
["ur"] = "Z1717",
["naq"] = "Z1718",
["skr"] = "Z1719",
["jgo"] = "Z1720",
["phn-latn"] = "Z1721",
["srr"] = "Z1722",
["xh"] = "Z1723",
["tt-cyrl"] = "Z1724",
["eto"] = "Z1725",
["egl"] = "Z1726",
["osa"] = "Z1727",
["fa"] = "Z1728",
["xog"] = "Z1729",
["bar"] = "Z1730",
["kk-cn"] = "Z1731",
["ast"] = "Z1732",
["dyo"] = "Z1733",
["ain"] = "Z1734",
["lez"] = "Z1735",
["ja-kana"] = "Z1736",
["tg-cyrl"] = "Z1737",
["sma"] = "Z1738",
["tvl"] = "Z1739",
["kri"] = "Z1740",
["prg"] = "Z1741",
["xmm"] = "Z1742",
["asa"] = "Z1743",
["xpu"] = "Z1744",
["din"] = "Z1745",
["alt"] = "Z1746",
["bal"] = "Z1747",
["sjt"] = "Z1748",
["sa"] = "Z1749",
["eml"] = "Z1750",
["mos"] = "Z1751",
["ug"] = "Z1752",
["ssy"] = "Z1753",
["sbp"] = "Z1754",
["bat-smg"] = "Z1755",
["sgs"] = "Z1755",
["ka"] = "Z1756",
["fr-ch"] = "Z1757",
["zun"] = "Z1758",
["gil"] = "Z1759",
["pi-sidd"] = "Z1760",
["tg-latn"] = "Z1761",
["tok"] = "Z1762",
["ase"] = "Z1763",
["wa"] = "Z1764",
["mua"] = "Z1765",
["mdf"] = "Z1766",
["btm"] = "Z1767",
["rm-rumgr"] = "Z1768",
["otk"] = "Z1769",
["kde"] = "Z1770",
["kld"] = "Z1771",
["wo"] = "Z1772",
["bfq"] = "Z1773",
["nl-informal"] = "Z1774",
["crh-cyrl"] = "Z1775",
["sdh"] = "Z1776",
["bla"] = "Z1777",
["nzi"] = "Z1778",
["lns"] = "Z1779",
["tyv"] = "Z1780",
["pyu"] = "Z1781",
["cbk-zam"] = "Z1782",
["bag"] = "Z1783",
["olo"] = "Z1784",
["sba"] = "Z1785",
["ku-latn"] = "Z1786",
["it"] = "Z1787",
["uun"] = "Z1788",
["ca"] = "Z1789",
["khw"] = "Z1790",
["cgg"] = "Z1791",
["bax"] = "Z1792",
["nus"] = "Z1793",
["gmh"] = "Z1794",
["bkm"] = "Z1795",
["nym"] = "Z1796",
["tk"] = "Z1797",
["os"] = "Z1798",
["sei"] = "Z1799",
["khq"] = "Z1800",
["bkc"] = "Z1801",
["sga"] = "Z1802",
["lg"] = "Z1803",
["gan"] = "Z1804",
["gor"] = "Z1805",
["kea"] = "Z1806",
["tt-latn"] = "Z1807",
["bej"] = "Z1808",
["cjy"] = "Z1809",
["ybb"] = "Z1810",
["twq"] = "Z1811",
["yi"] = "Z1812",
["kl"] = "Z1813",
["mas"] = "Z1814",
["rue"] = "Z1815",
["bbc"] = "Z1817",
["yo"] = "Z1818",
["vut"] = "Z1819",
["hi"] = "Z1820",
["ban-bali"] = "Z1821",
["aa"] = "Z1822",
["bg"] = "Z1823",
["rm-sutsilv"] = "Z1824",
["ota"] = "Z1825",
["map-bms"] = "Z1826",
["el"] = "Z1827",
["lag"] = "Z1828",
["pcd"] = "Z1829",
["ja"] = "Z1830",
["fan"] = "Z1831",
["abe"] = "Z1832",
["kkj"] = "Z1833",
["nah"] = "Z1834",
["nd"] = "Z1835",
["chr"] = "Z1836",
["wuu"] = "Z1837",
["nyn"] = "Z1838",
["mgo"] = "Z1839",
["see"] = "Z1840",
["ext"] = "Z1841",
["cja"] = "Z1842",
["de-at"] = "Z1843",
["tl"] = "Z1844",
["nr"] = "Z1845",
["mui"] = "Z1846",
["fmp"] = "Z1847",
["man"] = "Z1848",
["nrm"] = "Z1849",
["gom"] = "Z1850",
["th"] = "Z1851",
["igl"] = "Z1852",
["ars"] = "Z1853",
["bdr"] = "Z1854",
["bss"] = "Z1855",
["ty"] = "Z1856",
["cps"] = "Z1857",
["ryu"] = "Z1858",
["pdc"] = "Z1859",
["min"] = "Z1860",
["sco"] = "Z1861",
["yav"] = "Z1862",
["kjp"] = "Z1863",
["nys"] = "Z1864",
["ay"] = "Z1865",
["ga"] = "Z1866",
["vep"] = "Z1867",
["gld"] = "Z1868",
["nmz"] = "Z1869",
["se-fi"] = "Z1870",
["se-no"] = "Z1871",
["se-se"] = "Z1872",
["vmw"] = "Z1873",
["rsk"] = "Z1874",
["tdd"] = "Z1875",
["sro"] = "Z1876",
["gpe"] = "Z1877",
["syl"] = "Z1878",
["aae"] = "Z1879",
["hno"] = "Z1880",
["en-x-piglatin"] = "Z1881",
["ldn"] = "Z1882",
["kus"] = "Z1883",
["apc"] = "Z1884",
["dga"] = "Z1885",
["bgc"] = "Z1886",
["tsg"] = "Z1887",
["ann"] = "Z1888",
["acm"] = "Z1889",
["ddn"] = "Z1890",
["crh-ro"] = "Z1891",
["nan-hant"] = "Z1892",
["nan-latn"] = "Z1893",
["acq"] = "Z1894",
["cjk"] = "Z1895",
["taq"] = "Z1896",
["taq-latn"] = "Z1897",
["gcf"] = "Z1898",
["wuu-hans"] = "Z1899",
["wuu-hant"] = "Z1900",
["yue-hans"] = "Z1901",
["yue-hant"] = "Z1902",
["cpx"] = "Z1903",
["cpx-hant"] = "Z1904",
["cpx-hans"] = "Z1905",
["cpx-latn"] = "Z1906",
["bzs"] = "Z1907",
["bug-bugi"] = "Z1908",
["bug-latn"] = "Z1909",
["piu"] = "Z1910",
}

function p.getLabel(frame)
    -- get the ZID and the language
    local zid = ''
    local lang = nil
    for name, value in pairs( frame.args ) do
        if name == 'zid' then
            zid = value
        elseif name == 'lang' then
            lang = lang_to_zid[value]
            lang_code = value
        end
    end
    if lang == nil then
        lang = 'Z1002'
    end
    -- format the ZID if provided only as a number
    if tonumber(zid) then
        zid = 'Z' .. zid
    end
    -- get the object content (TODO: why does mw.loadJsonData not work here?)
    local page_json = mw.title.new(zid):getContent()
    if page_json == nil then
    	return ""
    end
    local page = mw.text.jsonDecode( page_json , mw.text.JSON_PRESERVE_KEYS )
    -- TODO: should we assume that all objects mapped to ZIDs are underlyingly Z2s, so that using Z2K3 directly is okay?
    local labels = page.Z2K3
    -- look through the label list for the label in language 'lang'
    local label_list = labels.Z12K1
    for index, label in pairs(label_list) do
        if label.Z11K1 == lang then
            return label.Z11K2
        end
    end
    -- first try to find a fallback language for a variant (eg. de-formal -> de)
    -- TODO: Do we need it if there's getFallbacksFor below?
    if lang_code ~= lang_code:gsub("%-.*", "") and lang_to_zid[lang_code:gsub("%-.*", "")] ~= nil then
    	for index, label in pairs(label_list) do
	        if label.Z11K1 == lang_to_zid[lang_code:gsub("%-.*", "")] then
	            return label.Z11K2
	        end
    	end
    end
    -- then try to find languages from the MediaWiki fallback chain
    local fallback_chain = mw.language.getFallbacksFor(lang_code)
    for i, fallback_lang_code in ipairs(fallback_chain) do
    	for index, label in pairs(label_list) do
	        if label.Z11K1 == lang_to_zid[fallback_lang_code] then
	            return label.Z11K2
	        end
	    end
    end
    -- then the first label in the data if no 'lang' label found
    if label_list[1] ~= nil then
        return label_list[1].Z11K2
    else
        return 'untitled'
    end
end

function p.getDescription(frame)
    -- get the ZID and the language
    local zid = ''
    local lang = nil
    for name, value in pairs( frame.args ) do
        if name == 'zid' then
            zid = value
        elseif name == 'lang' then
            lang = lang_to_zid[value]
            lang_code = value
        end
    end
    if lang == nil then
        lang = 'Z1002'
    end
    -- format the ZID if provided only as a number
    if tonumber(zid) then
        zid = 'Z' .. zid
    end
    -- get the object content (TODO: why does mw.loadJsonData not work here?)
    local page_json = mw.title.new(zid):getContent()
    if page_json == nil then
    	return ""
    end
    local page = mw.text.jsonDecode( page_json , mw.text.JSON_PRESERVE_KEYS )
    -- TODO: should we assume that all objects mapped to ZIDs are underlyingly Z2s, so that using Z2K3 directly is okay?
    local labels = page.Z2K5
    -- look through the label list for the label in language 'lang'
    local label_list = labels.Z12K1
    for index, label in pairs(label_list) do
        if label.Z11K1 == lang then
            return label.Z11K2
        end
    end
    -- first try to find a fallback language for a variant (eg. de-formal -> de)
    -- TODO: Do we need it if there's getFallbacksFor below?
    if lang_code ~= lang_code:gsub("%-.*", "") and lang_to_zid[lang_code:gsub("%-.*", "")] ~= nil then
    	for index, label in pairs(label_list) do
	        if label.Z11K1 == lang_to_zid[lang_code:gsub("%-.*", "")] then
	            return label.Z11K2
	        end
	    end
    end
    -- then try to find languages from the MediaWiki fallback chain
    local fallback_chain = mw.language.getFallbacksFor(lang_code)
    for i, fallback_lang_code in ipairs(fallback_chain) do
    	for index, label in pairs(label_list) do
	        if label.Z11K1 == lang_to_zid[fallback_lang_code] then
	            return label.Z11K2
	        end
	    end
    end
    -- then the first label in the data if no 'lang' label found
    if label_list[1] ~= nil then
        return label_list[1].Z11K2
    else
        return 'no description'
    end
end

return p