Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Hi! Thank you! Unfortunately this did not help. However, something changed. Now the widget shows Cupertino in the city field. Previously it was blank. Anyway, the "validating" issue still present.
But nothing appears in the Console app?
 
But nothing appears in the Console app?
That's what i see in the Console:

16.01.26 20:56:08,980 com.apple.Dock.agent: 2026-01-16 20:56:08.979 DashboardClient[163:403] error [1001] setting colorSpace to Color LCD colorspace
16.01.26 20:57:58,125 Dock: kCGErrorIllegalArgument: CGSReleaseWindow: Invalid window 2
16.01.26 20:57:58,125 Dock: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
 
@Wowfunhappy DeepL recently updated their API, and the current translation widget no longer works. It looks like you'll have to use a POST request now.

it's a really quick fix:
JavaScript:
function performXMLRequest (encodedText, encodingType, translationType, callback)
{   
    var sourceLang = translationType.substr(0, translationType.indexOf('_')).toUpperCase();
    var targetLang = translationType.substr(translationType.indexOf('_') + 1, translationType.length).toUpperCase();
    
    var url = 'https://api-free.deepl.com/v2/translate';
    var body = 'text='+encodeURI(encodedText)+'&source_lang='+sourceLang+'&target_lang='+targetLang;
    
    var xml_request = new XMLHttpRequest();
    xml_request.onload = function(e) {xml_loaded(e, xml_request, requestID++, callback);}
    xml_request.onerror = function() {callback(null,"");}
    xml_request.open("POST", url);
    xml_request.setRequestHeader("Authorization", "DeepL-Auth-Key "+deeplAuthKey);
    xml_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xml_request.setRequestHeader("Cache-Control", "no-cache");
    xml_request.send(body);
    
    //alert("Translation URL: " + url); //uncomment for debugging
    
    return xml_request;
}
 
Last edited:
@Wowfunhappy DeepL recently updated their API, and the current translation widget no longer works. It looks like you'll have to use a POST request now.

it's a really quick fix:
JavaScript:
function performXMLRequest (encodedText, encodingType, translationType, callback)
{  
    var sourceLang = translationType.substr(0, translationType.indexOf('_')).toUpperCase();
    var targetLang = translationType.substr(translationType.indexOf('_') + 1, translationType.length).toUpperCase();
   
    var url = 'https://api-free.deepl.com/v2/translate';
    var body = 'text='+encodeURI(encodedText)+'&source_lang='+sourceLang+'&target_lang='+targetLang;
   
    var xml_request = new XMLHttpRequest();
    xml_request.onload = function(e) {xml_loaded(e, xml_request, requestID++, callback);}
    xml_request.onerror = function() {callback(null,"");}
    xml_request.open("POST", url);
    xml_request.setRequestHeader("Authorization", "DeepL-Auth-Key "+deeplAuthKey);
    xml_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xml_request.setRequestHeader("Cache-Control", "no-cache");
    xml_request.send(body);
   
    //alert("Translation URL: " + url); //uncomment for debugging
   
    return xml_request;
}
Thank you! I have a bunch of really minor updates I need to do, I'm really hoping I can get to them soon!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.