require('lib.samp.events').onSendChat = function(text)
return { active and text or translit(text) }
end
function main()
while not isSampAvailable() do wait(0) end
sampRegisterChatCommand('translit', function()
active = not active
sampAddChatMessage(active and 'on' or 'off', -1)
end)
wait(-1)
end
---@param text string
---@return string
function translit(text)
return select(1, text:gsub('.', {
['А'] = 'A', ['Б'] = 'B', ['В'] = 'V', ['Г'] = 'G', ['Д'] = 'D', ['Е'] = 'E', ['Ё'] = 'Yo',
['Ж'] = 'Zh', ['З'] = 'Z', ['И'] = 'I', ['Й'] = 'Y', ['К'] = 'K', ['Л'] = 'L', ['М'] = 'M',
['Н'] = 'N', ['О'] = 'O', ['П'] = 'P', ['Р'] = 'R', ['С'] = 'S', ['Т'] = 'T', ['У'] = 'U',
['Ф'] = 'F', ['Х'] = 'Kh', ['Ц'] = 'Ts', ['Ч'] = 'Ch', ['Ш'] = 'Sh', ['Щ'] = 'Sch', ['Ъ'] = '',
['Ы'] = 'Y', ['Ь'] = '', ['Э'] = 'E', ['Ю'] = 'Yu', ['Я'] = 'Ya',
['а'] = 'a', ['б'] = 'b', ['в'] = 'v', ['г'] = 'g', ['д'] = 'd', ['е'] = 'e', ['ё'] = 'yo',
['ж'] = 'zh', ['з'] = 'z', ['и'] = 'i', ['й'] = 'y', ['к'] = 'k', ['л'] = 'l', ['м'] = 'm',
['н'] = 'n', ['о'] = 'o', ['п'] = 'p', ['р'] = 'r', ['с'] = 's', ['т'] = 't', ['у'] = 'u',
['ф'] = 'f', ['х'] = 'kh', ['ц'] = 'ts', ['ч'] = 'ch', ['ш'] = 'sh', ['щ'] = 'sch', ['ъ'] = '',
['ы'] = 'y', ['ь'] = '', ['э'] = 'e', ['ю'] = 'yu', ['я'] = 'ya'
}))
end