Mac OSX Dictionary.appをGoogle翻訳にバインドできますか?


10

辞書アプリはMacOSXで非常に素晴らしい体験をします。しかし、使用するには辞書をインストールする必要があります。Google翻訳にバインドすることは可能ですか?

ありがとう!


現状ではカスタム辞書は静的でプログラムではないので、少なくとも辞書アプリと拡張機能の大規模なハッキングと再構築がなければ、うまくいくようには見えません。テキストを受け取り、翻訳します。
サイレン

回答:


26

残念ながら、それは不可能であるか、少なくとも簡単なようです。代わりに、選択した強調表示された単語またはフレーズに対して、ブラウザウィンドウで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

ウィンドウは次のようになります。

Automatorワークフロー

上記のスクリプトで変更したい値が3つあります。

  • ui_lang -ページのインターフェースに使用される言語
  • from_lang -ソース言語
  • to_lang -宛先言語

これらの1つ以上を変更して、目的の翻訳を実現します。正しい言語パラメーターを見つけるには、「言語リファレンス」を参照してください。上記の例でenEnglish、とzh-CN、中国語(簡体字)を指します。

変更後、File> Save...をクリックし、表示されるパネルで適切な名前(例:)を入力しTranslate English to Chineseます。


翻訳サービスの使用

上記のワークフローを保存した後、次の2つの方法のいずれかで翻訳サービスを利用できます。

1.サービスメニューメソッド

  • 任意のアプリケーションで単語または語句を強調表示する
  • Appleアイコン(of)の右側にあるアプリケーションメニューをクリックし、[ ServicesおよびTranslate English to Chinese(またはサービスを保存するときにサービスに付けた名前)をクリックします。

サービスメニュー例

2.コンテキストメニューメソッド

  • 任意のアプリケーションで単語または語句を強調表示する
  • テキストを右クリックし、Services次にTranslate English to Chinese(またはカスタムの名前付きサービス)を選択します。

コンテキストメニューの例


どちらの方法を使用しても、翻訳されたテキストがブラウザウィンドウに表示されます。

Google翻訳の例


1
絶対に素晴らしい—感謝(私は、英語から中国語(S)に移行するように設定し、中国語(S)から英語に変更しました。大きな助けになりました!ありがとう!!
user291332

1
に設定from_langしました"auto"
Erik Kaplun、

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 2018

@yonivavバグは何ですか?それを再現する手順を説明できますか?
vladkha 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.