모듈:ko-translit
보이기
local export = {}
local m_str_utils = require("Module:string utilities")
local gsub = m_str_utils.gsub
function export.tr(text, lang, sc)
if (not text) or text == "" then
return text
end
local HaniChars = require("Module:scripts").getByCode("Hani"):getCharacters()
text = gsub(text, "%<%/?r[pt]%>", "")
text = gsub(text, "%<%/?ruby%>", "")
-- 한자 표기 제거 (예) 사전(辭典), 辭典(사전), 온돌(溫突/溫堗)
text = gsub(text, "%([" .. HaniChars .. "/]+%)", "")
text = gsub(text, "%([" .. HaniChars .. "]*'''[" .. HaniChars .. "]+'''[" .. HaniChars .. "]*%)", "")
text = gsub(text, "[" .. HaniChars .. "]+%((.-)%)", "%1")
-- 줄표를 붙임표로 변환
text = gsub(text, "—", "-")
local HangChars = require("Module:scripts").getByCode("Hang"):getCharacters()
local m_pron = require("Module:ko-pron")
text = gsub(text, "[" .. HangChars .. "%s%p-]+", function(m1) return m_pron.romanise(m1, 2, {}, true) end)
return text and text
:gsub("(%a)%-%'(%a)", "%1-%2")
:gsub("%-'''%-", "'''-")
:gsub("%-%-", "-")
end
export.tr_revised = export.tr
return export