Rumah >hujung hadapan web >tutorial js >Penterjemah Bahasa Mudah dengan API
Hari 8 daripada cabaran pengekodan #100harisofMiva dan saya mengusahakan model penterjemah mudah yang menterjemahkan bahasa kepada bahasa lain ?
Ia JS, ia ajaib✨?
Kod JavaScript ini direka untuk mencipta penterjemah bahasa yang suka bermain dan interaktif! Ia menggunakan API MyMemory untuk menterjemah teks antara bahasa yang berbeza dan membolehkan anda menukar bahasa, menyalin terjemahan, atau bahkan meminta teks itu dituturkan dengan kuat. ??
const countries = { /*...*/ }
Objek ini mengandungi bahasa yang tersedia dan kod negara masing-masing. Contohnya, "en-GB": "Bahasa Inggeris" menggandingkan kod bahasa dengan namanya.
selectTag.forEach((tag, id) => { /*...*/ });
Kod ini secara dinamik mengisi menu lungsur dengan semua bahasa yang disenaraikan dalam objek negara. Jatuh turun pertama lalai kepada bahasa Inggeris ("en-GB") dan yang kedua kepada Hindi ("hi-IN").
exchageIcon.addEventListener("click", () => { /*...*/ });
Mengklik ikon swap membolehkan pengguna menukar teks dan bahasa yang dipilih antara medan "dari" dan "kepada".
translateBtn.addEventListener("click", () => { /*...*/ });
Apabila butang "Terjemah" diklik, teks dihantar ke MyMemory API dan teks terjemahan dipaparkan dalam medan "ke-teks". Sementara menunggu jawapan, pemegang tempat "Menterjemah..." ditunjukkan.
icons.forEach(icon => { /*...*/ });
Bahagian ini mengendalikan fungsi Text-to-Speech dan salin:
Berikut ialah pecahan langkah demi langkah tentang cara kod berfungsi dan fungsinya:
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 = `<option ${selected} value="${country_code}">${countries[country_code]}</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"); }); });
The script allows users to translate text between different languages with a dynamic and interactive interface. Users can select languages, type in their text, translate it with a click, swap languages and text, hear the translation spoken aloud, or copy it to their clipboard.
Enjoy playing with different languages and make your translation journey fun and interactive! ?? Unto the next ?✌?✨
Check it out here
https://app.marvelly.com.ng/100daysofMiva/day-8/
Source code
https://github.com/Marvellye/100daysofMiva/blob/main/Projects%2FDay_8-Simple_language_translator
Atas ialah kandungan terperinci Penterjemah Bahasa Mudah dengan API. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!