{"id":3609,"date":"2022-10-07T19:02:00","date_gmt":"2022-10-07T14:02:00","guid":{"rendered":"https:\/\/www.edopedia.com\/blog\/?p=3609"},"modified":"2022-10-08T12:52:40","modified_gmt":"2022-10-08T07:52:40","slug":"how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript","status":"publish","type":"post","link":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/","title":{"rendered":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 &#038; JavaScript"},"content":{"rendered":"\n<p>In this tutorial, I will teach you&nbsp;<strong>how to create a Google Translate Clone App<\/strong>&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of this JavaScript Language Translator App is given below.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Google Translate Clone HTML5, CSS3, JavaScript Source Code<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">index.html<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;htmlmixed&quot;,&quot;mime&quot;:&quot;text\/html&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;HTML&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;html&quot;}\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;\n  &lt;head&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;  \n    &lt;title&gt;Language Translator&lt;\/title&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;!-- Font Awesome CDN Link for Icons --&gt;\n    &lt;link rel=&quot;stylesheet&quot; href=&quot;https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/5.15.3\/css\/all.min.css&quot;\/&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;div class=&quot;container&quot;&gt;\n      &lt;div class=&quot;wrapper&quot;&gt;\n        &lt;div class=&quot;text-input&quot;&gt;\n          &lt;textarea spellcheck=&quot;false&quot; class=&quot;from-text&quot; placeholder=&quot;Enter text&quot;&gt;&lt;\/textarea&gt;\n          &lt;textarea spellcheck=&quot;false&quot; readonly disabled class=&quot;to-text&quot; placeholder=&quot;Translation&quot;&gt;&lt;\/textarea&gt;\n        &lt;\/div&gt;\n        &lt;ul class=&quot;controls&quot;&gt;\n          &lt;li class=&quot;row from&quot;&gt;\n            &lt;div class=&quot;icons&quot;&gt;\n              &lt;i id=&quot;from&quot; class=&quot;fas fa-volume-up&quot;&gt;&lt;\/i&gt;\n              &lt;i id=&quot;from&quot; class=&quot;fas fa-copy&quot;&gt;&lt;\/i&gt;\n            &lt;\/div&gt;\n            &lt;select&gt;&lt;\/select&gt;\n          &lt;\/li&gt;\n          &lt;li class=&quot;exchange&quot;&gt;&lt;i class=&quot;fas fa-exchange-alt&quot;&gt;&lt;\/i&gt;&lt;\/li&gt;\n          &lt;li class=&quot;row to&quot;&gt;\n            &lt;select&gt;&lt;\/select&gt;\n            &lt;div class=&quot;icons&quot;&gt;\n              &lt;i id=&quot;to&quot; class=&quot;fas fa-volume-up&quot;&gt;&lt;\/i&gt;\n              &lt;i id=&quot;to&quot; class=&quot;fas fa-copy&quot;&gt;&lt;\/i&gt;\n            &lt;\/div&gt;\n          &lt;\/li&gt;\n        &lt;\/ul&gt;\n      &lt;\/div&gt;\n      &lt;button&gt;Translate Text&lt;\/button&gt;\n    &lt;\/div&gt;\n\n    &lt;script src=&quot;js\/countries.js&quot;&gt;&lt;\/script&gt;\n    &lt;script src=&quot;js\/script.js&quot;&gt;&lt;\/script&gt;\n\n  &lt;\/body&gt;\n&lt;\/html&gt;<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">style.css<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;css&quot;,&quot;mime&quot;:&quot;text\/css&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;CSS&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;css&quot;}\">\/* Import Google Font - Poppins *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&amp;display=swap');\n*{\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n  font-family: 'Poppins', sans-serif;\n}\nbody{\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 0 10px;\n  min-height: 100vh;\n  background: #5372F0;\n}\n.container{\n  max-width: 690px;\n  width: 100%;\n  padding: 30px;\n  background: #fff;\n  border-radius: 7px;\n  box-shadow: 0 10px 20px rgba(0,0,0,0.01);\n}\n.wrapper{\n  border-radius: 5px;\n  border: 1px solid #ccc;\n}\n.wrapper .text-input{\n  display: flex;\n  border-bottom: 1px solid #ccc;\n}\n.text-input .to-text{\n  border-radius: 0px;\n  border-left: 1px solid #ccc;\n}\n.text-input textarea{\n  height: 250px;\n  width: 100%;\n  border: none;\n  outline: none;\n  resize: none;\n  background: none;\n  font-size: 18px;\n  padding: 10px 15px;\n  border-radius: 5px;\n}\n.text-input textarea::placeholder{\n  color: #b7b6b6;\n}\n.controls, li, .icons, .icons i{\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.controls{\n  list-style: none;\n  padding: 12px 15px;\n}\n.controls .row .icons{\n  width: 38%;\n}\n.controls .row .icons i{\n  width: 50px;\n  color: #adadad;\n  font-size: 14px;\n  cursor: pointer;\n  transition: transform 0.2s ease;\n  justify-content: center;\n}\n.controls .row.from .icons{\n  padding-right: 15px;\n  border-right: 1px solid #ccc;\n}\n.controls .row.to .icons{\n  padding-left: 15px;\n  border-left: 1px solid #ccc;\n}\n.controls .row select{\n  color: #333;\n  border: none;\n  outline: none;\n  font-size: 18px;\n  background: none;\n  padding-left: 5px;\n}\n.text-input textarea::-webkit-scrollbar{\n  width: 4px;\n}\n.controls .row select::-webkit-scrollbar{\n  width: 8px;\n}\n.text-input textarea::-webkit-scrollbar-track,\n.controls .row select::-webkit-scrollbar-track{\n  background: #fff;\n}\n.text-input textarea::-webkit-scrollbar-thumb{\n  background: #ddd;\n  border-radius: 8px;\n}\n.controls .row select::-webkit-scrollbar-thumb{\n  background: #999;\n  border-radius: 8px;\n  border-right: 2px solid #ffffff;\n}\n.controls .exchange{\n  color: #adadad;\n  cursor: pointer;\n  font-size: 16px;\n  transition: transform 0.2s ease;\n}\n.controls i:active{\n  transform: scale(0.9);\n}\n.container button{\n  width: 100%;\n  padding: 14px;\n  outline: none;\n  border: none;\n  color: #fff;\n  cursor: pointer;\n  margin-top: 20px;\n  font-size: 17px;\n  border-radius: 5px;\n  background: #5372F0;\n}\n\n@media (max-width: 660px){\n  .container{\n    padding: 20px;\n  }\n  .wrapper .text-input{\n    flex-direction: column;\n  }\n  .text-input .to-text{\n    border-left: 0px;\n    border-top: 1px solid #ccc;\n  }\n  .text-input textarea{\n    height: 200px;\n  }\n  .controls .row .icons{\n    display: none;\n  }\n  .container button{\n    padding: 13px;\n    font-size: 16px;\n  }\n  .controls .row select{\n    font-size: 16px;\n  }\n  .controls .exchange{\n    font-size: 14px;\n  }\n}<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">js\/countries.js<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;javascript&quot;,&quot;mime&quot;:&quot;text\/javascript&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;js&quot;}\">const countries = {\n    &quot;am-ET&quot;: &quot;Amharic&quot;,\n    &quot;ar-SA&quot;: &quot;Arabic&quot;,\n    &quot;be-BY&quot;: &quot;Bielarus&quot;,\n    &quot;bem-ZM&quot;: &quot;Bemba&quot;,\n    &quot;bi-VU&quot;: &quot;Bislama&quot;,\n    &quot;bjs-BB&quot;: &quot;Bajan&quot;,\n    &quot;bn-IN&quot;: &quot;Bengali&quot;,\n    &quot;bo-CN&quot;: &quot;Tibetan&quot;,\n    &quot;br-FR&quot;: &quot;Breton&quot;,\n    &quot;bs-BA&quot;: &quot;Bosnian&quot;,\n    &quot;ca-ES&quot;: &quot;Catalan&quot;,\n    &quot;cop-EG&quot;: &quot;Coptic&quot;,\n    &quot;cs-CZ&quot;: &quot;Czech&quot;,\n    &quot;cy-GB&quot;: &quot;Welsh&quot;,\n    &quot;da-DK&quot;: &quot;Danish&quot;,\n    &quot;dz-BT&quot;: &quot;Dzongkha&quot;,\n    &quot;de-DE&quot;: &quot;German&quot;,\n    &quot;dv-MV&quot;: &quot;Maldivian&quot;,\n    &quot;el-GR&quot;: &quot;Greek&quot;,\n    &quot;en-GB&quot;: &quot;English&quot;,\n    &quot;es-ES&quot;: &quot;Spanish&quot;,\n    &quot;et-EE&quot;: &quot;Estonian&quot;,\n    &quot;eu-ES&quot;: &quot;Basque&quot;,\n    &quot;fa-IR&quot;: &quot;Persian&quot;,\n    &quot;fi-FI&quot;: &quot;Finnish&quot;,\n    &quot;fn-FNG&quot;: &quot;Fanagalo&quot;,\n    &quot;fo-FO&quot;: &quot;Faroese&quot;,\n    &quot;fr-FR&quot;: &quot;French&quot;,\n    &quot;gl-ES&quot;: &quot;Galician&quot;,\n    &quot;gu-IN&quot;: &quot;Gujarati&quot;,\n    &quot;ha-NE&quot;: &quot;Hausa&quot;,\n    &quot;he-IL&quot;: &quot;Hebrew&quot;,\n    &quot;hi-IN&quot;: &quot;Hindi&quot;,\n    &quot;hr-HR&quot;: &quot;Croatian&quot;,\n    &quot;hu-HU&quot;: &quot;Hungarian&quot;,\n    &quot;id-ID&quot;: &quot;Indonesian&quot;,\n    &quot;is-IS&quot;: &quot;Icelandic&quot;,\n    &quot;it-IT&quot;: &quot;Italian&quot;,\n    &quot;ja-JP&quot;: &quot;Japanese&quot;,\n    &quot;kk-KZ&quot;: &quot;Kazakh&quot;,\n    &quot;km-KM&quot;: &quot;Khmer&quot;,\n    &quot;kn-IN&quot;: &quot;Kannada&quot;,\n    &quot;ko-KR&quot;: &quot;Korean&quot;,\n    &quot;ku-TR&quot;: &quot;Kurdish&quot;,\n    &quot;ky-KG&quot;: &quot;Kyrgyz&quot;,\n    &quot;la-VA&quot;: &quot;Latin&quot;,\n    &quot;lo-LA&quot;: &quot;Lao&quot;,\n    &quot;lv-LV&quot;: &quot;Latvian&quot;,\n    &quot;men-SL&quot;: &quot;Mende&quot;,\n    &quot;mg-MG&quot;: &quot;Malagasy&quot;,\n    &quot;mi-NZ&quot;: &quot;Maori&quot;,\n    &quot;ms-MY&quot;: &quot;Malay&quot;,\n    &quot;mt-MT&quot;: &quot;Maltese&quot;,\n    &quot;my-MM&quot;: &quot;Burmese&quot;,\n    &quot;ne-NP&quot;: &quot;Nepali&quot;,\n    &quot;niu-NU&quot;: &quot;Niuean&quot;,\n    &quot;nl-NL&quot;: &quot;Dutch&quot;,\n    &quot;no-NO&quot;: &quot;Norwegian&quot;,\n    &quot;ny-MW&quot;: &quot;Nyanja&quot;,\n    &quot;ur-PK&quot;: &quot;Pakistani&quot;,\n    &quot;pau-PW&quot;: &quot;Palauan&quot;,\n    &quot;pa-IN&quot;: &quot;Panjabi&quot;,\n    &quot;ps-PK&quot;: &quot;Pashto&quot;,\n    &quot;pis-SB&quot;: &quot;Pijin&quot;,\n    &quot;pl-PL&quot;: &quot;Polish&quot;,\n    &quot;pt-PT&quot;: &quot;Portuguese&quot;,\n    &quot;rn-BI&quot;: &quot;Kirundi&quot;,\n    &quot;ro-RO&quot;: &quot;Romanian&quot;,\n    &quot;ru-RU&quot;: &quot;Russian&quot;,\n    &quot;sg-CF&quot;: &quot;Sango&quot;,\n    &quot;si-LK&quot;: &quot;Sinhala&quot;,\n    &quot;sk-SK&quot;: &quot;Slovak&quot;,\n    &quot;sm-WS&quot;: &quot;Samoan&quot;,\n    &quot;sn-ZW&quot;: &quot;Shona&quot;,\n    &quot;so-SO&quot;: &quot;Somali&quot;,\n    &quot;sq-AL&quot;: &quot;Albanian&quot;,\n    &quot;sr-RS&quot;: &quot;Serbian&quot;,\n    &quot;sv-SE&quot;: &quot;Swedish&quot;,\n    &quot;sw-SZ&quot;: &quot;Swahili&quot;,\n    &quot;ta-LK&quot;: &quot;Tamil&quot;,\n    &quot;te-IN&quot;: &quot;Telugu&quot;,\n    &quot;tet-TL&quot;: &quot;Tetum&quot;,\n    &quot;tg-TJ&quot;: &quot;Tajik&quot;,\n    &quot;th-TH&quot;: &quot;Thai&quot;,\n    &quot;ti-TI&quot;: &quot;Tigrinya&quot;,\n    &quot;tk-TM&quot;: &quot;Turkmen&quot;,\n    &quot;tl-PH&quot;: &quot;Tagalog&quot;,\n    &quot;tn-BW&quot;: &quot;Tswana&quot;,\n    &quot;to-TO&quot;: &quot;Tongan&quot;,\n    &quot;tr-TR&quot;: &quot;Turkish&quot;,\n    &quot;uk-UA&quot;: &quot;Ukrainian&quot;,\n    &quot;uz-UZ&quot;: &quot;Uzbek&quot;,\n    &quot;vi-VN&quot;: &quot;Vietnamese&quot;,\n    &quot;wo-SN&quot;: &quot;Wolof&quot;,\n    &quot;xh-ZA&quot;: &quot;Xhosa&quot;,\n    &quot;yi-YD&quot;: &quot;Yiddish&quot;,\n    &quot;zu-ZA&quot;: &quot;Zulu&quot;\n}<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">js\/script.js<\/h3>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:&quot;language&quot;,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;javascript&quot;,&quot;mime&quot;:&quot;text\/javascript&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;js&quot;}\">const fromText = document.querySelector(&quot;.from-text&quot;),\ntoText = document.querySelector(&quot;.to-text&quot;),\nexchageIcon = document.querySelector(&quot;.exchange&quot;),\nselectTag = document.querySelectorAll(&quot;select&quot;),\nicons = document.querySelectorAll(&quot;.row i&quot;);\ntranslateBtn = document.querySelector(&quot;button&quot;),\n\nselectTag.forEach((tag, id) =&gt; {\n    for (let country_code in countries) {\n        let selected = id == 0 ? country_code == &quot;en-GB&quot; ? &quot;selected&quot; : &quot;&quot; : country_code == &quot;hi-IN&quot; ? &quot;selected&quot; : &quot;&quot;;\n        let option = `&lt;option ${selected} value=&quot;${country_code}&quot;&gt;${countries[country_code]}&lt;\/option&gt;`;\n        tag.insertAdjacentHTML(&quot;beforeend&quot;, option);\n    }\n});\n\nexchageIcon.addEventListener(&quot;click&quot;, () =&gt; {\n    let tempText = fromText.value,\n    tempLang = selectTag[0].value;\n    fromText.value = toText.value;\n    toText.value = tempText;\n    selectTag[0].value = selectTag[1].value;\n    selectTag[1].value = tempLang;\n});\n\nfromText.addEventListener(&quot;keyup&quot;, () =&gt; {\n    if(!fromText.value) {\n        toText.value = &quot;&quot;;\n    }\n});\n\ntranslateBtn.addEventListener(&quot;click&quot;, () =&gt; {\n    let text = fromText.value.trim(),\n    translateFrom = selectTag[0].value,\n    translateTo = selectTag[1].value;\n    if(!text) return;\n    toText.setAttribute(&quot;placeholder&quot;, &quot;Translating...&quot;);\n    let apiUrl = `https:\/\/api.mymemory.translated.net\/get?q=${text}&amp;langpair=${translateFrom}|${translateTo}`;\n    fetch(apiUrl).then(res =&gt; res.json()).then(data =&gt; {\n        toText.value = data.responseData.translatedText;\n        data.matches.forEach(data =&gt; {\n            if(data.id === 0) {\n                toText.value = data.translation;\n            }\n        });\n        toText.setAttribute(&quot;placeholder&quot;, &quot;Translation&quot;);\n    });\n});\n\nicons.forEach(icon =&gt; {\n    icon.addEventListener(&quot;click&quot;, ({target}) =&gt; {\n        if(!fromText.value || !toText.value) return;\n        if(target.classList.contains(&quot;fa-copy&quot;)) {\n            if(target.id == &quot;from&quot;) {\n                navigator.clipboard.writeText(fromText.value);\n            } else {\n                navigator.clipboard.writeText(toText.value);\n            }\n        } else {\n            let utterance;\n            if(target.id == &quot;from&quot;) {\n                utterance = new SpeechSynthesisUtterance(fromText.value);\n                utterance.lang = selectTag[0].value;\n            } else {\n                utterance = new SpeechSynthesisUtterance(toText.value);\n                utterance.lang = selectTag[1].value;\n            }\n            speechSynthesis.speak(utterance);\n        }\n    });\n});<\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"block-f89cf2a6-9a64-47e0-a8a9-f1ba2a656c61\">Project Screenshot<\/h2>\n\n\n\n<figure class=\"wp-block-image\" id=\"block-bbef2647-e613-4ce5-becd-40a9c6d659f8\"><img decoding=\"async\" src=\"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/google_translate_clone_html5_css3_javascript-1024x688.png\" alt=\"Language Translator App in HTML CSS &amp; JavaScript\"\/><figcaption>Language Translator App in HTML CSS &amp; JavaScript<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, I will teach you&nbsp;how to create a Google Translate Clone App&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of this JavaScript Language Translator App is given below. Google Translate Clone HTML5, CSS3, JavaScript Source Code index.html style.css js\/countries.js js\/script.js Project Screenshot<\/p>\n","protected":false},"author":1,"featured_media":3683,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3609","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 &amp; JavaScript<\/title>\n<meta name=\"description\" content=\"In this tutorial, I will teach you&nbsp;how to create a Google Translate Clone App&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 &amp; JavaScript\" \/>\n<meta property=\"og:description\" content=\"In this tutorial, I will teach you&nbsp;how to create a Google Translate Clone App&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Edopedia\" \/>\n<meta property=\"article:author\" content=\"trulyfurqan\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-07T14:02:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-08T07:52:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Language-Translator-App-in-HTML-CSS-JavaScript.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"880\" \/>\n\t<meta property=\"og:image:height\" content=\"495\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Furqan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Furqan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 & JavaScript","description":"In this tutorial, I will teach you&nbsp;how to create a Google Translate Clone App&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/","og_locale":"en_US","og_type":"article","og_title":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 & JavaScript","og_description":"In this tutorial, I will teach you&nbsp;how to create a Google Translate Clone App&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of","og_url":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/","og_site_name":"Edopedia","article_author":"trulyfurqan","article_published_time":"2022-10-07T14:02:00+00:00","article_modified_time":"2022-10-08T07:52:40+00:00","og_image":[{"width":880,"height":495,"url":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Language-Translator-App-in-HTML-CSS-JavaScript.jpg","type":"image\/jpeg"}],"author":"Furqan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Furqan","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#article","isPartOf":{"@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/"},"author":{"name":"Furqan","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/person\/3951cb19e3aa56df09e408c98aa02339"},"headline":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 &#038; JavaScript","datePublished":"2022-10-07T14:02:00+00:00","dateModified":"2022-10-08T07:52:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/"},"wordCount":77,"commentCount":0,"publisher":{"@id":"https:\/\/www.edopedia.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Language-Translator-App-in-HTML-CSS-JavaScript.jpg","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/","url":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/","name":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 & JavaScript","isPartOf":{"@id":"https:\/\/www.edopedia.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Language-Translator-App-in-HTML-CSS-JavaScript.jpg","datePublished":"2022-10-07T14:02:00+00:00","dateModified":"2022-10-08T07:52:40+00:00","description":"In this tutorial, I will teach you&nbsp;how to create a Google Translate Clone App&nbsp;using HTML5, CSS3, and JavaScript. The complete source code of","breadcrumb":{"@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#primaryimage","url":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Language-Translator-App-in-HTML-CSS-JavaScript.jpg","contentUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2022\/10\/Build-A-Language-Translator-App-in-HTML-CSS-JavaScript.jpg","width":880,"height":495,"caption":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 & JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/www.edopedia.com\/blog\/how-to-make-google-translate-clone-with-text-to-speech-in-html5-css3-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.edopedia.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Make Google Translate Clone With Text to Speech in HTML5 CSS3 &#038; JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/www.edopedia.com\/blog\/#website","url":"https:\/\/www.edopedia.com\/blog\/","name":"Edopedia","description":"Coding\/Programming Blog","publisher":{"@id":"https:\/\/www.edopedia.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.edopedia.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.edopedia.com\/blog\/#organization","name":"Edopedia","url":"https:\/\/www.edopedia.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2017\/10\/edopedia_icon_text_10.jpg","contentUrl":"https:\/\/www.edopedia.com\/blog\/wp-content\/uploads\/2017\/10\/edopedia_icon_text_10.jpg","width":400,"height":100,"caption":"Edopedia"},"image":{"@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.edopedia.com\/blog\/#\/schema\/person\/3951cb19e3aa56df09e408c98aa02339","name":"Furqan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e5e68aef3ad8f0b83d56f4953c512c8e57bd2e6dc64daec33b5d0495d9058f51?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e5e68aef3ad8f0b83d56f4953c512c8e57bd2e6dc64daec33b5d0495d9058f51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e5e68aef3ad8f0b83d56f4953c512c8e57bd2e6dc64daec33b5d0495d9058f51?s=96&d=mm&r=g","caption":"Furqan"},"description":"Well. I've been working for the past three years as a web designer and developer. I have successfully created websites for small to medium sized companies as part of my freelance career. During that time I've also completed my bachelor's in Information Technology.","sameAs":["http:\/\/www.edopedia.com\/blog\/","trulyfurqan"],"url":"https:\/\/www.edopedia.com\/blog\/author\/furqan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts\/3609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/comments?post=3609"}],"version-history":[{"count":6,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts\/3609\/revisions"}],"predecessor-version":[{"id":3690,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/posts\/3609\/revisions\/3690"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/media\/3683"}],"wp:attachment":[{"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/media?parent=3609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/categories?post=3609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.edopedia.com\/blog\/wp-json\/wp\/v2\/tags?post=3609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}