176

Hello!

When trying to translate https://doc-kr.qudelix.com/5k from Korean to English, an error message appears in the iframe area instead of the translated website.

"Application error: a client-side exception has occurred (see the browser console for more information)."

Environment

Firefox 133.0.3 (64-bit) on Linux

Steps to reproduce

  1. Go to https://translate.kagi.com
  2. Paste https://doc-kr.qudelix.com/5k in the source textarea beneath "Auto-detect language" (at left). After a moment, the source language is detected correctly as Korean; the source language drop-down menu changes as expected.
  3. Click the hyperlink in the output textarea beneath "English" (at right)
  4. Error: "Application error: a client-side exception has occurred (see the browser console for more information)."

Browser console log

Submitting form Automatic English false false 4.aNIzOIFQ.js:71:1950
As typing 0 false 4.aNIzOIFQ.js:71:2096
Input text changed <empty string> false 4.aNIzOIFQ.js:71:2364
asYouTypeEnabled true 4.aNIzOIFQ.js:71:2503
Cookie warnings 2
Uncaught (in promise) TypeError: C is undefined
    Immutable 11
entry.mwq4x4SM.js:1:22635
As typing 48 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/getting-started/fw <empty string> 4.aNIzOIFQ.js:71:4259
Detected language <empty string> 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/getting-started/fw true 4.aNIzOIFQ.js:71:2364
As typing 48 true 4.aNIzOIFQ.js:71:2096
Detected language: Korean 
<select id="from-lang" class="focus:ring-blue-500 focu…rk:placeholder-gray-400" name="source">
5.CjLElNrO.js:12:279
Submitting form Automatic English false false 4.aNIzOIFQ.js:71:1950
As typing 0 false 4.aNIzOIFQ.js:71:2096
Input text changed <empty string> false 4.aNIzOIFQ.js:71:2364
asYouTypeEnabled true 4.aNIzOIFQ.js:71:2503
As typing 48 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/getting-started/fw <empty string> 4.aNIzOIFQ.js:71:4259
Detected language <empty string> 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/getting-started/fw true 4.aNIzOIFQ.js:71:2364
As typing 48 true 4.aNIzOIFQ.js:71:2096
As typing 47 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/getting-started/f ko 4.aNIzOIFQ.js:71:4259
Detected language ko 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/getting-started/f true 4.aNIzOIFQ.js:71:2364
As typing 47 true 4.aNIzOIFQ.js:71:2096
As typing 46 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/getting-started/ ko 4.aNIzOIFQ.js:71:4259
Detected language ko 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/getting-started/ true 4.aNIzOIFQ.js:71:2364
As typing 46 true 4.aNIzOIFQ.js:71:2096
As typing 45 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/getting-started ko 4.aNIzOIFQ.js:71:4259
Detected language ko 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/getting-started true 4.aNIzOIFQ.js:71:2364
As typing 45 true 4.aNIzOIFQ.js:71:2096
As typing 35 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/getti ko 4.aNIzOIFQ.js:71:4259
Detected language ko 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/getti true 4.aNIzOIFQ.js:71:2364
As typing 35 true 4.aNIzOIFQ.js:71:2096
As typing 30 false 4.aNIzOIFQ.js:71:2096
Resubmitting due to text change 4.aNIzOIFQ.js:71:2177
Handling form Automatic English https://doc-kr.qudelix.com/5k/ ko 4.aNIzOIFQ.js:71:4259
Detected language ko 4.aNIzOIFQ.js:71:4367
Input text changed https://doc-kr.qudelix.com/5k/ true 4.aNIzOIFQ.js:71:2364
As typing 30 true 4.aNIzOIFQ.js:71:2096
[nuqs]: debug mode is disabled (localStorage unavailable). DOMException: Window.localStorage getter: Forbidden in a sandboxed document without the 'allow-same-origin' flag.
    NextJS 5
app-index.tsx:25:19
TypeError: URL constructor: null is not a valid URL.
    NextJS 13
app-index.tsx:25:19
Uncaught Error: Minified React error #423; visit https://react.dev/errors/423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    iZ React
    NextJS 6
react-dom.production.min.js:279:5
Detected language: Korean 
<select id="from-lang" class="focus:ring-blue-500 focu…rk:placeholder-gray-400" name="source">
5.CjLElNrO.js:12:279
[nuqs]: debug mode is disabled (localStorage unavailable). DOMException: Window.localStorage getter: Forbidden in a sandboxed document without the 'allow-same-origin' flag.
    NextJS 5
