В восьмой день конкурса #100daysofMiva я работал над простой моделью переводчика, которая переводит один язык на другой?
Это JS, это волшебство✨?
Этот код JavaScript предназначен для создания веселого интерактивного переводчика языка! Он использует API MyMemory для перевода текста между разными языками и позволяет менять языки, копировать переводы или даже произносить текст вслух. ??
const countries = { /*...*/ }
Этот объект содержит доступные языки и соответствующие им коды стран. Например, «en-GB»: «English» объединяет код языка с его названием.
selectTag.forEach((tag, id) => { /*...*/ });
Этот код динамически заполняет раскрывающиеся меню всеми языками, перечисленными в объекте стран. В первом раскрывающемся списке по умолчанию используется английский («en-GB»), а во втором — хинди («hi-IN»).
exchageIcon.addEventListener("click", () => { /*...*/ });
Нажатие на значок замены позволяет пользователям менять местами текст и выбранные языки между полями «от» и «куда».
translateBtn.addEventListener("click", () => { /*...*/ });
При нажатии кнопки «Перевести» текст отправляется в API MyMemory, и переведенный текст отображается в поле «В текст». Во время ожидания ответа отображается заполнитель «Перевод...».
icons.forEach(icon => { /*...*/ });
В этом разделе описаны функции преобразования текста в речь и копирования:
Вот пошаговое описание того, как работает код и что он делает:
const countries = { /*...*/ }
const fromText = document.querySelector(".from-text"), toText = document.querySelector(".to-text"), exchageIcon = document.querySelector(".exchange"), selectTag = document.querySelectorAll("select"), icons = document.querySelectorAll(".row i"); translateBtn = document.querySelector("button"),
selectTag.forEach((tag, id) => { for (let country_code in countries) { let selected = id == 0 ? country_code == "en-GB" ? "selected" : "" : country_code == "hi-IN" ? "selected" : ""; let option = ``; tag.insertAdjacentHTML("beforeend", option); } });
exchageIcon.addEventListener("click", () => { let tempText = fromText.value, tempLang = selectTag[0].value; fromText.value = toText.value; toText.value = tempText; selectTag[0].value = selectTag[1].value; selectTag[1].value = tempLang; });
fromText.addEventListener("keyup", () => { if(!fromText.value) { toText.value = ""; } });
translateBtn.addEventListener("click", () => { let text = fromText.value.trim(), translateFrom = selectTag[0].value, translateTo = selectTag[1].value; if(!text) return; toText.setAttribute("placeholder", "Translating..."); let apiUrl = `https://api.mymemory.translated.net/get?q=${text}&langpair=${translateFrom}|${translateTo}`; fetch(apiUrl).then(res => res.json()).then(data => { toText.value = data.responseData.translatedText; data.matches.forEach(data => { if(data.id === 0) { toText.value = data.translation; } }); toText.setAttribute("placeholder", "Translation"); }); });
Скрипт позволяет пользователям переводить текст между разными языками с помощью динамического и интерактивного интерфейса. Пользователи могут выбирать языки, вводить текст, переводить его одним щелчком мыши, менять языки и текст, слышать перевод вслух или копировать его в буфер обмена.
Наслаждайтесь игрой на разных языках и сделайте свой процесс перевода увлекательным и интерактивным! ?? До следующего ?✌?✨
Посмотрите здесь
https://app.marvelly.com.ng/100daysofMiva/day-8/
Исходный код
https://github.com/Marvellye/100daysofMiva/blob/main/Projects/Day_8-Simple_language_translator
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3