Home > OS >  AppleScript Hash Symbol (#) in URL
AppleScript Hash Symbol (#) in URL

Time:12-13

I have this Automator AppleScript to translate texts. It works, but only with one word. If I select two words or more to translate, it changes the hash (#) in the URL to #, like this

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

and I get a 404 Not Found.

on run {input, parameters}
    open location "https://www.deepl.com/translator#pt/en/" & input
end run

CodePudding user response:

I'd use 'Listing 32-7 AppleScriptObjC: Handler that URL encodes text' from Encoding and Decoding Text.

Example AppleScript code:

use framework "Foundation"
use scripting additions

on run {input, parameters}
    open location "https://www.deepl.com/translator#pt/en/" & encodeText(input as string)
end run

on encodeText(theText)
    set theString to stringWithString_(theText) of NSString of current application
    set theEncoding to NSUTF8StringEncoding of current application
    set theAdjustedString to stringByAddingPercentEscapesUsingEncoding_(theEncoding) of theString
    return (theAdjustedString as string)
end encodeText
  • Related