Виж сърбите как го правят - https://stackoverflow.com/questions/31617749/convert-text-to-and-from-serbian-cyrillic-letters
Или за руски:
https://stackoverflow.com/questions/11404047/transliterating-cyrillic-to-latin-with-javascript-function
За бг ще смениш Ë/YO с Я/YA, същото и за Ю.
J може да бъде проблем, защото не е ясно дали е 'Ь'/'Й' или грешка на потребителя, но все пак можеш да направиш проверка за гласна преди J и правилно да заместиш с Ь/Й.