Mac OSX Dictionary.app을 Google 번역에 바인딩 할 수 있습니까?


9

사전 앱은 MacOSX에서 매우 멋진 경험을합니다. 그러나 사용할 사전을 설치해야합니다. Google 번역에 바인딩 할 수 있습니까?

감사!


사용자 정의 사전은 정적이며 프로그램이 아니기 때문에 사전 앱 및 확장 프로그램의 광범위한 해킹 및 재 구축 없이는 작동하지 않는 것처럼 보입니다. 텍스트를 받아 번역합니다.
사이렌

답변:


25

불행히도 가능하지 않거나 최소한 간단한 것 같습니다. 대안으로, 선택한 강조 표시된 단어 나 구에 대해 브라우저 창에서 Google 번역을 여는 OS X 서비스 를 작성하는 것이 좋습니다.

이것이 적절하다고 생각되면 아래 절차를 따르십시오.

번역 서비스 만들기

  • 폴더 에서 Automator앱을 엽니 다Applications
  • Service문서 유형으로 선택 하고 클릭Choose
  • 표시되는 창에서 검색 필드를 클릭하고 'AppleScript'를 입력하십시오.
  • 드래그 앤 드롭 Run AppleScript'워크 플로우를 구축하기 위해 여기에 행동이나 파일을 드래그'이라고 표시된 영역에 왼쪽에있는 목록에서 조치를

아래 스크립트를 복사하여 Run Applescript조치에 붙여 넣으십시오 .

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

창은 다음과 같아야합니다.

자동화 워크 플로우

위 스크립트에서 변경할 수있는 세 가지 값이 있습니다.

  • ui_lang -페이지 인터페이스에 사용되는 언어
  • from_lang -원어
  • to_lang -목적지 언어

원하는 번역을 달성하기 위해 이들 중 하나 이상을 변경하십시오. 올바른 언어 매개 변수를 찾으려면 언어 참조 서를 참조하십시오 . 위의 예에서는 중국어 및 중국어 (간체)를 en나타냅니다 .Englishzh-CN

변경 한 후 File>를 클릭 Save...하고 표시되는 패널에서 적절한 이름을 입력하십시오 (예 :) Translate English to Chinese.


번역 서비스 사용

위의 워크 플로를 저장 한 후 다음 두 가지 방법 중 하나를 사용하여 번역 서비스를 사용할 수 있습니다.

1. 서비스 메뉴 방법

  • 모든 응용 프로그램에서 단어 또는 문구를 강조
  • Apple 아이콘 () 오른쪽에있는 응용 프로그램 메뉴를 클릭 한 다음 ServicesTranslate English to Chinese(또는 서비스를 저장할 때 제공 한 이름 )을 클릭하십시오 .

서비스 메뉴 예

2. 상황에 맞는 메뉴 방법

  • 모든 응용 프로그램에서 단어 또는 문구를 강조
  • 텍스트를 마우스 오른쪽 단추로 클릭 Services한 다음 Translate English to Chinese(또는 사용자 정의 서비스)를 선택하십시오 .

상황에 맞는 메뉴 예


어떤 방법을 사용하든 번역 된 텍스트가있는 브라우저 창이 나타납니다.

구글 번역 예제


물론 화려한 - 감사 (난 그냥 중국어 (S), 당신이 한 다음 영어 중국어 (S)을 할 그것을 수정과 같은 방식으로 영어 이동하도록 설정 큰 도움을 감사합니다!.!
user291332

1

이것은 soulcake의 답변 과 같은 모든 것을 수행 하지만 번역자의 URL이 이미있는 경우 동일한 탭에 새 번역을로드합니다.

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

불행히도, 그것을 사용하는 동안 버그를 반환합니다.
yonivav

@yonivav 버그는 무엇입니까? 그것을 재현하는 단계를 설명 할 수 있습니까?
vladkha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.