È possibile associare il mio Mac OSX Dictionary.app a Google Translate?


10

L'app Dizionario ha un'esperienza davvero interessante su MacOSX. Ma devo installare dizionari da usare. È possibile collegarlo a Google Translate?

Grazie!


Non sembra che funzionerebbe, almeno senza un esteso hacking e ricostruzione dell'app Dizionario ed estensione del Dizionario perché così com'è i dizionari personalizzati sono statici e non sono programmi il che significa che non posso semplicemente scrivere un "dizionario" che prende il testo e traduce.
Sirene,

Risposte:


26

Purtroppo non sembra essere possibile, o almeno semplice. In alternativa, si può prendere in considerazione la creazione di un OS X di servizio che si apre Google Translate in una finestra del browser, per qualsiasi parola evidenziata o la frase che avete selezionato.

Se questo sembra adatto, attenersi alla seguente procedura:

Creazione di un servizio di traduzione

  • Apri l' Automatorapp dalla tua Applicationscartella
  • Seleziona Servicecome tipo di documento e fai clicChoose
  • Nella finestra che appare, fai clic sul campo di ricerca e digita "AppleScript"
  • Trascina e rilascia l' Run AppleScriptazione dall'elenco a sinistra nell'area denominata "Trascina azioni o file qui per creare il tuo flusso di lavoro"

Copia lo script di seguito e incollalo Run Applescriptnell'azione:

on run {input, parameters}
    set phrase to input as string
    set phrase to quoted form of phrase

    set ui_lang to "en"
    set from_lang to "en"
    set to_lang to "zh-CN"

    do shell script "open 'https://translate.google.com/?hl='" & ui_lang & "'&sl='" & from_lang & "'&tl='" & to_lang & "'&text='" & phrase
end run

La tua finestra dovrebbe apparire come la seguente:

Flusso di lavoro dell'automatore

Esistono tre valori che potresti voler modificare nello script sopra:

  • ui_lang - la lingua utilizzata per l'interfaccia della pagina
  • from_lang - la lingua di partenza
  • to_lang - la lingua di destinazione

Modificare uno o più di questi per ottenere la traduzione desiderata. Per trovare i parametri di lingua corretti, consultare la Guida di riferimento . Nell'esempio precedente si enfa riferimento a Englishe zh-CNal cinese (semplificato).

Dopo aver apportato le modifiche, fai clic su File> Save...e nel pannello che appare digita un nome adatto (ad es Translate English to Chinese.).


Utilizzo del servizio di traduzione

Dopo aver salvato il flusso di lavoro sopra riportato, è possibile utilizzare il servizio di traduzione con uno dei due metodi seguenti:

1. Il metodo del menu di servizio

  • Evidenzia una parola o una frase in qualsiasi applicazione
  • Fai clic sul menu Applicazioni a destra dell'icona Apple (), quindi fai clic Servicese Translate English to Chinese(o il nome che hai assegnato al servizio al momento del salvataggio):

Esempio di menu di servizio

2. Il metodo del menu contestuale

  • Evidenzia una parola o una frase in qualsiasi applicazione
  • Fare clic con il testo e selezionare Servicesquindi Translate English to Chinese(o il vostro personalizzato denominato Service):

Esempio di menu contestuale


Qualunque metodo tu usi, una finestra del browser dovrebbe apparire con il tuo testo tradotto:

Esempio di Google Translate


1
Assolutamente geniale - grazie (l'ho appena impostato per passare dall'inglese al cinese (S), allo stesso modo in cui l'hai fatto e poi l'ho modificato per fare cinese (S) in inglese. Un GRANDE aiuto! Grazie !!
user291332

1
Ho impostato from_langsu "auto".
Erik Kaplun,

1

Questo fa tutto come la risposta del soulcake ma se l'URL del traduttore è già presente - carica una nuova traduzione nella stessa scheda

on run {input, parameters}
    set phrase to input as string

    set ui_lang to "en"
    set from_lang to "en"
    set to_lang to "ru"

    set theBaseUrl to "https://translate.google.com/"
    set theUrl to theBaseUrl & "?hl=" & ui_lang & "&sl=" & from_lang & "&tl=" & to_lang & "&text=" & phrase

    tell application "Google Chrome"
        activate

        if (count every window) = 0 then
            make new window
        end if

        set found to false
        set theTabIndex to -1
        repeat with theWindow in every window
            set theTabIndex to 0
            repeat with theTab in every tab of theWindow
                set theTabIndex to theTabIndex + 1
                if theTab's URL starts with theBaseUrl then
                    set found to true
                    exit repeat
                end if
            end repeat

            if found then
                exit repeat
            end if
        end repeat

        if found then
            set URL of theTab to theUrl
            set theWindow's active tab index to theTabIndex
            set index of theWindow to 1
        else
            tell window 1 to make new tab with properties {URL:theUrl}
        end if
    end tell

end run

Sfortunatamente, restituisce un bug durante il tentativo di utilizzo.
yonivav,

@yonivav qual è il bug? puoi descrivere i passaggi per riprodurlo?
Vladkha,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.