မေႃႇၵျူး:ko-translit
This module will transliterate ၽႃႇသႃႇKorean text.
The module should preferably not be called directly from templates or other modules. To use it from a template, use {{xlit}}
. Within a module, use Module:languages#Language:transliterate.
For testcases, see Module:ko-translit/testcases.
လၢႆးႁဵတ်းၵၢၼ်[မႄးထတ်း]
tr(text, lang, sc)
- Transliterates a given piece of
text
written in the script specified by the codesc
, and language specified by the codelang
. When the transliteration fails, returnsnil
.
Lua error in မေႃႇၵျူး:module_categorization at line 173: This template should only be used in the Module namespace, not on page 'မေႃႇၵျူး:ko-translit'..
local export = {}
local gsub = mw.ustring.gsub
local match = mw.ustring.match
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%>", "")
-- remove hanja from (ex.) 사전(辭典) and 辭典(사전)
text = gsub(text, "%([" .. HaniChars .. "]+%)", "")
text = gsub(text, "%([" .. HaniChars .. "]*'''[" .. HaniChars .. "]+'''[" .. HaniChars .. "]*%)", "")
text = gsub(text, "[" .. HaniChars .. "]+%((.-)%)", "%1")
-- transform em-dash to plain hyphen-minus
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-Za-z])%-%'([A-Za-z])", "%1-%2")
:gsub("%-'''%-", "'''-")
:gsub("%-%-", "-")
end
export.tr_revised = export.tr
return export