Heim >Web-Frontend >js-Tutorial >Einfacher Sprachübersetzer mit API
Tag 8 der #100daysofMiva Coding Challenge und ich habe an einem einfachen Übersetzermodell gearbeitet, das eine Sprache in eine andere übersetzt?
Es ist JS, es ist Magie✨?
Dieser JavaScript-Code soll einen spielerischen, interaktiven Sprachübersetzer erstellen! Es nutzt die MyMemory-API, um Text zwischen verschiedenen Sprachen zu übersetzen und ermöglicht Ihnen, Sprachen auszutauschen, Übersetzungen zu kopieren oder sich den Text sogar laut vorlesen zu lassen. ??
const countries = { /*...*/ }
Dieses Objekt enthält die verfügbaren Sprachen und ihre jeweiligen Ländercodes. Beispiel: „en-GB“: „Englisch“ verbindet den Sprachcode mit seinem Namen.
selectTag.forEach((tag, id) => { /*...*/ });
Dieser Code füllt die Dropdown-Menüs dynamisch mit allen im Länderobjekt aufgeführten Sprachen. Das erste Dropdown-Menü ist standardmäßig auf Englisch („en-GB“) und das zweite auf Hindi („hi-IN“) eingestellt.
exchageIcon.addEventListener("click", () => { /*...*/ });
Durch Klicken auf das Austauschsymbol können Benutzer den Text und die ausgewählten Sprachen zwischen den Feldern „von“ und „bis“ austauschen.
translateBtn.addEventListener("click", () => { /*...*/ });
Wenn auf die Schaltfläche „Übersetzen“ geklickt wird, wird der Text an die MyMemory-API gesendet und der übersetzte Text wird im Feld „In Text“ angezeigt. Während Sie auf die Antwort warten, wird ein Platzhalter „Übersetzt …“ angezeigt.
icons.forEach(icon => { /*...*/ });
In diesem Abschnitt werden die Text-to-Speech- und Kopierfunktionen behandelt:
Hier ist eine Schritt-für-Schritt-Aufschlüsselung, wie der Code funktioniert und was er tut:
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
Das obige ist der detaillierte Inhalt vonEinfacher Sprachübersetzer mit API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!