#100daysofMiva 코딩 챌린지 8일차에 저는 한 언어를 다른 언어로 번역하는 간단한 번역기 모델을 작업했습니다.
JS에요 마법이에요✨?
이 JavaScript 코드는 재미있는 대화형 언어 번역기를 만들기 위해 설계되었습니다! MyMemory API를 활용하여 서로 다른 언어 간에 텍스트를 번역하고 언어를 교환하고, 번역을 복사하거나, 텍스트를 소리내어 말해 줄 수도 있습니다. ??
const countries = { /*...*/ }
이 개체에는 사용 가능한 언어와 해당 국가 코드가 포함되어 있습니다. 예를 들어 "en-GB": "English"는 언어 코드와 이름을 쌍으로 지정합니다.
selectTag.forEach((tag, id) => { /*...*/ });
이 코드는 국가 개체에 나열된 모든 언어로 드롭다운 메뉴를 동적으로 채웁니다. 첫 번째 드롭다운의 기본값은 영어("en-GB")이고 두 번째 드롭다운의 기본값은 힌디어("hi-IN")입니다.
exchageIcon.addEventListener("click", () => { /*...*/ });
교체 아이콘을 클릭하면 사용자가 "발신" 필드와 "도착" 필드 사이에서 텍스트와 선택한 언어를 교체할 수 있습니다.
translateBtn.addEventListener("click", () => { /*...*/ });
"번역" 버튼을 클릭하면 텍스트가 MyMemory API로 전송되고 번역된 텍스트가 "to-text" 필드에 표시됩니다. 응답을 기다리는 동안 "번역 중..." 자리 표시자가 표시됩니다.
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_언어_번역기
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3