¿Es posible vincular mi Mac OSX Dictionary.app al Traductor de Google?

10

La aplicación Diccionario tiene una experiencia genial en MacOSX. Pero tengo que instalar diccionarios para usar. ¿Es posible vincularlo al Traductor de Google?

¡Gracias!

AGamePlayer
fuente
Parece que no funcionaría, al menos sin un hackeo extenso y la reconstrucción de la aplicación y la extensión del Diccionario porque, tal como está, los diccionarios personalizados son estáticos y no son programas, lo que significa que no puedo escribir un "diccionario" que toma el texto y lo traduce.
Sirenas

Respuestas:

26

Desafortunadamente, no parece ser posible, o al menos sencillo. Como alternativa, puede considerar crear un Servicio OS X que abra Google Translate en una ventana del navegador, para cualquier palabra o frase resaltada que haya seleccionado.

Si esto suena adecuado, siga el siguiente procedimiento:

Crear un servicio de traducción

  • Abre la Automatoraplicación desde tu Applicationscarpeta
  • Seleccione Servicecomo tipo de documento y haga clicChoose
  • En la ventana que aparece, haga clic en el campo de búsqueda y escriba 'AppleScript'
  • Arrastre y suelte la Run AppleScriptacción de la lista de la izquierda en el área etiquetada 'Arrastre acciones o archivos aquí para construir su flujo de trabajo'

Copie el script a continuación y péguelo en la Run Applescriptacción:

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

Su ventana debería verse así:

Flujo de trabajo del automatizador

Hay tres valores que es posible que desee cambiar en el script anterior:

  • ui_lang - el idioma utilizado para la interfaz de la página
  • from_lang - el idioma fuente
  • to_lang - el idioma de destino

Cambie uno o más de estos para lograr la traducción deseada. Para encontrar los parámetros de idioma correctos, consulte la Referencia de idiomas . En el ejemplo anterior se enrefiere a English, y zh-CNal chino (simplificado).

Después de hacer los cambios, haga clic en File> Save...y en el panel que aparece, escriba un nombre adecuado (por ejemplo Translate English to Chinese).


Usando el servicio de traducción

Después de guardar su flujo de trabajo anterior, puede utilizar su servicio de traducción con uno de los dos métodos siguientes:

1. El método del menú de servicio

  • Resalta una palabra o frase en cualquier aplicación
  • Haga clic en el Menú de aplicación a la derecha del ícono de Apple (), luego haga clic en Servicesy Translate English to Chinese(o en el nombre que le dio a su Servicio al guardarlo):

Ejemplo de menú de servicio

2. El método del menú contextual

  • Resalta una palabra o frase en cualquier aplicación
  • Haga clic con el botón derecho en el texto y seleccione Servicesluego Translate English to Chinese(o su Servicio personalizado con nombre):

Ejemplo de menú contextual


Cualquiera que sea el método que utilice, debe aparecer una ventana del navegador con su texto traducido:

Ejemplo de Google Translate

pastel de alma
fuente
1
Absolutamente brillante - gracias (solo lo configuré para ir del inglés al chino (S), de la misma manera que lo hiciste y luego lo modifiqué para hacer chino (S) al inglés. ¡UNA GRAN ayuda! ¡Gracias!
user291332
1
Me puse from_langa "auto".
Erik Kaplun
1

Este hace todo como la respuesta del soulcake, pero si la URL del traductor ya está presente, carga una nueva traducción en la misma pestaña

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
fuente
Desafortunadamente, devuelve un error al intentar usarlo.
yonivav
@yonivav, ¿cuál es el error? ¿Puedes describir los pasos para reproducirlo?
vladkha