Zum Inhalt springen

Modul:Armn-translit

Vun Wiktionary

This module will transliterate Armenian text per Wiktionary:Över Armeensch/Transliteration through the function tr.


--[[
Transliteration for the Armenian script and punctuation (Old Armenian, Middle Armenian, Armenian languages).
]]
local M={}

local tt={
    
    ["ա"]="a", ["բ"]="b", ["գ"]="g", ["դ"]="d", ["ե"]="e", ["զ"]="z",["է"]="ē", ["ը"]="ə",
    ["թ"]="tʿ", ["ժ"]="ž", ["ի"]="i", ["լ"]="l", ["խ"]="x", ["ծ"]="c", ["կ"]="k", ["հ"]="h",
    ["ձ"]="j", ["ղ"]="ł", ["ճ"]="č", ["մ"]="m", ["յ"]="y", ["ն"]="n", ["շ"]="š", ["ո"]="o",
    ["չ"]="čʿ", ["պ"]="p", ["ջ"]="ǰ", ["ռ"]="ṙ", ["ս"]="s", ["վ"]="v", ["տ"]="t", ["ր"]="r",
    ["ց"]="cʿ", ["ւ"]="w", ["փ"]="pʿ", ["ք"]="kʿ", ["և"]="ew", ["օ"]="ō", ["ֆ"]="f",
    ["Ա"]="A", ["Բ"]="B", ["Գ"]="G", ["Դ"]="D", ["Ե"]="E", ["Զ"]="Z", ["Է"]="Ē", ["Ը"]="Ə",
    ["Թ"]="Tʿ", ["Ժ"]="Ž", ["Ի"]="I", ["Լ"]="L", ["Խ"]="X", ["Ծ"]="C", ["Կ"]="K", ["Հ"]="H",
    ["Ձ"]="J", ["Ղ"]="Ł", ["Ճ"]="Č", ["Մ"]="M", ["Յ"]="Y", ["Ն"]="N", ["Շ"]="Š", ["Ո"]="O",
    ["Չ"]="Čʿ", ["Պ"]="P", ["Ջ"]="J̌", ["Ռ"]="Ṙ", ["Ս"]="S", ["Վ"]="V", ["Տ"]="T", ["Ր"]="R",
    ["Ց"]="Cʿ", ["Ւ"]="W", ["Փ"]="Pʿ", ["Ք"]="Kʿ", ["Օ"]="Ō", ["Ֆ"]="F", ["ﬓ "]="mn", ["ﬔ"]="me", 
    ["ﬕ"]="mi", ["ﬖ"]="vn", ["ﬗ"]="mx",
     -- punctuation
    ["՝"]=",", ["։"]=".", ["․"]=";", ["՛"]="́", ["՜"]="<sup>!</sup>", ["՞"]="<sup>?</sup>", 
    ["՟"]="", ["֊"]="-", ["՚"]="’", ['«']='“', ['»']='”'};

function M.tr(text, lang, sc)--translit any words or phrases
    if type(text) == 'table' then
        text = text.args[1]
    end
    
    text = mw.ustring.gsub(text, 'Ո[ւՒ]', 'U')
    text = mw.ustring.gsub(text, 'ու', 'u')
    text = mw.ustring.gsub(text, 'Ո՛[ւՒ]', 'Ú')
    text = mw.ustring.gsub(text, 'ո՛ւ', 'ú')
    text = mw.ustring.gsub(text, 'Ո՜[ւՒ]', 'U<sup>!</sup>')
    text = mw.ustring.gsub(text, 'ո՜ւ', 'u<sup>!</sup>')
    text = mw.ustring.gsub(text, 'Ո՞[ւՒ]', 'U<sup>?</sup>')
    text = mw.ustring.gsub(text, 'ո՞ւ', 'u<sup>?</sup>')
    text = mw.ustring.gsub(text, '.', tt)
    return text
end
return M