É possível vincular meu Mac OSX Dictionary.app ao Google Tradutor?

10

O aplicativo Dictionary tem uma experiência muito interessante no MacOSX. Mas eu tenho que instalar dicionários para usar. É possível vinculá-lo ao Google Tradutor?

Obrigado!

AGamePlayer
fonte
Parece que não funcionaria, pelo menos sem extensa invasão e reconstrução do aplicativo e extensão Dictionary, porque, como está, os dicionários personalizados são estáticos e não são programas, o que significa que não posso simplesmente escrever um "dicionário" que pega o texto e traduz.
Sirenes

Respostas:

26

Infelizmente, não parece ser possível, ou pelo menos direto. Como alternativa, convém criar um serviço OS X que abra o Google Translate em uma janela do navegador para qualquer palavra ou frase destacada que você selecionou.

Se isso parecer adequado, siga o procedimento abaixo:

Criando um serviço de tradução

  • Abra o Automatoraplicativo da sua Applicationspasta
  • Selecione Servicecomo o tipo de documento e clique emChoose
  • Na janela exibida, clique no campo de pesquisa e digite 'AppleScript'
  • Arraste e solte a Run AppleScriptação da lista à esquerda na área denominada 'Arraste ações ou arquivos aqui para criar seu fluxo de trabalho'

Copie o script abaixo e cole-o na Run Applescriptação:

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

Sua janela deve ter a seguinte aparência:

Fluxo de trabalho do Automator

Existem três valores que você pode querer alterar no script acima:

  • ui_lang - o idioma usado para a interface da página
  • from_lang - o idioma de origem
  • to_lang - o idioma de destino

Altere um ou mais deles para obter a tradução desejada. Para encontrar os parâmetros de idioma corretos, consulte a Referência de idioma . No exemplo acima, enrefere-se a Englishe zh-CNchinês (simplificado).

Depois de fazer as alterações, clique em File> Save...e, no painel exibido, digite um nome adequado (por exemplo Translate English to Chinese).


Usando o serviço de tradução

Depois de salvar seu fluxo de trabalho acima, você poderá usar seu serviço de tradução com um dos dois métodos a seguir:

1. O método Menu de Serviço

  • Realce uma palavra ou frase em qualquer aplicativo
  • Clique no menu Aplicativo à direita do ícone da Apple (), clique em Servicese Translate English to Chinese(ou no nome que você deu ao seu serviço ao salvá-lo):

Exemplo de menu de serviço

2. O método do menu contextual

  • Realce uma palavra ou frase em qualquer aplicativo
  • Direito do mouse no texto e selecionar Services, em seguida, Translate English to Chinese(ou seu personalizado chamado Service):

Exemplo de menu contextual


Qualquer que seja o método usado, uma janela do navegador deve aparecer com o texto traduzido:

Exemplo do Google Tradutor

soulcake
fonte
1
Absolutamente brilhante - graças (Eu apenas configurá-lo para ir de Inglês para Chinês (S), da mesma forma que você fez e depois modificado para fazer Chinês (S) para Inglês uma grande ajuda Thanks !!.!
user291332
1
Eu ajustei from_langpara "auto".
precisa
1

Este faz tudo como a resposta do soulcake, mas se o URL do tradutor já estiver presente - carrega nova tradução na mesma guia

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
vladkha
fonte
Infelizmente, ele retorna um erro ao tentar usá-lo.
Yonivav
@yonivav qual é o erro? você pode descrever as etapas para reproduzi-lo?
vladkha