Module:Armn-translit

local export = {} local gsub = require("Module:string utilities").gsub

local mapping = { ["ա"]="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", ["ՠ"]="ä", ["ֈ"]="hª", -- punctuation ["՝"]=",", ["։"]=".", ["․"]=";", ["՛"]="́", ["՜"]="!", ["՞"]="?",	["՟"]=".", ["֊"]="-", ["՚"]="’", ['«']='“', ['»']='”', ['ՙ']='ʻ' }

local replacements = { -- desirable, but doesn't work: ['յ'] = 'ʸ', ['յ̵'] = 'hª', --keep synchronized with ֈ ['ղʻ'] = 'q', ['Ո[ւՒ]'] = 'U', ['ու'] = 'u', ['Ո՛[ւՒ]'] = 'Ú', ['ո՛ւ'] = 'ú', ['Ո՜[ւՒ]'] = 'U!', ['ո՜ւ'] = 'u!', ['Ո՞[ւՒ]'] = 'U?', ['ո՞ւ'] = 'u?', ['ո̈ւ'] = 'ü', ['Ո̈[ւՒ]'] = 'Ü', ['օ̈'] = 'ö', ['Օ̈'] = 'Ö', }

function export.tr(text, lang, sc) if sc and sc ~= "Armn" then return nil end

if lang == "xcl" then mapping["ղ"]="ł" mapping["Ղ"]="Ł" end

for regex, replacement in pairs(replacements) do		text = gsub(text, regex, replacement) end

text = gsub(text, '.', mapping) return text end

return export