DeepL Translate page been wonky lately

For support with specific websites

Moderator: trava90

Forum rules
Please always mention the name/domain of the website in question in your topic title.
Please one website per topic thread (to help keep things organized). While behavior on different sites might at first glance seem similar, they are not necessarily caused by the same.

Please try to include any relevant output from the Toolkit Error Console or the Developer Tools Web Console using the following procedure:
  1. Clear any current output
  2. Navigate or refresh the page in question
  3. Copy and paste Errors or seemingly relevant Warnings into a single [ code ] block.
User avatar
ron_1
Knows the dark side
Knows the dark side
Posts: 3032
Joined: 2012-06-28, 01:20

DeepL Translate page been wonky lately

Post by ron_1 » 2025-11-01, 16:13

The DeepL translation website hasn't been working very good or at all in Pale Moon lately. Error console output below. I see "wasm" in some of the errors. I've seen that in a recent post here I think. Is that the problem?

Code: Select all

Timestamp: 11/01/2025 11:47:21 AM
Warning: Content Security Policy: Couldn’t parse invalid host 'wasm-unsafe-eval'

Timestamp: 11/01/2025 11:47:21 AM
Warning: Content Security Policy: Couldn’t parse invalid host 'wasm-unsafe-eval'

Timestamp: 11/01/2025 11:47:21 AM
Error: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: chrome://browser/content/browser.js :: onStateChange :: line 11130"  data: no]Timestamp: 11/01/2025 11:47:21 AM
Error: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: chrome://browser/content/browser.js :: onStateChange :: line 11130"  data: no]

Timestamp: 11/01/2025 11:47:21 AM
Error: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: chrome://browser/content/browser.js :: onStateChange :: line 11130"  data: no]

Timestamp: 11/01/2025 11:47:21 AM
Error: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: chrome://browser/content/browser.js :: onStateChange :: line 11130"  data: no]

Timestamp: 11/01/2025 11:47:22 AM
Error: [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsIWebProgress.DOMWindow]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: chrome://browser/content/browser.js :: onStateChange :: line 11130"  data: no]

Timestamp: 11/01/2025 11:47:56 AM
Warning: Content Security Policy: Couldn’t parse invalid host 'wasm-unsafe-eval'

User avatar
andyprough
Board Warrior
Board Warrior
Posts: 1196
Joined: 2020-05-31, 04:33

Re: DeepL Translate page been wonky lately

Post by andyprough » 2025-11-01, 20:49

I'm using DeepL on Pale Moon right now to translate some German text to English and not seeing any problem. It's translating quick and efficiently. Also not getting any errors in the error console.

User avatar
Gemmaugr
Lunatic
Lunatic
Posts: 311
Joined: 2025-02-03, 07:55

Re: DeepL Translate page been wonky lately

Post by Gemmaugr » 2025-11-01, 21:29

I get alot of uBO related errors after allowing two DeepL entries in it. It also runs way slower after allowing them. Also, the layout is wonky and overlapping in the top right corner.

Before that I do get errors, but they're not the same as OP's.

Goodydino
Keeps coming back
Keeps coming back
Posts: 931
Joined: 2017-10-10, 21:20

Re: DeepL Translate page been wonky lately

Post by Goodydino » 2025-11-03, 18:45

With Pale Moon, the textbox where you enter the text to translate is not present. It is present with LibreWolf.

User avatar
andyprough
Board Warrior
Board Warrior
Posts: 1196
Joined: 2020-05-31, 04:33

Re: DeepL Translate page been wonky lately

Post by andyprough » 2025-11-03, 18:59

Goodydino wrote:
2025-11-03, 18:45
With Pale Moon, the textbox where you enter the text to translate is not present. It is present with LibreWolf.
That textbox is present for me on Pale Moon. Wonder if DeepL is giving a different web experience to people depending on their region of the world, something like that?

User avatar
Gemmaugr
Lunatic
Lunatic
Posts: 311
Joined: 2025-02-03, 07:55

Re: DeepL Translate page been wonky lately

Post by Gemmaugr » 2025-11-03, 21:18

