模組:Bg-translit
這個模組會將保加利亞語未確定的文字拉丁化。
最好不要直接從模板或其他模組調用此模組。要從模板中使用它,請以{{xlit}}
做為替代;若要在模組中使用,則以Module:languages#Language:transliterate替代。
關於測試用例,請參閱Module:Bg-translit/testcases。
函數
tr(text, lang, sc)
- Transliterates a given piece of
text
written in the script specified by the codesc
, and language specified by the codelang
. When the transliteration fails, returnsnil
.
-- Transliteration for Bulgarian 保加利亞語轉譯
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
["Ѫ"]='Ǫ', ["ѫ"]='ǫ', ["Ѣ"]='Ě', ["ѣ"]='ě', ["Ь"]='ʹ', ["ь"]='ʹ',
};
function export.tr(text, lang, sc)
text = mw.ustring.gsub(text, '(%w)[Ъъ]$', '%1')
text = mw.ustring.gsub(text, '(%w)[Ъъ]%f[%c%p%s]', '%1')
text = mw.ustring.gsub(text, '[Ьь]%f[Оо]', { ["Ь"]='J', ["ь"]='j' })
text = mw.ustring.gsub(text, '.', tt)
return text
end
return export