Показать сообщение отдельно
  #1 (permalink)  
Старый 13.11.2019, 19:02
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Как сделать транскрипцию
Добрый день. Нужно сделать транскрипцию с турецкого языка. Вот 2 textarea:
<textarea id="decoder-form__txt" name="input" placeholder="Ваш текст на турецком языке"></textarea>
<textarea id="decoder-form__result" placeholder="Как читается по-русски"></textarea>


Вот скрипт:
<script>
document.getElementById('decoder-form__txt').onkeyup = function() {
	var text = this.value;
	// Буква Ğ
	var tr = "İğ Eğ Öğ Üğ iğ eğ öğ üğ".split(/ +/g);
	var ru = "Ий Эй Ой Юй ий ей ой юй".split(/ +/g);
	for(var x = 0; x < tr.length; x++) {
		text = text.split(tr[x]).join(ru[x]);
	}
	
	// Сочетания Y с гласными
	var tr = "Ya Ye Yu Yü ya ye yu yü".split(/ +/g);
	var ru = "Я  Е  Ю  Ю  ья ье ю  ю".split(/ +/g);
	for(var x = 0; x < tr.length; x++) {
		text = text.split(tr[x]).join(ru[x]);
	}
	
	// Циркумфлекс
	var tr = "Gâ Kâ Lâ gâ kâ lâ Gû Kû Lû gû kû lû".split(/ +/g);
	var ru = "Гя Кя Ля гя кя ля Гю Кю Лю гю кю лю".split(/ +/g);
	for(var x = 0; x < tr.length; x++) {
		text = text.split(tr[x]).join(ru[x]);
	}
	
	// остальные буквы
	var tr = "A Â B C  Ç D E F G Ğ H I İ Î J K L M N O Ö P R S Ş T U Û Ü V Y Z a â b c  ç d e f g ğ h ı i î j k l m n o ö p r s ş t u û ü v y z".split(/ +/g);
	var ru = "А А Б ДЖ Ч Д Е Ф Г Г Х Ы И И Ж К Л М Н О Ё П Р С Ш Т У У Ю М Й З а а б дж ч д е ф г г х ы и и ж к л м н о ё п р с ш т у у ю м й з".split(/ +/g);
	for(var x = 0; x < tr.length; x++) {
		text = text.split(tr[x]).join(ru[x]);
	}
	document.getElementById('decoder-form__result').innerHTML = text;
}
</script>


Столкнулся с проблемой. При положении в начале слова, буква может иметь другой звук. В частности нужно:
1. В начале слова и после гласных ye → е, ya → я, yu (yü) → ю: Bahtiyar → Бахтияр, сейчас выводит Бахтиьяр
2. В начале слова и после гласной действуют правила e → э, ı → и, ö → о, ü → у

Прошу помощи.
Ответить с цитированием