app-index.tsx:25:19
TypeError: URL constructor: null is not a valid URL.
    NextJS 13
app-index.tsx:25:19
Uncaught Error: Minified React error #423; visit https://react.dev/errors/423 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    iZ React
    NextJS 6
react-dom.production.min.js:279:5

I hope this helps you with your problem-determination efforts. Please let me know if you need any further information.

Thanks and make it a great day! 🙂

  • BenH replied to this.

    The "Verify you are human" captcha times out very aggressively.

    I run all my web traffic through a Hetzner Cloud VM, so I'm not particularly surprised I get the captcha. I am however surprised that it seems to time out after a minute of inactivity and asks me to click the button again. And again one minute later. And again. I think the timeout could be a bit more generous, especially given that I'm logged in throughout all of this.

    • BenH replied to this.

      I frequently notice that the translation voice output cuts off.

      Two examples.

      1) The voice output from the translation source. The translation played normally and in full.

      kagi-translate-audio-cut-off.mp3
      65kB

      2) The voice output from an English translation into German.

      cut-off-english-source-german-output.mp3
      116kB

      They just randomly stop abruptly, sometimes mid-word or sentence.

      • Vlad replied to this.

        Dustin Can you add steps to reproduce, browser version, and anything else that might be helpful.

          Vlad

          I can reproduce by just adding text to either of the fields and hitting the speaker icon for the voice output. It seems to be random as to when and how often it cuts off.

          Safari Version 18.3 (20620.2.2), Wipr 2 content blocker extension.

          I can attempt to reproduce this with Orion and Firefox to see if it's related to Safari or not.

            Vlad oh my god

            now that is cool. You should broadcast this capability more. Not only did I not know, I am not sure I ever even would have guessed.

            • Vlad replied to this.
              • Edited

              Hey happinessattack, this is because of sandboxing we're doing on our end causing Javascript to crash on some websites. Revamping webpage translations (and fixing this) is on our backlog and will probably be done in a month or so.

                scvalex Strange... This shouldn't be happening if you're logged in. I've pushed an update that might have fixed it. Let us know if it's still happening!

                  BenH Awesome, thanks Ben for the fast response! I'll check back after the next changelog.

                    Pictor We were not aware that this is a useful use-case 🙂 we just happen to support it out of the box. How would we broadcast it more?

                      I use Auto Tab Discard in Firefox, which unloads inactive tabs. When I opened an unloaded Translate tab it appeared to shift the translation target language one language up in the list, without updating the UI:

                      "Emoji Speak" is above English and is what the target seems to have been set to. Obviously a very minor bug but still was a little startling to run across haha

                        It would be nice if Translate could either remember the last language pair, or at least keep the last 2-4 used languages in the top of the drop down menu (with a horizontal bar to separate then from the full language list).

                        Most often I want to translate from one specific language (Danish) to another specific language (English), and it would be easier if I didn't have to adjust the source language every time (Danish is often confused with Norwegian, so the “Detect Language“ option is sometimes suboptimal).

                          Vlad

                          How come mine looks like this?
                          I just followed your link.

                            I also noticed, Kagi translate only has Norwegian Bokmål, and not Norwegian Nynorsk.
                            Is there any chance we can get a Nynorsk option as well?
                            Google translate is also missing this, so I didn't really expect it to be there, but it would be really nice to have.

                            busywhistling This's a good idea, why didn't I think of this? Change my chinese media to english, then reading.

                              Something very interesting could be a context bar, in which you could optionally write the context where the text is from. Languages like Japanese sometime ignore referring to the subject at all since where the comment/text is placed makes it obvious in the text what they're referring to, but bring it out of the context and one would become pretty unsure what they mean. So an optional context box where you sometime could write something like "A YouTube video about a resturant" and using that context it could increase the quality of the translation quite easily. I'd like to hear opinions on this idea, I think it could be very useful.

                                Would be cool if searching for a term followed by a language (e.G. "ice cream spanish") already gave you a translation widget for that term like Google and Bing do it since the user is fairly possible looking for a translation of mentioned term.

                                While this "only" saves you 9 characters, it makes the translation widget easier to find (in fact I had to search this forum for a couple of minutes to figure out there was a search widget, no other major search engine requires a keyword for it to appear).

                                Google:

                                Bing: