diff options
Diffstat (limited to 'src/pages/options/translate')
-rw-r--r-- | src/pages/options/translate/translate.html | 418 | ||||
-rw-r--r-- | src/pages/options/translate/translate.js | 110 |
2 files changed, 506 insertions, 22 deletions
diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html new file mode 100644 index 00000000..53436c91 --- /dev/null +++ b/src/pages/options/translate/translate.html @@ -0,0 +1,418 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg"> + <link href="../../stylesheets/styles.css" rel="stylesheet"> + <title>General</title> + </head> +</html> +<script type="module" src="../../../assets/javascripts/localise.js"></script> +<body class="option" dir="auto"> + <section class="links"> + <div class="title"> + <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor"> + <path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path> + </svg><a href="../general/general.html" data-localise="__MSG_general__">General</a> + </div> + <div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div> + <div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div> + <div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div> + <div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div> + <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div> + <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div> + <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div> + <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div> + <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div> + <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div> + <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div> + <div class="title"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor"> + <circle cx="500" cy="500" r="500"></circle> + <ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse> + <ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse> + </svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a> + </div> + <div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">Peertube</a></div> + <div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div> + <div class="title"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"> + <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path> + </svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a> + </div> + <div class="title"> + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> + <path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path> + </svg><a class="selected" href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a> + </div> + <div class="title"> + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> + <path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path> + </svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a> + </div> + <div class="title"> + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> + <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> + </svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a> + </div> + </section> + <section class="option-block"> + <div class="some-block option-block"> + <h4 data-localise="__MSG_enable__">Enable</h4> + <input id="disable-simplyTranslate" type="checkbox"> + </div> + <div class="some-block option-block"> + <h4 data-localise="__MSG_frontend__">Frontend</h4> + <select id="translate-frontend"> + <option value="simplyTranslate">SimplyTranslate</option> + <option value="lingva">Lingva</option> + </select> + </div> + <div class="some-block option-block"> + <h4 data-localise="__MSG_protocol__">Protocol</h4> + <select id="protocol"> + <option value="normal" data-localise="__MSG_normal__">Normal</option> + <option value="tor" data-localise="__MSG_tor__">Tor</option> + </select> + </div> + <hr> + <div id="simplyTranslate"> + <div class="some-block option-block"> + <h4 data-localise="__MSG_from__">From</h4> + <select class="from"> + <option value="auto">Auto</option> + <option value="af">Afrikaans</option> + <option value="sq">Albanian</option> + <option value="am">Amharic</option> + <option value="ar">Arabic</option> + <option value="hy">Armenian</option> + <option value="az">Azerbaijani</option> + <option value="eu">Basque</option> + <option value="be">Belarusian</option> + <option value="bn">Bengali</option> + <option value="bs">Bosnian</option> + <option value="bg">Bulgarian</option> + <option value="ca">Catalan</option> + <option value="ceb">Cebuano</option> + <option value="ny">Chichewa</option> + <option value="zh-CN">Chinese</option> + <option value="co">Corsican</option> + <option value="hr">Croatian</option> + <option value="cs">Czech</option> + <option value="da">Danish</option> + <option value="nl">Dutch</option> + <option value="en">English</option> + <option value="eo">Esperanto</option> + <option value="et">Estonian</option> + <option value="tl">Filipino</option> + <option value="fi">Finnish</option> + <option value="fr">French</option> + <option value="fy">Frisian</option> + <option value="gl">Galician</option> + <option value="ka">Georgian</option> + <option value="de">German</option> + <option value="el">Greek</option> + <option value="gu">Gujarati</option> + <option value="ht">Haitian Creole</option> + <option value="ha">Hausa</option> + <option value="haw">Hawaiian</option> + <option value="iw">Hebrew</option> + <option value="hi">Hindi</option> + <option value="hmn">Hmong</option> + <option value="hu">Hungarian</option> + <option value="is">Icelandic</option> + <option value="ig">Igbo</option> + <option value="id">Indonesian</option> + <option value="ga">Irish</option> + <option value="it">Italian</option> + <option value="ja">Japanese</option> + <option value="jw">Javanese</option> + <option value="kn">Kannada</option> + <option value="kk">Kazakh</option> + <option value="km">Khmer</option> + <option value="rw">Kinyarwanda</option> + <option value="ko">Korean</option> + <option value="ku">Kurdish (Kurmanji)</option> + <option value="ky">Kyrgyz</option> + <option value="lo">Lao</option> + <option value="la">Latin</option> + <option value="lv">Latvian</option> + <option value="lt">Lithuanian</option> + <option value="lb">Luxembourgish</option> + <option value="mk">Macedonian</option> + <option value="mg">Malagasy</option> + <option value="ms">Malay</option> + <option value="ml">Malayalam</option> + <option value="mt">Maltese</option> + <option value="mi">Maori</option> + <option value="mr">Marathi</option> + <option value="mn">Mongolian</option> + <option value="my">Myanmar (Burmese)</option> + <option value="ne">Nepali</option> + <option value="no">Norwegian</option> + <option value="or">Odia (Oriya)</option> + <option value="ps">Pashto</option> + <option value="fa">Persian</option> + <option value="pl">Polish</option> + <option value="pt">Portuguese</option> + <option value="pa">Punjabi</option> + <option value="ro">Romanian</option> + <option value="ru">Russian</option> + <option value="sm">Samoan</option> + <option value="gd">Scots Gaelic</option> + <option value="sr">Serbian</option> + <option value="st">Sesotho</option> + <option value="sn">Shona</option> + <option value="sd">Sindhi</option> + <option value="si">Sinhala</option> + <option value="sk">Slovak</option> + <option value="sl">Slovenian</option> + <option value="so">Somali</option> + <option value="es">Spanish</option> + <option value="su">Sundanese</option> + <option value="sw">Swahili</option> + <option value="sv">Swedish</option> + <option value="tg">Tajik</option> + <option value="ta">Tamil</option> + <option value="tt">Tatar</option> + <option value="te">Telugu</option> + <option value="th">Thai</option> + <option value="tr">Turkish</option> + <option value="tk">Turkmen</option> + <option value="uk">Ukrainian</option> + <option value="ur">Urdu</option> + <option value="ug">Uyghur</option> + <option value="uz">Uzbek</option> + <option value="vi">Vietnamese</option> + <option value="cy">Welsh</option> + <option value="xh">Xhosa</option> + <option value="yi">Yiddish</option> + <option value="yo">Yoruba</option> + <option value="zu">Zulu</option> + </select> + </div> + <div class="some-block option-block"> + <h4 data-localise="__MSG_to__">To</h4> + <select class="to"> + <option value="af">Afrikaans</option> + <option value="sq">Albanian</option> + <option value="am">Amharic</option> + <option value="ar">Arabic</option> + <option value="hy">Armenian</option> + <option value="az">Azerbaijani</option> + <option value="eu">Basque</option> + <option value="be">Belarusian</option> + <option value="bn">Bengali</option> + <option value="bs">Bosnian</option> + <option value="bg">Bulgarian</option> + <option value="ca">Catalan</option> + <option value="ceb">Cebuano</option> + <option value="ny">Chichewa</option> + <option value="zh-CN">Chinese</option> + <option value="co">Corsican</option> + <option value="hr">Croatian</option> + <option value="cs">Czech</option> + <option value="da">Danish</option> + <option value="nl">Dutch</option> + <option value="en">English</option> + <option value="eo">Esperanto</option> + <option value="et">Estonian</option> + <option value="tl">Filipino</option> + <option value="fi">Finnish</option> + <option value="fr">French</option> + <option value="fy">Frisian</option> + <option value="gl">Galician</option> + <option value="ka">Georgian</option> + <option value="de">German</option> + <option value="el">Greek</option> + <option value="gu">Gujarati</option> + <option value="ht">Haitian Creole</option> + <option value="ha">Hausa</option> + <option value="haw">Hawaiian</option> + <option value="iw">Hebrew</option> + <option value="hi">Hindi</option> + <option value="hmn">Hmong</option> + <option value="hu">Hungarian</option> + <option value="is">Icelandic</option> + <option value="ig">Igbo</option> + <option value="id">Indonesian</option> + <option value="ga">Irish</option> + <option value="it">Italian</option> + <option value="ja">Japanese</option> + <option value="jw">Javanese</option> + <option value="kn">Kannada</option> + <option value="kk">Kazakh</option> + <option value="km">Khmer</option> + <option value="rw">Kinyarwanda</option> + <option value="ko">Korean</option> + <option value="ku">Kurdish (Kurmanji)</option> + <option value="ky">Kyrgyz</option> + <option value="lo">Lao</option> + <option value="la">Latin</option> + <option value="lv">Latvian</option> + <option value="lt">Lithuanian</option> + <option value="lb">Luxembourgish</option> + <option value="mk">Macedonian</option> + <option value="mg">Malagasy</option> + <option value="ms">Malay</option> + <option value="ml">Malayalam</option> + <option value="mt">Maltese</option> + <option value="mi">Maori</option> + <option value="mr">Marathi</option> + <option value="mn">Mongolian</option> + <option value="my">Myanmar (Burmese)</option> + <option value="ne">Nepali</option> + <option value="no">Norwegian</option> + <option value="or">Odia (Oriya)</option> + <option value="ps">Pashto</option> + <option value="fa">Persian</option> + <option value="pl">Polish</option> + <option value="pt">Portuguese</option> + <option value="pa">Punjabi</option> + <option value="ro">Romanian</option> + <option value="ru">Russian</option> + <option value="sm">Samoan</option> + <option value="gd">Scots Gaelic</option> + <option value="sr">Serbian</option> + <option value="st">Sesotho</option> + <option value="sn">Shona</option> + <option value="sd">Sindhi</option> + <option value="si">Sinhala</option> + <option value="sk">Slovak</option> + <option value="sl">Slovenian</option> + <option value="so">Somali</option> + <option value="es">Spanish</option> + <option value="su">Sundanese</option> + <option value="sw">Swahili</option> + <option value="sv">Swedish</option> + <option value="tg">Tajik</option> + <option value="ta">Tamil</option> + <option value="tt">Tatar</option> + <option value="te">Telugu</option> + <option value="th">Thai</option> + <option value="tr">Turkish</option> + <option value="tk">Turkmen</option> + <option value="uk">Ukrainian</option> + <option value="ur">Urdu</option> + <option value="ug">Uyghur</option> + <option value="uz">Uzbek</option> + <option value="vi">Vietnamese</option> + <option value="cy">Welsh</option> + <option value="xh">Xhosa</option> + <option value="yi">Yiddish</option> + <option value="yo">Yoruba</option> + <option value="zu">Zulu</option> + </select> + </div> + <div class="some-block option-block"> + <h4 data-localise="__MSG_engine__">Engine</h4> + <select class="engine"> + <option value="google">Google</option> + <option value="libre">Libre</option> + <option value="deepl">Deepl</option> + <option value="iciba">ICIBA</option> + <option value="reverso">Reverso</option> + </select> + </div> + <div class="normal"> + <div class="some-block option-block"> + <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> + </div> + <div class="checklist"></div> + <hr> + <div class="some-block option-block"> + <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> + </div> + <form class="custom-instance-form"> + <div class="some-block option-block"> + <input class="custom-instance" placeholder="https://simplytranslate.org" type="url"> + <button class="add add-instance" type="submit"></button> + <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> + <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> + </svg> + </div> + </form> + <div class="checklist custom-checklist"></div> + <label class="button button-inline" id="latency-simplyTranslate-label" for="latency-simplyTranslate"> + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> + <path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path> + </svg> + <x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x> + </label> + <input class="button button-inline" id="latency-simplyTranslate" style="display:none;"> + </div> + <div class="tor"> + <div class="some-block option-block"> + <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> + </div> + <div class="checklist"></div> + <hr> + <div class="some-block option-block"> + <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> + </div> + <form class="custom-instance-form"> + <div class="some-block option-block"> + <input class="custom-instance" placeholder="http://hxecvvetgrznmprg.onion" type="url"> + <button class="add add-instance" type="submit"></button> + <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> + <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> + </svg> + </div> + </form> + <div class="checklist custom-checklist"></div> + </div> + </div> + <div id="lingva"> + <div class="normal"> + <div class="some-block option-block"> + <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> + </div> + <div class="checklist"></div> + <hr> + <div class="some-block option-block"> + <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> + </div> + <form class="custom-instance-form"> + <div class="some-block option-block"> + <input class="custom-instance" placeholder="https://lingvatranslate.com" type="url"> + <button class="add add-instance" type="submit"></button> + <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> + <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> + </svg> + </div> + </form> + <div class="checklist custom-checklist"></div> + <label class="button button-inline" id="latency-lingva-label" for="latency-lingva"> + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> + <path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path> + </svg> + <x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x> + </label> + <input class="button button-inline" id="latency-lingva" style="display:none;"> + </div> + <div class="tor"> + <div class="some-block option-block"> + <h4 data-localise="__MSG_defaultInstances__">Default Instances</h4> + </div> + <div class="checklist"></div> + <hr> + <div class="some-block option-block"> + <h4 data-localise="__MSG_customInstances__">Custom Instances</h4> + </div> + <form class="custom-instance-form"> + <div class="some-block option-block"> + <input class="custom-instance" placeholder="http://tyzxppdeoojdnaux.onion" type="url"> + <button class="add add-instance" type="submit"></button> + <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> + <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path> + </svg> + </div> + </form> + <div class="checklist custom-checklist"></div> + </div> + </div> + </section> + <script type="module" src="../init.js"></script> + <script type="module" src="./translate.js"></script> +</body> \ No newline at end of file diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js index 5da48740..999d5e30 100644 --- a/src/pages/options/translate/translate.js +++ b/src/pages/options/translate/translate.js @@ -90,16 +90,19 @@ translateHelper.init().then(() => { toElement.value = translateHelper.getTo(); simplyTranslateEngineElement.value = translateHelper.getSimplyTranslateEngine(); - commonHelper.processDefaultCustomInstances( - 'simplyTranslate', - 'normal', - translateHelper, - document, - translateHelper.getSimplyTranslateNormalRedirectsChecks, - translateHelper.setSimplyTranslateNormalRedirectsChecks, - translateHelper.getSimplyTranslateNormalCustomRedirects, - translateHelper.setSimplyTranslateNormalCustomRedirects - ); + browser.storage.local.get("simplyTranslateLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'simplyTranslate', + 'normal', + translateHelper, + document, + translateHelper.getSimplyTranslateNormalRedirectsChecks, + translateHelper.setSimplyTranslateNormalRedirectsChecks, + translateHelper.getSimplyTranslateNormalCustomRedirects, + translateHelper.setSimplyTranslateNormalCustomRedirects, + r.simplyTranslateLatency, + ) + }) commonHelper.processDefaultCustomInstances( 'simplyTranslate', @@ -112,16 +115,20 @@ translateHelper.init().then(() => { translateHelper.setSimplyTranslateTorCustomRedirects ); - commonHelper.processDefaultCustomInstances( - 'lingva', - 'normal', - translateHelper, - document, - translateHelper.getLingvaNormalRedirectsChecks, - translateHelper.setLingvaNormalRedirectsChecks, - translateHelper.getLingvaNormalCustomRedirects, - translateHelper.setLingvaNormalCustomRedirects - ); + browser.storage.local.get("lingvaLatency").then(r => { + commonHelper.processDefaultCustomInstances( + 'lingva', + 'normal', + translateHelper, + document, + translateHelper.getLingvaNormalRedirectsChecks, + translateHelper.setLingvaNormalRedirectsChecks, + translateHelper.getLingvaNormalCustomRedirects, + translateHelper.setLingvaNormalCustomRedirects, + r.lingvaLatency, + ); + }); + commonHelper.processDefaultCustomInstances( 'lingva', @@ -131,6 +138,65 @@ translateHelper.init().then(() => { translateHelper.getLingvaTorRedirectsChecks, translateHelper.setLingvaTorRedirectsChecks, translateHelper.getLingvaTorCustomRedirects, - translateHelper.setLingvaTorCustomRedirects + translateHelper.setLingvaTorCustomRedirects, ) -}); \ No newline at end of file +}); + + +let latencySimplyTranslateElement = document.getElementById("latency-simplyTranslate"); +let latencySimplyTranslateLabel = document.getElementById("latency-simplyTranslate-label"); +latencySimplyTranslateElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencySimplyTranslateElement.addEventListener("click", reloadWindow); + await translateHelper.init(); + let redirects = translateHelper.getRedirects(); + const oldHtml = latencySimplyTranslateLabel.innerHTML; + latencySimplyTranslateLabel.innerHTML = '...'; + commonHelper.testLatency(latencySimplyTranslateLabel, redirects.simplyTranslate.normal).then(r => { + browser.storage.local.set({ simplyTranslateLatency: r }); + latencySimplyTranslateLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'simplyTranslate', + 'normal', + translateHelper, + document, + translateHelper.getSimplyTranslateNormalRedirectsChecks, + translateHelper.setSimplyTranslateNormalRedirectsChecks, + translateHelper.getSimplyTranslateNormalCustomRedirects, + translateHelper.setSimplyTranslateNormalCustomRedirects, + r, + ); + latencySimplyTranslateElement.removeEventListener("click", reloadWindow); + }); + } +); + +let latencyLingvaElement = document.getElementById("latency-lingva"); +let latencyLingvaLabel = document.getElementById("latency-lingva-label"); +latencyLingvaElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyLingvaElement.addEventListener("click", reloadWindow); + await translateHelper.init(); + let redirects = translateHelper.getRedirects(); + const oldHtml = latencyLingvaLabel.innerHTML; + latencyLingvaLabel.innerHTML = '...'; + commonHelper.testLatency(latencyLingvaLabel, redirects.lingva.normal).then(r => { + browser.storage.local.set({ lingvaLatency: r }); + latencyLingvaLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances( + 'lingva', + 'normal', + translateHelper, + document, + translateHelper.getLingvaNormalRedirectsChecks, + translateHelper.setLingvaNormalRedirectsChecks, + translateHelper.getLingvaNormalCustomRedirects, + translateHelper.setLingvaNormalCustomRedirects, + r, + ); + latencyLingvaElement.removeEventListener("click", reloadWindow); + }); + } +); \ No newline at end of file |