Чи можна прив’язати свій Mac OSX Dictionary.app до Google Translate?


11

Словниковий додаток має дуже класний досвід роботи на MacOSX. Але я маю встановлювати словники для використання. Чи можливо прив’язати його до Google Translate?

Дякую!


Схоже, це не спрацювало б, принаймні, без широкого злому та відновлення програми словника та розширення, оскільки, як відомо, користувацькі словники є статичними і не є програмами, а це означає, що я не можу просто написати "словник", який бере текст і перекладає.
Сирени

Відповіді:


26

На жаль, це не здається можливим або, принаймні, прямолінійним. В якості альтернативи, ви можете розглянути питання про створення OS X служби , яка відкриває Google Translate в вікні браузера, для будь-якого виділеного слова чи фрази ви вибрали.

Якщо це здається підходящим, дотримуйтесь нижченаведеної процедури:

Створення служби перекладу

  • Відкрийте 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йдеться про Englishта zh-CNкитайський (спрощений).

Після внесення змін натисніть File> Save...і на панелі, що з’явиться, введіть відповідне ім’я (наприклад Translate English to Chinese).


Використання служби перекладу

Збереживши робочий процес вище, ви можете скористатися послугою перекладу одним із наступних двох способів:

1. Метод меню служби

  • Виділіть слово або фразу в будь-якій програмі
  • Клацніть Меню програми праворуч від піктограми Apple (then), а потім клацніть Servicesта Translate English to Chinese(або ім’я, яке ви дали Вашій службі під час збереження):

Приклад меню служби

2. Метод контекстного меню

  • Виділіть слово або фразу в будь-якій програмі
  • Клацніть текст правою кнопкою миші та виберіть Servicesпотім Translate English to Chinese(або вашу власну назву Сервіс):

Приклад контекстного меню


Який би метод ви не використовували, у вашому перекладеному тексті має з’явитися вікно браузера:

Приклад Google Translate


1
Абсолютно геніально - дякую (я просто налаштував його переходити з англійської на китайську (S), точно так само, як ви зробили, а потім змінив його на китайську (S) на англійську. Велика допомога! Дякую !!
user291332

1
Я налаштований from_langна "auto".
Ерік Каплун

1

Цей робить усе, як відповідь душового колу, але якщо 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 що таке помилка? чи можете ви описати кроки для його відтворення?
владха
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.