Jump to content

Module:ko-attest/data

From Wiktionary, the free dictionary


local data = {}

local function v_sparse(...)
    local map = {}
    for _, e in ipairs({ ... }) do
    	map[tostring(e)] = tostring(e)
    end
    return { ["map"] = map }
end

local function v_range(a, b)
	if not b then b = a; a = 1 end
    local map = {}
    for i=a,b do
    	map[tostring(i)] = tostring(i)
    end
    return { ["map"] = map }
end

local function v_twopart()
	return {
		["map"] = { ["1"] = "1", ["上"] = "1", ["상"] = "1", ["2"] = "2", ["下"] = "2", ["하"] = "2" },
		["display"] = { ["1"] = "上", ["2"] = "下" },
	}
end

local function v_threepart()
	return {
		["map"] = { ["1"] = "1", ["上"] = "1", ["상"] = "1", ["2"] = "2", ["中"] = "2", ["중"] = "2", ["3"] = "3", ["下"] = "3", ["하"] = "3" },
		["display"] = { ["1"] = "上", ["2"] = "中", ["3"] = "下" },
	}
end

local function u_wikisource(target)
	return { ["work"] = "https://en.wikisource.org/wiki/" .. target }
end

local function u_chocassye(work)
	return {
		["volume"] = "https://find.됬.xyz/source?name=" .. work .. "{{padleft:$1|2|0}}}}",
		["page"] = "https://f004.backblazeb2.com/file/chocassye/scans/" .. work .. "{{padleft:$1|2|0}}/$2.jpg",
	}
end

local function u_sejongdb(work)
	return {
		["work"] = "http://db.sejongkorea.org/front/booklist.do?bmCode=" .. work,
		["volume"] = "http://db.sejongkorea.org/front/contentlist.do?bkCode=" .. work .. "_v{{padleft:$1|3}}",
		["page"] = "http://db.sejongkorea.org/bookImages/" .. work .. "/" .. work .. "_e01_v{{padleft:$1|3}}_{{padleft:$2|4}}.jpg",
	}
end

