This module will transliterate Bulgarian language text per WT:BG TR.
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:bg-translit/testcases.
tr(text, lang, sc)
text
written in the script specified by the code sc
, and language specified by the code lang
.nil
.local export = {}
local tt = {
='A', ='a', ='B', ='b', ='V', ='v', ='G', ='g', ='D', ='d',
='E', ='e', ='Ž', ='ž', ='Z', ='z', ='I', ='i', ='J', ='j',
='K', ='k', ='L', ='l', ='M', ='m', ='N', ='n', ='O', ='o',
='P', ='p', ='R', ='r', ='S', ='s', ='T', ='t', ='U', ='u',
='F', ='f', ='H', ='h', ='C', ='c', ='Č', ='č', ='Š', ='š',
='Št', ='št', ='Ǎ', ='ǎ', ='Ju', ='ju', ='Ja', ='ja',
= "È", = "è", = "Ì", ='ì',
-- Pre-reform
='Ǫ', ='ǫ', ='Ě', ='ě', ='ʹ', ='ʹ',
--?? used in old texts
='Y', ='y', ='Ę', ='ę', ='Ję', ='ję', ='Jǫ', ='jǫ', ='Ja', ='ja',
-- Quotes
='“', ='”',
};
function export.tr(text, lang, sc)
if mw.ustring.find(text, "") then
require("Module:debug").track("bg-translit/grave")
end
text = mw.ustring.gsub(text, '(%w)$', '%1')
:gsub("Ъ%-$", "\1")
:gsub("ъ%-$", "\2")
text = mw.ustring.gsub(text, '(%w)%f', '%1')
:gsub(".", { = "Ъ-", = "ъ-"})
text = mw.ustring.gsub(text, '%f', { ='J', ='j' })
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export