local export = {}
local tt = {
="ā", ="b", ="v", ="γ", ="d", ="e", ="ë", ="ž",
="z", ="i", ="j", ="k", ="l", ="m", ="n", ="o",
="p", ="r", ="s", ="t", ="w", ="f", ="x", ="c",
="č", ="š", ="ŝ", ="”", ="ə", ="’", ="ă", ="ju",
="jā", ="ʾ", ="Ā", ="B", ="V", ="Γ", ="D", ="E",
="Ë", ="Ž", ="Z", ="I", ="J", ="K", ="L", ="M",
="N", ="O", ="P", ="R", ="S", ="T", ="W", ="F",
="X", ="C", ="Č", ="Š", ="Ŝ", ="”", ="Ə", ="’",
="Ă", ="Ju", ="Jā", ="ʾ"};
local trigraphs = {
= 'q°',
= 'Q°',
= 'ġ°',
= 'Q',
= 'q',
= 'q̇°',
= 'ḳ°',
= 'χ°',
}
local digraphs = {
= 'g°',
= 'ɡ’',
= 'ġ',
= 'ǯ̍',
= 'ʒ',
= 'ẑ',
= 'ẑ',
= 'k°',
= 'q̇',
= 'č̣̍',
= 'ł',
= 'ḷ',
= 'ṗ',
= 'ṣ̣',
= 'ṭ',
= 'f̣',
= 'x°',
= 'χ',
= 'ḥ',
= 'c̣',
= 'č̍°',
= 'ṣ̂',
= 'ʾ°',
= 'Ġ°',
= 'Q̇°',
= 'Ḳ°',
= 'Χ°',
= 'G°',
= 'ɡ’',
= 'Ġ',
= 'Ǯ̍',
= 'Ʒ',
= 'Ẑ',
= 'Ẑ̂',
= 'K°',
= 'Q̇',
= 'Č̣̍',
= 'Ł',
= 'Ḷ',
= 'Ṗ',
= 'Ṣ̣',
= 'Ṭ',
= 'F̣',
= 'X°',
= 'Χ',
= 'Ḥ',
= 'C̣',
= 'Č̍°',
= 'Ṣ̂',
}
function export.tr(text)
local str_gsub = string.gsub
local UTF8char = '*'
-- Convert uppercase palochka to lowercase. Lowercase is found in tables
-- above.
text = str_gsub(text, mw.ustring.char(0x4C0), mw.ustring.char(0x4CF))
for trigraph, replacement in pairs(trigraphs) do
text = str_gsub(text, trigraph, replacement)
end
for digraph, replacement in pairs(digraphs) do
text = str_gsub(text, digraph, replacement)
end
text = str_gsub(text, UTF8char, tt)
return text
end
return export