data["works"] = {
	["계림유사"] = {
		["work_hanja"] = "鷄林類事",
		["work_tr"] = "Jīlín lèishì",
		["year"] = "1103",
		["aliases"] = { "JLLS" },
		["url"] = u_wikisource("zh:雞林類事"),
	},
	["훈민정음해례"] = {
		["work"] = "훈민정음_해례",
		["work_hanja"] = "訓民正音解例",
		["year"] = "1446",
		["aliases"] = { "훈해", "HH" },
		["url"] = u_wikisource("ko:훈민정음#訓民正音解例"),
	},
	["용비어천가"] = {
		["work"] = "용비_어천가",
		["work_hanja"] = "龍飛御天歌",
		["year"] = "1447",
		["volumes"] = v_range(10),
		["aliases"] = { "용가", "YB" },
		["url"] = u_wikisource("ko:용비어천가"),
	},
	["석보상절"] = {
		["work"] = "석보_상절",
		["work_hanja"] = "釋譜詳節",
		["year"] = "1447",
		["volumes"] = v_sparse(3, 6, 9, 11, 13, 19, 20, 21, 23, 24),
		["aliases"] = { "석상", "SS" },
		["url"] = u_chocassye("석보상절"),
	},
	["월인천강지곡"] = {
		["work"] = "월인_천강지곡",
		["work_hanja"] = "月印千江之曲",
		["year"] = "1449",
		["volumes"] = v_threepart(),
		["aliases"] = { "월곡", "WC" },
		["url"] = u_wikisource("ko:월인천강지곡"),
	},
	["월인석보"] = {
		["work"] = "월인_석보",
		["work_hanja"] = "月印釋譜",
		["year"] = "1459",
		["volumes"] = v_sparse(1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 21, 22, 23, 25),
		["aliases"] = { "월석", "WS" },
		["url"] = u_sejongdb("P14_WS"),
	},
	["훈민정음언해"] = {
		["work"] = "훈민정음_언해",
		["work_hanja"] = "訓民正音諺解",
		["year"] = "1459",
		["aliases"] = { "훈언", "HE" },
		["url"] = u_wikisource("ko:훈민정음언해"),
	},
	["몽산화상법어약록언해"] = {
		["work"] = "몽산화상_법어_약록_언해",
		["work_hanja"] = "蒙山和尙法語略綠諺解",
		["year"] = "1460",
		["aliases"] = { "몽산화상법어약록", "몽산법어언해", "몽산법어", "몽법", "MS" },
		["url"] = u_sejongdb("P19_MS"),
	},
	["능엄경언해"] = {
		["work"] = "능엄경_언해",
		["work_hanja"] = "楞嚴經諺解",
		["year"] = "1461",
		["volumes"] = v_range(10),
		["aliases"] = { "능엄", "NE" },
		["url"] = u_sejongdb("P15_NE"),
	},
	["법화경언해"] = {
		["work"] = "법화경_언해",
		["work_hanja"] = "法華經諺解",
		["year"] = "1463",
		["volumes"] = v_range(7),
		["aliases"] = { "묘법연화경언해", "법화", "MB" },
		["url"] = u_sejongdb("P14_WS"),
	},
	["불정심경언해"] = {
		["work"] = "불정심경_언해",
		["work_hanja"] = "佛頂心經諺解",
		["year"] = "1464",
		["aliases"] = { "불정심다라니경언해", "관음경언해" },
		["url"] = u_sejongdb("P27_BD"),
	},
	["선종영가집언해"] = {
		["work"] = "선종_영가집_언해",
		["work_hanja"] = "禪宗永嘉集諺解",
		["year"] = "1464",
		["volumes"] = v_twopart(),
		["aliases"] = { "영가", "SY" },
		["url"] = u_sejongdb("P32_SY"),
	},
	["원각경언해"] = {
		["work"] = "원각경_언해",
		["work_hanja"] = "圓覺經諺解",
		["year"] = "1465",
		["volumes"] = v_range(10),
		["aliases"] = { "원각", "WG" },
		["url"] = u_sejongdb("P17_WG"),
	},
	["구급방언해"] = {
		["work"] = "구급방_언해",
		["work_hanja"] = "救急方諺解",
		["year"] = "1466",
		["volumes"] = v_twopart(),
		["aliases"] = { "구방", "GG" },
		["url"] = u_sejongdb("P22_GG"),
	},
	["분류두공부시언해"] = {
		["work"] = "분류_두공부_시_언해",
		["work_hanja"] = "分類杜工部詩諺解",
		["year"] = "1481",
		["volumes"] = v_sparse(3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25),
		["aliases"] = { "두시언해", "두시", "BDB" },
		["url"] = u_sejongdb("P51_BD"),
	},
	["구급간이방언해"] = {
		["work"] = "구급_간이방_언해",
		["work_hanja"] = "救急簡易方諺解",
		["year"] = "1489",
		["volumes"] = v_sparse(1, 2, 3, 6, 7),
		["aliases"] = { "구급간이방", "구간", "GGB" },
		["url"] = u_sejongdb("P23_GG"),
	},
	["삼단시식문언해"] = {
		["work"] = "삼단_시식문_언해",
		["work_hanja"] = "三檀施食文諺解",
		["year"] = "1496",
		["aliases"] = { "삼단시식문" },
		["url"] = u_sejongdb("P36_SS"),
	},
	["법집별행록절요병입사기언해"] = {
		["work"] = "법집별행록_절요병입사기_언해",
		["work_hanja"] = "法集別行錄節要幷入私記諺解",
		["year"] = "1522",
		["aliases"] = { "별행록절요언해", "법집별행록" },
		["url"] = u_sejongdb("P50_BJ"),
	},
	["훈몽자회"] = {
		["work"] = "훈몽_자회",
		["work_hanja"] = "訓蒙字會",
		["edition"] = "예산문고본", -- this is currently not used
		["year"] = "1527",
		["volumes"] = v_threepart(),
		["aliases"] = { "훈몽", "HL" },
		["url"] = {
			["volume"] = "https://find.됬.xyz/source?name=훈몽자회+예산문고본",
			["page"] = "https://f004.backblazeb2.com/file/chocassye/scans/훈몽자회+예산문고본/{{#switch:$1|1=상|2=중|3=하}}{{padleft:$2|3}}.jpg",
		},
	},
	["몽산화상육도보설언해"] = {
		["work"] = "몽산화상_육도_보설_언해",
		["work_hanja"] = "蒙山和尙六道普說諺解",
		["year"] = "1567",
		["aliases"] = { "몽산화상육도보설" },
		["url"] = u_sejongdb("P47_MS"),
	},
	["십현담요해언해"] = {
		["work"] = "십현담_요해_언해",
		["work_hanja"] = "十玄談要解諺解",
		["year"] = "15XX",
		["url"] = u_sejongdb("P44_SH"),
	},
	["권념요록"] = {
		["work"] = "권념_요록",
		["work_hanja"] = "勸念要錄",
		["year"] = "1637",
		["url"] = u_sejongdb("P49_GN"),
	},
	["지장보살본원경언해"] = {
		["work"] = "지장보살_본원경_언해",
		["work_hanja"] = "地藏菩薩本願經諺解",
		["year"] = "1762",
		["volumes"] = v_threepart(),
		["aliases"] = { "지장경언해", "지장" },
		["url"] = u_sejongdb("P52_JJ"),
	},
}

local aliases = {}

for k, v in pairs(data["works"]) do
	-- expand work aliases for fast access
	if v["aliases"] then
		for _, alias in ipairs(v["aliases"]) do
			aliases[alias] = k
		end
	end
end

for k, v in pairs(aliases) do
	data["works"][k] = v
end

return data