Module:hnn-translit
Appearance
- The following documentation is generated by Module:documentation/functions/translit. [edit]
- Useful links: subpage list • links • transclusions • testcases • sandbox
This module will transliterate Hanunoo language 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:hnn-translit/testcases.
Functions
[edit]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, returns
nil
.
local export = {}
local consonants = {
['ᜣ']='k', ['ᜤ']='g', ['ᜥ']='ng',
['ᜦ']='t', ['ᜧ']='d', ['ᜨ']='n',
['ᜩ']='p', ['ᜪ']='b', ['ᜫ']='m',
['ᜬ']='y', ['ᜮ']='l', ['ᜯ']='w',
['ᜰ']='s', ['ᜱ']='h', ['ᜭ']='r',
}
local diacritics = {
['ᜲ']='i', ['ᜳ']='u', ['᜴']='',
}
local tt = {
-- vowels
['ᜠ']='a', ['ᜡ']='i', ['ᜢ']='u',
--punctuation
['᜶']='.', -- kulit and pamudpod
['᜵']=',' -- single kulit and pamudpod
}
function export.tr(text, lang, sc, override)
if sc ~= "Hano" then
return nil
end
local separate_lr = false
if string.find(text, 'ᜭ') then
separate_lr = true
end
text = mw.ustring.gsub(text,'([ᜣ-ᜱ][᜴])'..'([ᜠ-ᜢ])','%1-%2')
text = mw.ustring.gsub(
text,
'([ᜣ-ᜱ])'..
'([ᜲᜳ᜴]?)'..
'([ᜠ-ᜢ]?)',
function(c, d, e)
if d == "" and e ~= "" then
if tt[e] == "i" or tt[e] == "u" then return consonants[c] .. 'a' .. tt[e] .. ''
else return consonants[c] .. 'a' .. tt[e] end
elseif e ~= "" then
return consonants[c] .. diacritics[d] .. tt[e]
elseif d == "" then
return consonants[c] .. 'a'
else
return consonants[c] .. diacritics[d]
end
end)
text = mw.ustring.gsub(text, '.', tt)
--remove hyphen between vowels
text = mw.ustring.gsub(text,"([aiu])-([aiu])","%1%2")
text = mw.ustring.gsub(text,
'([ᜲᜳ᜴])',
function(c)
return '-' .. diacritics[c]
end)
text = mw.ustring.gsub(text, "◌", "-a")
text = mw.ustring.gsub(text, " ([,.])", "%1")
return text
end
return export