Module:guim-translit: Difference between revisions
No edit summary |
mNo edit summary |
||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
local tt = { | local tt = { | ||
["А̄"]='Ā', ["а̄"]='ā', | |||
["А"]='A', ["а"]='a', | |||
["Б"]='B', ["б"]='b', | |||
["В"]='W', ["в"]='w', | |||
["Гъ"]='Ğ', ["гъ"]='ğ', | |||
["Гь"]='H', ["гь"]='h', | |||
["Г"]='G', ["г"]='g', | |||
["Дз"]='Ʒ', ["дз"]='ʒ', | |||
["Дж"]='Ǯ', ["дж"]='ǯ', | |||
["Д"]='D', ["д"]='d', | |||
["Е̄"]='Jē', ["е̄"]='jē', | |||
["Е"]='Jе', ["е"]='je', | |||
["Ё̄"]='Jō', ["ё̄"]='jō', | |||
["Ё"]='Jo', ["ё"]='jo', | |||
["Ж"]='Ž', ["ж"]='ž', | |||
["З"]='Z', ["з"]='z', | |||
["Ӣ"]='Ī', ["ӣ"]='ī', | |||
["И"]='I', ["и"]='i', | |||
["Ккь"]='Ttł', ["ккь"]='ttł', | |||
["Кь"]='Tł', ["кь"]='tł', | |||
["Къ"]='Q', ["къ"]='q', | |||
["К"]='K', ["к"]='k', | |||
["([KkQqŁłПпТтЦцЧч])[Ӏӏ]"] = "%1’", | |||
["Лъ"]='Ł', ["лъ"]='ł', | |||
["Лл"]='Łł', ["лл"]='łł', | |||
["Л"]='L', ["л"]='l', | |||
["[Ӏӏ]"] = "ʔ", | |||
["М"]='M', ["м"]='m', | |||
["Н"]='N', ["н"]='n', | |||
["О̄"]='Ō', ["о̄"]='ō', | |||
["О"]='O', ["о"]='o', | |||
["П"]='P', ["п"]='p', | |||
["Ръ"]='Rh', ["ръ"]='rh', | |||
["Р"]='R', ["р"]='r', | |||
["С"]='S', ["с"]='s', | |||
["Т"]='T', ["т"]='t', | |||
["Ӯ"]='Ū', ["ӯ"]='ū', | |||
["У"]='U', ["у"]='u', | |||
["Ф"]='F', ["ф"]='f', | |||
["Хъ"]='X̌', ["хъ"]='x̌', | |||
["Х"]='X', ["х"]='x', | |||
["Ц"]='C', ["ц"]='c', | |||
["Ч"]='Č', ["ч"]='č', | |||
["Ш"]='Š', ["ш"]='š', | |||
["Щ"]='Šš', ["щ"]='šš', | |||
["Ю̄"]='Jū', ["ю̄"]='jū', | |||
["Ю"]='Ju', ["ю"]='ju', | |||
["Я̄"]='Jā', ["я̄"]='jā', | |||
["Я"]='Ja', ["я"]='ja', | |||
["Ы̄"]='Ȳ', ["ы̄"]='ȳ', | |||
["Ы"]='Y', ["ы"]='y', | |||
["Э̄"]='Ē', ["э̄"]='ē', | |||
["Э"]='E', ["э"]='e', | |||
["Ә̄"]='Ǟ', ["ә̄"]='ǟ', | |||
["Ә"]='Ä', ["ә"]='ä', | |||
["[Ъъ]"] = 'ˤ', | |||
}; | }; | ||
function export.tr(text, lang, sc) | function export.tr(text, lang, sc) | ||
text = mw.ustring.gsub(text, | |||
return text | text = text:gsub("Й", "J"):gsub("й", "j") | ||
text = mw.ustring.toNFD(text) | |||
for pat, repl in pairs(tt) do | |||
text = mw.ustring.gsub(text, pat, repl) | |||
end | |||
text = mw.ustring.toNFD(text) | |||
return mw.ustring.toNFC(text) | |||
end | end | ||
return export | return export | ||
Latest revision as of 16:17, 2 January 2025
- The following documentation is located at Module:guim-translit/doc.[edit]
- Useful links: subpage list • links • transclusions • testcases • sandbox
local export = {}
local tt = {
["А̄"]='Ā', ["а̄"]='ā',
["А"]='A', ["а"]='a',
["Б"]='B', ["б"]='b',
["В"]='W', ["в"]='w',
["Гъ"]='Ğ', ["гъ"]='ğ',
["Гь"]='H', ["гь"]='h',
["Г"]='G', ["г"]='g',
["Дз"]='Ʒ', ["дз"]='ʒ',
["Дж"]='Ǯ', ["дж"]='ǯ',
["Д"]='D', ["д"]='d',
["Е̄"]='Jē', ["е̄"]='jē',
["Е"]='Jе', ["е"]='je',
["Ё̄"]='Jō', ["ё̄"]='jō',
["Ё"]='Jo', ["ё"]='jo',
["Ж"]='Ž', ["ж"]='ž',
["З"]='Z', ["з"]='z',
["Ӣ"]='Ī', ["ӣ"]='ī',
["И"]='I', ["и"]='i',
["Ккь"]='Ttł', ["ккь"]='ttł',
["Кь"]='Tł', ["кь"]='tł',
["Къ"]='Q', ["къ"]='q',
["К"]='K', ["к"]='k',
["([KkQqŁłПпТтЦцЧч])[Ӏӏ]"] = "%1’",
["Лъ"]='Ł', ["лъ"]='ł',
["Лл"]='Łł', ["лл"]='łł',
["Л"]='L', ["л"]='l',
["[Ӏӏ]"] = "ʔ",
["М"]='M', ["м"]='m',
["Н"]='N', ["н"]='n',
["О̄"]='Ō', ["о̄"]='ō',
["О"]='O', ["о"]='o',
["П"]='P', ["п"]='p',
["Ръ"]='Rh', ["ръ"]='rh',
["Р"]='R', ["р"]='r',
["С"]='S', ["с"]='s',
["Т"]='T', ["т"]='t',
["Ӯ"]='Ū', ["ӯ"]='ū',
["У"]='U', ["у"]='u',
["Ф"]='F', ["ф"]='f',
["Хъ"]='X̌', ["хъ"]='x̌',
["Х"]='X', ["х"]='x',
["Ц"]='C', ["ц"]='c',
["Ч"]='Č', ["ч"]='č',
["Ш"]='Š', ["ш"]='š',
["Щ"]='Šš', ["щ"]='šš',
["Ю̄"]='Jū', ["ю̄"]='jū',
["Ю"]='Ju', ["ю"]='ju',
["Я̄"]='Jā', ["я̄"]='jā',
["Я"]='Ja', ["я"]='ja',
["Ы̄"]='Ȳ', ["ы̄"]='ȳ',
["Ы"]='Y', ["ы"]='y',
["Э̄"]='Ē', ["э̄"]='ē',
["Э"]='E', ["э"]='e',
["Ә̄"]='Ǟ', ["ә̄"]='ǟ',
["Ә"]='Ä', ["ә"]='ä',
["[Ъъ]"] = 'ˤ',
};
function export.tr(text, lang, sc)
text = text:gsub("Й", "J"):gsub("й", "j")
text = mw.ustring.toNFD(text)
for pat, repl in pairs(tt) do
text = mw.ustring.gsub(text, pat, repl)
end
text = mw.ustring.toNFD(text)
return mw.ustring.toNFC(text)
end
return export