Sto cercando di creare un servizio per tradurre cose che Chrome non traduce automaticamente. Il seguente script funziona quando viene eseguito dalla shell
#!/bin/bash
input='это тест)))' # translates to - this is a test)))
if [[ $(echo "$input") =~ ')' ]]; then
input="$(echo "${input//)/}")"
fi
export PATH="/usr/local/bin:$PATH"; /usr/local/bin/trans -e yandex -b :en "$input"
il risultato: this is a test
Tuttavia quando inserisco questo in un Apice:
set input to "это тест)))"
set output to (do shell script "if [[ $(echo " & quoted form of input & ") =~ ')' ]]; then " & quoted form of input & "=\"$(echo \"${" & quoted form of input & "//)/}\")\"; fi; export PATH=\"/usr/local/bin:$PATH\"; /usr/local/bin/trans -e google -b :en " & quoted form of input & "")
display dialog output as string
Il risultato è ancora this is a test)))
Esegue ancora e traduce la stringa di input. Ma non rimuove il )))
. Non capisco perché l'istruzione if
non funzioni nella mia versione di applescript. Sto citando qualcosa di sbagliato?
Questo script utilizza un programma chiamato Translate-Shell che può essere trovato su GitHub o sul sito web dell'autore del programma qui .