I'm in Sweden, with a VPN that's also (currently set to) using a server in Sweden.

Layout issues: https://gcdnb.pbrd.co/images/vGW1BqTXwXNB.png?o=1

Errors:

uBO: [set-constant ⁝ Object.prototype.getFooterText ⁝ undefined] Trap installed
translator:196:5
" was called before the component was attached to the DOM.
be8cfe318ee172639ff6b153ec51500e63c335a2-b2a95cfebb6bd826b476.js:10:12714
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
function bound nD() {
[native code]
}
#___gatsby
translator:565:13
No supported Browser detected!
app-433c30464a641b6b264d.js:5:249719
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
()=>o(l.xt.EVENT_ID_DICTIONARY_INTERACTION_COPY,{dictionaryInteractionData:{source:i.current}})
.mb-0[aria-labelledby="dictionary-header"]
translator:565:13
No supported Browser detected!
app-433c30464a641b6b264d.js:5:249719
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
function bound nD() {
[native code]
}
#deepl-ui-tooltip-portal[data-testid="deepl-ui-tooltip-portal"]
translator:565:13
No supported Browser detected!
app-433c30464a641b6b264d.js:5:249719
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
function bound nD() {
[native code]
}
#context-editing-portal-target
translator:565:13
No supported Browser detected!
app-433c30464a641b6b264d.js:5:249719
[/translator/core/workspaces] Using HTTP POST for starting session due to WTT-1729
0658e1e7ae36e2c10f3dc2ca3cc7afbc5cb287ba-60f371678d9181c20592.js:1:67197
Using HTTP POST for starting ITA session
4e8add3d66a24d3e64bf76d0b8b40f2b112b698b-cad72990a668a20e664c.js:1:270346
[PersistentSession] state: "initial"
4e8add3d66a24d3e64bf76d0b8b40f2b112b698b-cad72990a668a20e664c.js:1:261147
selectedTranslationMemory Object { id: null, threshold: 75 }
0658e1e7ae36e2c10f3dc2ca3cc7afbc5cb287ba-60f371678d9181c20592.js:1:86417
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
r=>{let o,{selectionStart:l,selectionEnd:i}=e,[s,g]=l<=i?[l,i]:[i,l],p=(e.value||"").substring(s,g);e.dTextarea.hasAnyFormatting()&&(o=e.dTextarea.getHtmlForRangeWithBlocks(s,g-s));let T={plain:p,html:o},m=(0,a.Uq)(T);e===n&&u(m),e===t&&c(m);let f=m();r&&r.clipboardData&&r.clipboardData.setData&&(f.html&&r.clipboardData.setData("text/html",f.html),r.clipboardData.setData("text/plain",f.plain),e===n&&d(),r.preventDefault())}
.focus-visible-disabled-container.bg-white.text-gray-800.dark\:bg-gray-800.dark\:text-white.DTextAreaInput-module--textarea--0624c.min-h-0.w-full.h-full.overflow-auto.rounded-inherit.app\:\[\&\>div\]\:py-6.app\:\[\&\>div\]\:pl-6.app\:\[\&\>div\]\:pr-14.app\:\[\&\>div\]\:min-w-0.app\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pr-6.app\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pl-14.doctrans\:\[\&\>div\]\:py-6.doctrans\:\[\&\>div\]\:pl-6.doctrans\:\[\&\>div\]\:pr-14.doctrans\:\[\&\>div\]\:min-w-0.doctrans\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pr-6.doctrans\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pl-14.mobile\:\[\&\>div\]\:py-5.mobile\:\[\&\>div\]\:pl-5.mobile\:\[\&\>div\]\:pr-\[52px\].mobile\:min-h-\[90px\].\[html\[dir\=\"rtl\"\]\[data-mobile\=\"true\"\]_\&\>div\]\:pr-5.\[html\[dir\=\"rtl\"\]\[data-mobile\=\"true\"\]_\&\>div\]\:pl-\[52px\].mobile\:leading-7.mobile\:\[\&\>div\]\:overflow-y-scroll.app\:overflow-auto.useFontSizeClasses-module--default--235db.useFontSizeClasses-module--shortText--36cb0[name="source"][autocomplete="off"][disabled="false"][data-early-paste-detection-id=":R2iqamqn8clq73ap:"][data-testid="translator-source-input"][aria-labelledby="translation-source-heading"][dir="ltr"][data-remove-rtf="true"][data-allow-linebreaks="false"][lang="auto"]
translator:565:13
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
r=>{let o,{selectionStart:l,selectionEnd:i}=e,[s,g]=l<=i?[l,i]:[i,l],p=(e.value||"").substring(s,g);e.dTextarea.hasAnyFormatting()&&(o=e.dTextarea.getHtmlForRangeWithBlocks(s,g-s));let T={plain:p,html:o},m=(0,a.Uq)(T);e===n&&u(m),e===t&&c(m);let f=m();r&&r.clipboardData&&r.clipboardData.setData&&(f.html&&r.clipboardData.setData("text/html",f.html),r.clipboardData.setData("text/plain",f.plain),e===n&&d(),r.preventDefault())}
.focus-visible-disabled-container.bg-white.text-gray-800.dark\:bg-gray-800.dark\:text-white.DTextAreaInput-module--textarea--0624c.last\:grow.w-full.overflow-auto.rounded-inherit.app\:\[\&\>div\]\:py-6.app\:\[\&\>div\]\:pl-6.app\:\[\&\>div\]\:pr-14.app\:\[\&\>div\]\:min-w-0.app\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pr-6.app\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pl-14.mobile\:\[\&\>div\]\:p-5.\[html\[dir\=\"ltr\"\]\[data-mobile\=\"true\"\]_\&\>div\]\:pr-\[52px\].\[html\[dir\=\"rtl\"\]\[data-mobile\=\"true\"\]_\&\>div\]\:pl-\[52px\].doctrans\:md\:\[\&\>div\]\:pl-9.doctrans\:md\:\[html\[dir\=\"rtl\"\]_\&\>div\]\:pr-9.mobile\:leading-7.mobile\:\[\&\>div\]\:overflow-y-scroll.app\:overflow-auto.useFontSizeClasses-module--default--235db.useFontSizeClasses-module--shortText--36cb0[name="target"][autocomplete="off"][disabled="true"][data-early-paste-detection-id=":R25qamqn8clq73ap:"][data-testid="translator-target-input"][aria-labelledby="translation-target-heading"][dir="ltr"][spellcheck="false"][data-remove-rtf="true"][data-allow-linebreaks="false"][lang="de"]
translator:565:13
Glossary suggestions: Array [ ]
aff4e10623ae1eceeb9593a1985964775ed0a75a-a98a24cc5250e09d992b.js:1:17326
Updating glossary list: undefined
aff4e10623ae1eceeb9593a1985964775ed0a75a-a98a24cc5250e09d992b.js:1:16899
[PersistentSession] event: "start"
4e8add3d66a24d3e64bf76d0b8b40f2b112b698b-cad72990a668a20e664c.js:1:261804
[PersistentSession] state: "connecting" (retry #0)
4e8add3d66a24d3e64bf76d0b8b40f2b112b698b-cad72990a668a20e664c.js:1:261147
Updating glossary list: undefined
aff4e10623ae1eceeb9593a1985964775ed0a75a-a98a24cc5250e09d992b.js:1:16899
No supported Browser detected!
app-433c30464a641b6b264d.js:5:249719
[PersistentSession] state: "connected" (session ID: 4af64f89-c2f4-4c65-85d1-325f5e32489e)
4e8add3d66a24d3e64bf76d0b8b40f2b112b698b-cad72990a668a20e664c.js:1:261147
Updating glossary list: undefined
aff4e10623ae1eceeb9593a1985964775ed0a75a-a98a24cc5250e09d992b.js:1:16899
uBO: [prevent-addEventListener ⁝ copy ⁝ ] Prevented: copy
function bound nD() {
[native code]
}
.product.desktop-glossary-overwrites.ita-enabled[data-hydrated="true"]
translator:565:13
DapError: Sending to DAP went wrong (error="Sending to DAP went wrong: Request timed out after 500ms", event-id="58", page-id="110")
Stack trace:
o@https://www.deepl.com/gatsby/app-433c30 ... s:5:258930
n@https://www.deepl.com/gatsby/app-433c30 ... s:5:166483
t@https://www.deepl.com/gatsby/app-433c30 ... s:5:413599
a@https://www.deepl.com/gatsby/app-433c30 ... s:5:255088

app-433c30464a641b6b264d.js:5:258466
Updating glossary list: undefined
aff4e10623ae1eceeb9593a1985964775ed0a75a-a98a24cc5250e09d992b.js:1:16899
DapError: Sending to DAP went wrong (error="Sending to DAP went wrong: Request timed out after 500ms", event-id="60", page-id="110")
Stack trace:
o@https://www.deepl.com/gatsby/app-433c30 ... s:5:258930
n@https://www.deepl.com/gatsby/app-433c30 ... s:5:166483
t@https://www.deepl.com/gatsby/app-433c30 ... s:5:413599
a@https://www.deepl.com/gatsby/app-433c30 ... s:5:255088

app-433c30464a641b6b264d.js:5:258466
Updating glossary list: undefined
aff4e10623ae1eceeb9593a1985964775ed0a75a-a98a24cc5250e09d992b.js:1:16899
No supported Browser detected!
app-433c30464a641b6b264d.js:5:249719

User avatar
andyprough
Board Warrior
Board Warrior
Posts: 1196
Joined: 2020-05-31, 04:33

Re: DeepL Translate page been wonky lately

Post by andyprough » 2025-11-03, 21:27

Gemmaugr wrote:
2025-11-03, 21:18
I'm in Sweden, with a VPN that's also (currently set to) using a server in Sweden.

Layout issues: https://gcdnb.pbrd.co/images/vGW1BqTXwXNB.png?o=1
Oh, well that's what it looks like for me. I thought that box where you typed "Jag har problem med DeepL" is the textbox. Is there a different textbox? Because that one works great for me.

I guess those editing tools over to the right side of the page do look a bit messy. Translation works fine though.
2025-11-03_15-30.jpg
You do not have the required permissions to view the files attached to this post.

User avatar
adoxa
Astronaut
Astronaut
Posts: 528
Joined: 2019-03-16, 13:26
Location: Qld, Aus.

Re: DeepL Translate page been wonky lately

Post by adoxa » 2025-11-04, 00:32

It's Tailwind CSS, which makes use of many features not supported by PM (min, clamp, aspect-ratio, containers, nesting).

User avatar
Gemmaugr
Lunatic
Lunatic
Posts: 311
Joined: 2025-02-03, 07:55

Re: DeepL Translate page been wonky lately

Post by Gemmaugr » 2025-11-04, 01:28

adoxa wrote:
2025-11-04, 00:32
It's Tailwind CSS, which makes use of many features not supported by PM (min, clamp, aspect-ratio, containers, nesting).
Is there any specific tell one should look for to know this (errors, console, source, etc)?

-

and of course, Tailwind CSS runs via Node.js, which relies on googles V8 javascript..

User avatar
adoxa
Astronaut
Astronaut
Posts: 528
Joined: 2019-03-16, 13:26
Location: Qld, Aus.

Re: DeepL Translate page been wonky lately

Post by adoxa » 2025-11-04, 05:46

Gemmaugr wrote:
2025-11-04, 01:28
Is there any specific tell one should look for to know this (errors, console, source, etc)?
Inspect anything and you'll see all the Tailwind variables (--tw-...). Open the Style Editor and usually you'll see a Tailwind comment, but in this case it's buried a bit deeper (open component---sr... and I see it at line 1832).

User avatar
Gemmaugr
Lunatic
Lunatic
Posts: 311
Joined: 2025-02-03, 07:55

Re: DeepL Translate page been wonky lately

Post by Gemmaugr » 2025-11-04, 08:07

adoxa wrote:
2025-11-04, 05:46
Gemmaugr wrote:
2025-11-04, 01:28
Is there any specific tell one should look for to know this (errors, console, source, etc)?
Inspect anything and you'll see all the Tailwind variables (--tw-...). Open the Style Editor and usually you'll see a Tailwind comment, but in this case it's buried a bit deeper (open component---sr... and I see it at line 1832).
Thanks. Both tells seems rather hidden/obfuscated (requiring prior knowledge), but it is what it is.

User avatar
tellu-white
Lunatic
Lunatic
Posts: 270
Joined: 2022-03-08, 22:02

Re: DeepL Translate page been wonky lately

Post by tellu-white » 2025-11-07, 23:39

I've made a Custom Button that gets rid of unnecessary stuff on the page, which also helps Pale Moon to reduce the load of heavy scripts.

The button has two functions (both mandatory):

1. Clicking on the button opens "DeepL Translator" page, with the following URL:

https://www.deepl.com/translator#en/0

The number 0 is required as input for translation because the page can be cleared (step 2 below) without becoming an empty page only after the translation (0 to 0) is executed. Without this input, it is not possible to know when to continue with the next step (see below). It takes a while before this initial (dummy) translation is completed.

2. After the translation is complete, press "Ctrl + Click" on the button to obtain a clean page. Now you can select the languages used for translation.

Note: Unfortunately, from time to time, at irregular intervals (sometimes short, sometimes long), DeepL gets upset and removes all content from the page (the page becomes empty). In this case, you must repeat the two steps described above.

Custom Button code:

Code: Select all

/*Initialization Code*/

this.buttonClick_DeepL_restore_page_layout = function(event) {
	
	// "Click" on Button = Open "DeepL Translator" Page ( with the digit 0 as input for translation )
	
	if (event.button == 0 && !event.ctrlKey && !event.altKey && !event.shiftKey){
		var page_URL = "https://www.deepl.com/translator#en/0";
		
		var final_position = gBrowser.tabContainer.selectedIndex + 1;
		var new_tab = gBrowser.addTab(page_URL);
		gBrowser.moveTabTo(new_tab, final_position);
		gBrowser.selectedTab = new_tab;
	}
	
	// "Ctrl + Click" on Button = Restore DeepL Page Layout
	
	else if (event.button == 0 && event.ctrlKey && !event.altKey && !event.shiftKey){
		var all_tags = content.document.getElementsByTagName("*");
		var i = all_tags.length;

		while(i--){
			try{
				var class_name = all_tags[i].className;
				
				if(class_name){
					if(class_name.includes("hidden flex-col min")){
						all_tags[i].parentNode.removeChild(all_tags[i]);
					}
					
					if(class_name.includes("homeExperience")){
						all_tags[i].parentNode.removeChild(all_tags[i]);
					}
					
					if(class_name.includes("py-redesign")){
						all_tags[i].parentNode.removeChild(all_tags[i]);
					}
					
					if(class_name.includes("top-0")){
						all_tags[i].parentNode.removeChild(all_tags[i]);
					}
					
					if(class_name.includes("SidePanel")){
						all_tags[i].parentNode.removeChild(all_tags[i]);
					}
					
					if(class_name.includes("mobile:contents")){
						all_tags[i].parentNode.parentNode.removeChild(all_tags[i].parentNode);
					}
				}
				
				var dataset = all_tags[i].dataset;
				
				if(dataset){
					var dataset_layoutId = all_tags[i].dataset.layoutId;
					
					if(dataset_layoutId){
						if(dataset_layoutId == "sourceTextareaContainer"){
							all_tags[i].style.cssText = 'display: inline-block; vertical-align: top; width: 48vw; margin: 0px; padding: 10px 0px 10px 10px;';
						}
						
						if(dataset_layoutId == "targetTextareaContainer"){
							all_tags[i].style.cssText = 'display: inline-block; vertical-align: top; width: 50vw; margin: 0px; padding: 10px 0px 10px 10px;';
						}
						
						if(dataset_layoutId == "sourceTextareaTopCornerButton"){
							all_tags[i].parentNode.removeChild(all_tags[i]);
						}
						
						if(dataset_layoutid == "translatorSidePanel"){
							all_tags[i].parentNode.removeChild(all_tags[i]);
						}
					}
					
					var dataset_testId = all_tags[i].dataset.testid;
					
					if(dataset_testId == "dl-cookieBanner"){
						all_tags[i].parentNode.removeChild(all_tags[i]);
					}
				}
				
			} catch(err){
				console.log('ERROR in "DeepL - Restore Page Layout" : ', err.message);
			}
		}

		var textareas_Container = content.document.getElementById("textareasContainer");

		if(textareas_Container){
			textareas_Container.style.cssText = 'width: 98vw; margin: 0px; padding: 0px;';
		}

		var arr_footer = content.document.getElementsByTagName("footer");
		
		if(arr_footer){
			arr_footer[0].parentNode.removeChild(arr_footer[0]);
		}
	}
}

this.setAttribute("onclick", "this.buttonClick_DeepL_restore_page_layout(event)");

this.name = '\n DeepL -  Restore Page Layout \n\n •  "Click" on Button = Open "DeepL Translator" Page \n      ( with the digit 0 as input for translation ) \n\n •  "Ctrl + Click" on Button = Restore DeepL Page Layout \n ';

this.image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAVCAYAAACg/AXsAAAACXBIWXMAAARuAAAEbgHQo7JoAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAuxJREFUeNqEk8+LHEUUxz+vqrq6Z2YnY1bCTBJcf6ARzO5FlOwh6kH/gKAeRIlnkXh2BcnFQ7zL/gfxIAh7zdmTKxiCu+BPMDFBM3HMJD2zM91d3f087EpmlkksqEvx6vPe933fE154H8tdnB+h9hjkKRJb9N6E6kjnU59OL4be8Yv1b9ufUwzhxDraW6Gxt0RefUMltzEsPu8ikpOmn4XERaTpJUQU+HBRsDv8IMKlMuiG+AQRAEWrCe7pl7A22cz+/GUFVjZm/8xWcg5BpWSDCpBZsKFOBxTDW8TOfOwptUbOzUI6GPO6ZNlWNUopBWi2iVi6aTIm6AwMCM7D4BZudHdLrXsVOCLN02eGSqNZ0PCiCrZCW4+949P6q1zzHbGsipbzmlVRb/HZsUJKPzEFR3cCyRXRGqyFVrsvu9//FIrraMO96O7bPtqAuZIECTXB9q8U8c0dA9wBBgcpANcF+wWwEwd3yixNeohZU21greIc6APeALhjZunUNdz7B9bOvkLj1CqTsCtGb0dR+TOICEgNn9TzfV8wJzaC9C+oh5RLe9ByXeCqSKCqocz2SbOUBcMmoBW4AvBBTWgU7d8/QM13qmAcztg5STjAAwkqYGtwUwhyHrWXEQhFlRDVH0H5MogeypgA3vmiva5SFkU0RdSAyb8mGX+JdIiiUVROW9dJe919DTMui+IL/5oUsTeTuP9r5sdD0SZoDU7eZrl4j6iCWq4CXcr57dAqxzefpHri+b+Lk3JNWDuLLTtnounytyH+A0kieLwPeQLjDocBVDn0TqM/XENOHl9n2W//19htRIQ6XCCUMH4Osi6U9iFLzoUDf7YXubOJqmDtZaIORPFh40bAG8Amj5yT/ejzVR7etLY1FmMejLxyAxf/SHoDJgMw7lEQUNgSYblpXZ+xgWkERleBtygC8uxTUA0hmzwccnACKj2NqzU9mhFlHhU9MRexN/1fyL44w241rZ8p7pfEDWlHEczefwcA93k06GMM1bkAAAAASUVORK5CYII=";
Custom Buttons Enhanced 0.0.6

https://forum.palemoon.org/viewtopic.php?f=71&t=32626

Screenshots:
01.png
02.png
03.png
04.png
05.png
06.png
07.png
08.png
You do not have the required permissions to view the files attached to this post.

User avatar
UCyborg
Astronaut
Astronaut
Posts: 574
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: DeepL Translate page been wonky lately

Post by UCyborg » 2025-11-08, 20:59

That site has really become cumbersome, hasn't it?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 38481
Joined: 2011-08-28, 17:27
Location: Sweden

Re: DeepL Translate page been wonky lately

Post by Moonchild » 2025-11-08, 21:37

UCyborg wrote:
2025-11-08, 20:59
That site has really become cumbersome, hasn't it?
It's been cumbersome for quite some time. I ended up just using Google Translate for when I need machine translation. It works.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
andyprough
Board Warrior
Board Warrior
Posts: 1196
Joined: 2020-05-31, 04:33

Re: DeepL Translate page been wonky lately

Post by andyprough » 2025-11-08, 23:50

Moonchild wrote:
2025-11-08, 21:37
It's been cumbersome for quite some time. I ended up just using Google Translate for when I need machine translation. It works.
You probably need more professional level translation than me, but I just go to DDG and type "translate" and it gives me a translation box that does everything I need. Just like with maps, some people ask me what maps site I recommend, and I honestly just put addresses in DDG and use the little embedded Apple maps widget. And now that DDG has AI summarized search results, it's really hard to think of a good reason to go anywhere else. And DDG works so well with Pale Moon, why go elsewhere looking for trouble?

User avatar
ron_1
Knows the dark side
Knows the dark side
Posts: 3032
Joined: 2012-06-28, 01:20

Re: DeepL Translate page been wonky lately

Post by ron_1 » 2025-11-09, 17:29

Moonchild wrote:
2025-11-08, 21:37
It's been cumbersome for quite some time. I ended up just using Google Translate for when I need machine translation. It works.
I switched to Bing. It works as well.

User avatar
andyprough
Board Warrior
Board Warrior
Posts: 1196
Joined: 2020-05-31, 04:33

Re: DeepL Translate page been wonky lately

Post by andyprough » 2025-11-09, 18:35

ron_1 wrote:
2025-11-09, 17:29
I switched to Bing. It works as well.
I think Bing is the one DDG uses. Seems pretty good.

User avatar
Lecco
Newbie
Newbie
Posts: 4
Joined: 2025-08-16, 12:55

Re: DeepL Translate page been wonky lately

Post by Lecco » 2025-11-29, 13:22

Another option could be to use Yandex Translate, which works fine in Pale Moon. Translating complete webpages works too.

I was using a bookmarklet to translate text snippets with DeepL, but since some time, the webpage seems to be too Javascript heavy.
Using the bookmarket, it takes 22 seconds for the translated text to appear and the CPU usage stays high, although nothing else happens.
And also, the page layout is broken if you compare it to how it looks in another browsers. (textboxes should be side by side)

With Yandex, it takes 6 seconds and there is no additional CPU usage.

And yes, my computer is rather old, so DeepL might load faster for you, but still : Yandex is almost 4x faster with no additional CPU usage.

The bookmarklet I use is :

Code: Select all

javascript:(function%20translate()%20{function%20se(d)%20{return%20d.selection%20?%20d.selection.createRange().text%20:%20d.getSelection();%20}s%20=%20se(document);for%20(i%20=%200;%20i%20<%20frames.length%20&&%20!s;%20i++)%20s%20=%20se(frames[i].document);if%20(!s%20||%20s%20==%20'')%20s%20=%20prompt('Enter%20text%20to%20translate%20with%20Yandex%20Translate',%20'');var%20sourceLang%20=%20document.documentElement.lang%20||%20'en';var%20targetLang%20=%20'en';open('https://translate.yandex.com/?lang='%20+%20sourceLang%20+%20'-'%20+%20targetLang%20+%20'&text='%20+%20(s%20?%20encodeURIComponent(s)%20:%20'')).focus();})();
More readable version :

Code: Select all

javascript:(function translate() {
    function se(d) { return d.selection ? d.selection.createRange().text : d.getSelection(); }
    s = se(document);
    for (i = 0; i < frames.length && !s; i++) s = se(frames[i].document);
    if (!s || s == '') s = prompt('Enter text to translate with Yandex Translate', '');
    var sourceLang = document.documentElement.lang || 'en';
    var targetLang = 'en';
    open('https://translate.yandex.com/?lang=' + sourceLang + '-' + targetLang + '&text=' + (s ? encodeURIComponent(s) : '')).focus();
})();
Usage :
  • Mark some text on a webpage and click on the bookmarklet.
  • If you do not mark anything, a popup appears asking you to type in the text you want to translate.
  • The source language is populated by using document.documentElement.lang. If it returns nothing, it defaults to en.
  • You can change the en in var targetLang = 'en'; to your target language.

User avatar
jobbautista9
Board Warrior
Board Warrior
Posts: 1078
Joined: 2020-11-03, 06:47
Location: Philippines

Re: DeepL Translate page been wonky lately

Post by jobbautista9 » 2025-11-29, 15:32

I've made a bookmarklet as well based on your code for SimplyTranslate which is a privacy-friendlier frontend of Google Translate. ST uses POST however so I had to search how to pass the parameters to ST and found this solution to a similar problem in StackOverflow: https://stackoverflow.com/questions/395 ... 9#18588189

Anyway here's the bookmarklet:

Code: Select all

javascript:(function translate(){function se(d){return d.selection?d.selection.createRange().text:d.getSelection();}s=se(document);for(i=0;i<frames.length&&!s;i++)s=se(frames[i].document);if(!s||s=='')s=prompt('Enter text to translate with SimplyTranslate',null);if(!s)return;let wn='w_'+Date.now()+Math.floor(Math.random()*100000).toString();var f=document.createElement("form");f.setAttribute("method","post");f.setAttribute("action","https://simplytranslate.org/?engine=google");f.setAttribute("target",wn);var hf=new Array(3);for(i=0;i< hf.length;i++){hf[i]=document.createElement("input");hf[i].type="hidden";}hf[0].name="from";hf[0].value='auto';hf[1].name="to";hf[1].value='en';hf[2].name="text";hf[2].value=s;for(i=0;i<hf.length;i++)f.appendChild(hf[i]);document.body.appendChild(f);open('',wn).focus();f.submit();})();
Readable version:

Code: Select all

javascript:(function translate() {
    function se(d) { return d.selection ? d.selection.createRange().text : d.getSelection(); }
    s = se(document);
    for (i = 0; i < frames.length && !s; i++) s = se(frames[i].document);
    if (!s || s == '') s = prompt('Enter text to translate with SimplyTranslate', null);
    if (!s) return; /* Don't do anything if prompt cancelled */
    let wn = 'w_' + Date.now() + Math.floor(Math.random() * 100000).toString();
    var f = document.createElement("form");
    f.setAttribute("method", "post");
    f.setAttribute("action", "https://simplytranslate.org/?engine=google");
    f.setAttribute("target", wn);
    var hf = new Array(3);
    for (i = 0; i < hf.length; i++) { hf[i] = document.createElement("input"); hf[i].type = "hidden"; }
    hf[0].name = "from";
    hf[0].value = 'auto';
    hf[1].name = "to";
    hf[1].value = 'en';
    hf[2].name = "text";
    hf[2].value = s;
    for (i = 0; i < hf.length; i++) f.appendChild(hf[i]);
    document.body.appendChild(f);
    open('', wn).focus();
    f.submit();
})();
Differences from original code: Source language is always set to auto as document.documentElement.lang can be unreliable (for example if you're translating something within this forum to English then the source language will be en-gb). Prompt will also not open a new SimplyTranslate tab if it's cancelled or blank.
Image

Tired of creating stuff!

Avatar artwork by Shinki669: https://www.pixiv.net/artworks/113645617

XUL add-ons developer. You can find a list of add-ons I manage at http://rw.rs/~job/software.html.

User avatar
UCyborg
Astronaut
Astronaut
Posts: 574
Joined: 2019-01-10, 09:37
Location: Slovenia

Re: DeepL Translate page been wonky lately

Post by UCyborg » 2025-11-30, 11:05

Moonchild wrote:
2025-11-08, 21:37
UCyborg wrote:
2025-11-08, 20:59
That site has really become cumbersome, hasn't it?
It's been cumbersome for quite some time. I ended up just using Google Translate for when I need machine translation. It works.
DeepL works better for some languages. The idea in my case is specifically to avoid Google / Bing.