китайский | английский
Easydict
— это простое и удобное в использовании приложение для словарного перевода для macOS, которое позволяет легко и элегантно находить слова или переводить текст. Easydict может использоваться сразу после установки и может автоматически определять язык входного текста. Он поддерживает перевод входных данных, перевод словесных маркировок и перевод скриншотов OCR. Он может одновременно запрашивать несколько результатов перевода. В настоящее время он поддерживает словарь Youdao, Apple. Системный словарь , системный переводчик Apple , OpenAI, Gemini, DeepL, Google, Tencent, Bing, Baidu, перевод Xiaoniu, Caiyun Xiaoyi, перевод Alibaba и перевод Huoshan.
Готов к использованию прямо из коробки: с ним легко искать слова или переводить текст.
Автоматически определяйте язык ввода и автоматически запрашивайте целевой язык.
Автоматически отмечать слово для запроса. После того, как слово будет отмечено, автоматически отобразится значок запроса. Вы можете сделать запрос, наведя курсор мыши.
Поддерживает настройку различных служб для разных окон.
Поддержка режима интеллектуального запроса.
Поддержка перевода скриншотов системы OCR и автоматического распознавания скриншотов.
Поддержка системы TTS, поддержка онлайн-сервисов TTS Bing, Google, Youdao и Baidu.
Поддержка? Системный словарь Apple, поддержка сторонних словарей и словарь mdict, который можно импортировать вручную.
Поддерживает системный перевод macOS. Подробную информацию см. в разделе «Как использовать системный перевод Easydict?».
Поддерживает словарь Youdao, OpenAI, Gemini, DeepL, Google, Bing, Tencent, Baidu, Mavericks, Caiyun, Alibaba и Huoshan Translation.
Поддерживает 48 языков.
Если вы считаете, что это приложение хорошее, поставьте ему звездочку ⭐️, чтобы поддержать его (^-^)
Мы планируем использовать Swift для реконструкции проекта. Если вы заинтересованы в этом проекте с открытым исходным кодом и знакомы со Swift/SwiftUI, приглашаем вас присоединиться к нашей команде разработчиков и вместе улучшить этот проект #194.
Easydict
Функция
План быстрого рефакторинга
Оглавление
Установить
Создание среды
1. Загрузка и установка вручную.
2. Домашняя установка
Сборка разработчика
использовать
Слово, касающееся мыши
О разрешениях
оптическое распознавание символов
Идентификация языка
ТТС сервис
Справочная служба
Настроить ключ аутентификации
Индивидуальный адрес интерфейса DeepL
Настроить метод вызова API
DashScope
Грок
Гугл Близнецы
Настройте личный APIKey
Режим запроса OpenAI
Пользовательские параметры OpenAI
Языки, поддерживаемые каждым сервисом
? Системный словарь Apple
Перевод OpenAI
Пользовательский перевод OpenAI
Встроенный AI-перевод
Перевод
DeepL перевод
Tencent Переводчик
перевод Bing
Перевод Маверикс
Цайюнь Сяои
Али Перевод
Интеллектуальный режим запроса
Запрос в приложении
URL-схема
Использование с PopClip
настраивать
Универсальный
Служить
Сочетания клавиш в приложении
Советы
Похожие проекты с открытым исходным кодом
первоначальное намерение
Руководство по вкладу
Звездная история
Благодарности
заявление
Спонсорская поддержка
Спонсорский список
Установить его можно одним из двух способов. Система поддержки macOS 11.0+
Загрузите последнюю версию Easydict.
Спасибо BingoKingo за предоставление первоначальной установочной версии.
установка варева --cask easydict
Если вы разработчик или заинтересованы в этом проекте, вы также можете попробовать собрать и запустить его вручную. Весь процесс очень прост и даже не требует знаний разработки для macOS.
Загрузите этот репозиторий и используйте Xcode, чтобы открыть файл Easydict.xcworkspace
(
Обратите внимание, что это не Easydict.xcodeproj
).
Просто используйте Cmd + R
для компиляции и запуска.
Следующие шаги являются необязательными и предназначены только для соавторов разработки.
Если вам часто требуется отладка некоторых функций, связанных с разрешениями, таких как извлечение слов или распознавание текста, вы можете использовать для их запуска собственную учетную запись Apple. Измените DEVELOPMENT_TEAM
в файле Easydict-debug.xcconfig
на свой собственный идентификатор команды Apple. (вы можете войти на веб-сайт Apple Developer, чтобы найти его), измените CODE_SIGN_IDENTITY
на Apple Development.
Будьте осторожны и не отправляйте файл Easydict-debug.xcconfig
. Вы можете использовать следующую команду git, чтобы игнорировать локальные изменения в этом файле.
git update-index --skip-worktree Easydict-debug.xcconfig
Xcode 13+, macOS Big Sur 11.3+. Чтобы избежать ненужных проблем, рекомендуется использовать последнюю версию Xcode и macOS №79.
[!NOTE] Поскольку последний код использует функцию каталога строк, для компиляции требуется Xcode 15+. Если ваша версия Xcode ниже, используйте ветку xcode-14. Обратите внимание, что это ветка фиксированной версии и не поддерживается.
Если при запуске вы столкнулись со следующей ошибкой, попробуйте обновить CocoaPods до последней версии, а затем выполните pod install
.
DT_TOOLCHAIN_DIR нельзя использовать для оценки LD_RUNPATH_SEARCH_PATHS, вместо этого используйте ToolCHAIN_DIR
После запуска Easydict, помимо основного интерфейса приложения (скрытого по умолчанию), также появится значок меню. Щелкните пункт меню, чтобы активировать соответствующую функцию, как показано ниже:
Способ | описывать |
---|---|
Перевод слова, нанесенного мышью | После того, как слово нарисовано, автоматически отображается значок запроса, и запрос можно выполнить, наведя курсор мыши. |
Сокращенный перевод ключевых слов | Выбрав текст, который необходимо перевести, нажмите горячую клавишу перевода слова (по умолчанию ⌥ + D ). |
перевод скриншота | Нажмите горячую клавишу перевода скриншота (по умолчанию ⌥ + S ), чтобы захватить область, которую необходимо перевести. |
Введите перевод | Нажмите горячую клавишу ввода перевода (по умолчанию ⌥ + A или ⌥ + F ), введите текст, который необходимо перевести, и Enter клавишу перевода. |
Автоматическое распознавание скриншотов | Нажмите горячую клавишу беззвучного снимка экрана (по умолчанию ⌥ + ⇧ + S ), чтобы захватить область, требующую распознавания. Результат распознавания снимка экрана будет автоматически сохранен в буфер обмена. |
В настоящее время поддерживаются несколько методов сочетания клавиш мыши: двойной щелчок, чтобы нарисовать слово, скольжение мыши, чтобы нарисовать слово, тройной щелчок, чтобы нарисовать слово (абзац) и Shift, чтобы нарисовать слово (несколько абзацев). проведите мышью, чтобы нарисовать слово] может не получиться. В настоящее время вы можете перейти на другие способы разделения слов.
Сочетания клавиш могут нормально работать в любом приложении. Если вы столкнулись с приложением, которое не может рисовать слова с помощью мыши, вы можете поднять проблему и решить № 84.
Процесс функции определения слов: Доступность > AppleScript > Имитировать сочетания клавиш, приоритет отдается использованию функции поиска слов в специальных возможностях. При сбое поиска слов в специальных возможностях (несанкционированно или не поддерживается приложением), если это приложение браузера (например, Safari, Chrome), он попытается использовать AppleScript для получения слов. Если поиск слова AppleScript по-прежнему не удался, в конце будет выполнен принудительный поиск слова, имитируя сочетание клавиш Cmd+C для получения слова.
Поэтому рекомендуется включить в браузере параметр允许Apple 事件中的JavaScript
. Это позволит избежать перехвата событий определенных веб-страниц, например выдачи обязательной информации об авторских правах, прикрепленной к таким веб-страницам, и оптимизировать процесс поиска слов.
Пользователям Safari настоятельно рекомендуется включить эту опцию, поскольку Safari не поддерживает поиск слов специальных возможностей, а процесс поиска слов AppleScript намного лучше, чем имитация поиска ключевых слов с помощью ярлыков.
Для перевода слов необходимо включить разрешения辅助功能
. Функция написания слов мышью запускает приложение для разрешений вспомогательных функций только при первом использовании. Только после авторизации можно будет нормально использовать функцию автоматического перевода слов.
Для перевода скриншотов вам необходимо включить разрешение屏幕录制
. Приложение автоматически откроет диалоговое окно приложения разрешения только при первом использовании перевода скриншотов . Если авторизация не удалась, вам нужно будет перейти к настройкам системы, чтобы включить его. позже.
В настоящее время поддерживается только системное распознавание текста, сторонние службы распознавания будут представлены позже.
Система OCR поддерживает языки: упрощенный китайский, традиционный китайский, английский, японский, корейский, французский, испанский, португальский, немецкий, итальянский, русский, украинский.
В настоящее время он поддерживает системное распознавание языков, распознавание языков Baidu и Google. Однако, учитывая скорость и нестабильность онлайн-распознавания (Google также необходимо обойти стену), две другие службы распознавания используются только для оптимизации.
Распознавание языка системы используется по умолчанию. После настройки точность распознавания языка системы уже очень высока и может удовлетворить потребности большинства пользователей.
Если вы по-прежнему чувствуете, что система распознает язык неточно при фактическом использовании, вы можете включить распознавание языка Baidu или оптимизацию распознавания языка Google в настройках, но учтите, что это может привести к снижению скорости ответа, и скорость распознавания не будет 100% соответствует ожиданиям пользователей. Если вы столкнулись с неверным распознаванием, рекомендуется вручную указать тип языка.
В настоящее время он поддерживает систему TTS и поддерживает онлайн-сервисы TTS Bing, Google, Youdao и Baidu.
Система TTS: Самая стабильная и надежная, но эффект не очень хороший. Обычно используется в качестве резервного варианта, то есть, когда об ошибке сообщается с использованием другого TTS, вместо него будет использоваться системный TTS.
Bing TTS: лучший общий эффект, синтез речи нейронной сети в реальном времени, но это требует больше времени, и чем длиннее текст, тем дольше время синтеза. В настоящее время оно ограничено максимальным количеством 2000 символов, что составляет максимум 2000 символов. занимает около 10 минут.
Google TTS: Английский эффект хороший, интерфейс стабилен, но его нужно обходить, за один запрос можно синтезировать максимум 200 символов.
Youdao TTS: Общий эффект хороший, интерфейс стабилен, особенно отличное произношение английских слов, но он может синтезировать только до 600 символов.
Baidu TTS: Произношение английских предложений очень хорошее, акцент очень характерный, но он может синтезировать максимум около 1000 символов.
Youdao TTS используется по умолчанию, и пользователи могут переключать предпочитаемую службу TTS в настройках.
Поскольку Youdao TTS хорошо работает с английскими словами, Youdao TTS используется в первую очередь для английских слов, а для других текстов используется служба TTS по умолчанию.
За исключением системного TTS, другие службы TTS являются неофициальными интерфейсами и могут работать нестабильно.
В настоящее время поддерживает словарь Youdao, системный словарь Apple, системный переводчик Apple, DeepL, Google, Bing, Baidu и Huoshan Translation.
Примечание
Китайская версия Google Translate больше не доступна, и можно использовать только международную версию, поэтому для использования Google Translate вам необходимо использовать агента.
язык | Юдао словарь | ? перевод системы Apple | DeepL перевод | перевод Bing | Гугл переводчик | Байду Переводчик | перевод вулкана |
---|---|---|---|---|---|---|---|
Китайский (упрощенный) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Китайский (традиционный) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Английский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
японский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
корейский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Французский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
испанский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
португальский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
итальянский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
немецкий | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Русский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
арабский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Шведский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
румынский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
тайский | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
словацкий | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Голландский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
венгерский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Греческий | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
датский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
финский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Польский | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
чешский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
турецкий | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
литовский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
латышский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Украинский | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
болгарский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
индонезийский | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
малайский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
словенский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
эстонский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
вьетнамский | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
персидский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
хинди | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
телугу | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
тамильский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Урду | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Филиппинский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
кхмерский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Лаосский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Бенгальский | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
бирманский | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
норвежский | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
сербский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
хорватский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Монгольский | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
иврит | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Easydict автоматически поддерживает словари, поставляемые вместе с системой в приложении «Словарь», такие как Оксфордский англо-китайский словарь (упрощенный китайский-английский), Стандартный словарь современного китайского языка (упрощенный китайский) и т. д. Вам нужно только включить соответствующий словарь на страница настроек приложения «Словарь».
Кроме того, Apple Dictionary также поддерживает пользовательские импортированные словари, поэтому мы можем добавлять сторонние словари, импортируя словари в формате .dictionary, такие как Краткий англо-китайский словарь, Современный расширенный словарь английского языка Longman и т. д.
Подробности см. в разделе «Как использовать системный словарь macOS?».
Версия 1.3.0 начинает поддерживать перевод OpenAI, что требует использования ключа OpenAI API.
Если у вас нет собственного OpenAI APIKey, вы можете использовать некоторые проекты с открытым исходным кодом для преобразования стороннего интерфейса LLM в стандартный интерфейс OpenAI, чтобы его можно было использовать непосредственно в Easydict
.
Например, one-api, one-api — это хороший проект управления интерфейсами OpenAI с открытым исходным кодом, поддерживающий несколько интерфейсов LLM, включая Azure, Anthropic Claude, Google Gemini, Zhipu ChatGLM, Baidu Wenxianyyan, iFlytek Spark Cognition, Alibaba Tongyi Qianwen, 360 Intelligent Brain, Tencent Hunyuan, Moonshot AI, Groq, Zero One Thing, Step Star, DeepSeek, Cohere и т. д. могут использоваться в качестве вторичного ключа управления распространением, только один исполняемый файл, уже упакованный образ Docker, развертывание в один клик, готово использовать «из коробки».
Важный
Версия 2.6.0 реализует новую страницу настроек SwiftUI (поддерживает macOS 13+) и поддерживает метод графического интерфейса для настройки ключа API службы. В других версиях системы необходимо использовать командный метод в поле ввода Easydict.
Кончик
Если аппаратное обеспечение компьютера поддерживает это, рекомендуется обновить систему macOS, чтобы улучшить взаимодействие с пользователем.
easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx
Просмотр APIKey (аналогично другим ключам). Если запрос выполнен успешно, результаты будут записаны в буфер обмена.
easydict://readValueOfKey?EZOpenAIAPIKey
В настоящее время OpenAI поддерживает три режима запроса: слово, предложение и длинный перевод, которые включены по умолчанию, а слова и предложения также можно отключить.
Учитывая коэффициент стоимости токена OpenAI, предоставляется опция закрытия по умолчанию. После написания следующей команды OpenAI закроет запрос по умолчанию и будет выполнять запрос только тогда, когда пользователь вручную нажмет кнопку развертывания.
easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1
// Закрываем поиск слов easydict://writeKeyValue?EZOpenAIDictionaryKey=0 // Отключаем анализ предложений easydict://writeKeyValue?EZOpenAISentenceKey=0
Теплое напоминание: если вы лишь изредка не хотите анализировать предложения, вам не нужно отключать тип предложения. Достаточно добавить тильду ~ после [предложения], что превратит его в тип перевода.
Настройка собственного доменного имени и модели
//Установим адрес запроса интерфейса, например https://api.openai.com/v1/chat/completions easydict://writeKeyValue?EZOpenAIEndPointKey=xxx // Устанавливаем модель использования, например gpt-3.5-turbo easydict://writeKeyValue?EZOpenAModelKey=xxx // Устанавливаем список доступных моделей, например gpt-3.5-turbo, gpt-4-turbo easydict://writeKeyValue?EZOpenAIAvailableModelsKey=xxx
Поскольку официальный интерфейс OpenAI имеет ограничения на IP-адреса пользователей, если вам нужен обратный прокси, вы можете обратиться к этому проекту против генерации Cloudflare-reverse-proxy.
Поддерживаемые элементы конфигурации такие же, как и у OpenAI, просто замените OpenA на CustomOpenAI.
//Устанавливаем ключ API easydict://writeKeyValue?EZCustomOpenAIAPIKey=sk-xxx //Установим адрес запроса интерфейса, например https://api.openai.com/v1/chat/completions easydict://writeKeyValue?EZCustomOpenAIEndPointKey=xxx // Устанавливаем модель использования, например gpt-3.5-turbo easydict://writeKeyValue?EZCustomOpenAIModelKey=xxx //Устанавливаем режим запроса службы, 0 — значение по умолчанию, 1 — всегда выключено, 2 — всегда включено easydict://writeKeyValue?EZCustomOpenAIServiceUsageStatusKey=xxx
В настоящее время некоторые поставщики услуг LLM предоставляют ограниченные бесплатные модели искусственного интеллекта, такие как сервис моделей Lingji от Alibaba DashScope, Groq, Google Gemini и т. д.
Чтобы новым пользователям было проще опробовать эти переводы больших моделей ИИ, мы добавили встроенную службу перевода ИИ, которая поддерживает следующие модели обслуживания:
Серия Tongyi Qianwen с открытым исходным кодом, откройте DashScope и получите в общей сложности 1 000 000 токенов. Модель чата qwen1.5-32b в настоящее время открыта бесплатно в течение ограниченного времени.
qwen1.5-32b-чат
qwen-турбо
baichuan2-13b-чат-v1
deepseek-7b-чат
internlm-7b-чат
лама3-70b-8192
микстраль-8x7b-32768
Близнецы-про
Однако обратите внимание, что указанные выше встроенные модели имеют определенные ограничения на использование (в основном ограничения на бесплатную квоту). Мы не гарантируем, что их можно будет использовать постоянно. Мы рекомендуем пользователям по-прежнему использовать one-api для создания своих собственных. крупные модельные услуги.
Для перевода Gemini требуется ключ API, который можно бесплатно получить на консоли официального сайта.
easydict://writeKeyValue?EZGeminiAPIKey=xxx
Бесплатная версия веб-API DeepL имеет ограничение по частоте для одного IP-адреса пользователя. Частое использование приведет к ошибке 429 слишком большого количества запросов. Поэтому в версии 1.3.0 добавлена поддержка официального API DeepL. Интерфейс еще не написан. и его необходимо включить с помощью команд.
Если у вас есть DeepL AuthKey, рекомендуется использовать персональный AuthKey, который позволит избежать ограничений по частоте и обеспечит лучший пользовательский опыт. Если нет, вы можете использовать агенты переключения, чтобы избежать ошибок 429.
Кончик
Переключение IP-адреса прокси. Это универсальное решение, которое одинаково хорошо работает для других сервисов с ограниченной частотой.
Введите следующий код в поле ввода: xxx — это ваш DeepL AuthKey, а затем введите
easydict://writeKeyValue?EZDeepLAuthKey=xxx
Если у вас нет собственного ключа AuthKey и вам необходимо активно использовать перевод DeepL, вы можете рассмотреть возможность развертывания службы интерфейса, поддерживающей DeepL, самостоятельно или использовать стороннюю службу, поддерживающую DeepL.
В этом случае вам необходимо установить собственный адрес интерфейса DeepL, где значение EZDeepLTranslateEndPointKey должно быть полным URL-адресом запроса. Например, официальный интерфейс DeepL — https://api-free.deepl.com/v2/translate
. Если для пользовательского интерфейса требуется AuthKey, метод настройки такой же, как и раньше, а параметры интерфейса соответствуют официальным DeepL.
Метод использования настраиваемого адреса интерфейса DeepL эквивалентен официальной форме API AuthKey DeepL в программе Easydict.
Easydict поддерживает интерфейс DeepLX, подробности см. в № 464.
easydict://writeKeyValue?EZDeepLTranslateEndPointKey=xxx
По умолчанию сначала используется веб-версия API. В случае сбоя веб-версии API будет использоваться личный ключ AuthKey (если таковой имеется).
easydict://writeKeyValue?EZDeepLTranslationAPIKey=0
Приоритет отдается использованию личного AuthKey, а в случае неудачи используется веб-версия API. Если DeepL используется часто, рекомендуется использовать этот метод, который может уменьшить количество неудачных запросов и повысить скорость ответа.
easydict://writeKeyValue?EZDeepLTranslationAPIKey=1
Используйте только личный AuthKey
easydict://writeKeyValue?EZDeepLTranslationAPIKey=2
Для Tencent Translate требуется ключ API. Для удобства использования мы встроили ключ. Этот ключ имеет ограничение по квоте и не гарантирует, что его можно будет использовать постоянно.
Рекомендуется использовать собственный ключ API. Каждый зарегистрированный пользователь Tencent Translate будет получать 5 миллионов символов трафика в месяц, чего достаточно для ежедневного использования.
// xxx Tencent Translate SecretId easydict://writeKeyValue?EZTencentSecretId=xxx // xxx Секретный ключ, переведенный Tencent easydict://writeKeyValue?EZTencentSecretKey=xxx
В настоящее время Bing Translate использует веб-интерфейс. При возникновении ошибки ограничения частоты 429 помимо переключения прокси-сервера вы также можете вручную установить файл cookie запроса для продления срока службы. Конкретный срок службы пока не ясен.
Конкретные шаги заключаются в том, чтобы использовать браузер, чтобы открыть переводчик Bing, войти в систему, а затем выполнить следующий код в консоли для получения файлов cookie.
cookieStore.get("MUID").then(result => console.log(encodeURIComponent("MUID=" + result.value)));
Наконец, запишите файл cookie в Easydict, используя команду
// xxx — это файл cookie, полученный ранее easydict://writeKeyValue?EZBingCookieKey=xxx
Примечание
Bing TTS также использует веб-интерфейс, который также легко активирует ограничения интерфейса и не выдает сообщение об ошибке. Поэтому, если Bing установлен в качестве TTS по умолчанию, рекомендуется установить файлы cookie.
Для перевода Mavericks требуется ключ API. Для удобства использования у нас есть встроенный ключ. Этот ключ имеет ограничение по квоте и не гарантирует, что его можно будет использовать постоянно.
Рекомендуется использовать собственный ключ API. Каждому зарегистрированному пользователю Maverick Translation будет предоставлено 200 000 символов трафика в день.
// xxx APIKey перевода Maverick easydict://writeKeyValue?EZNiuTransAPIKey=xxx
Для Caiyun Xiaoyi требуется токен. Для удобства использования у нас есть встроенный токен. Этот токен имеет определенные ограничения и не гарантируется, что его можно будет использовать постоянно.
Рекомендуется использовать собственный токен. При регистрации новые пользователи получат бесплатную квоту на перевод в размере 1 миллиона слов.
// xxx Токен Цайюнь Сяои easydict://writeKeyValue?EZCaiyunToken=xxx
Хотя Alibaba Translate в настоящее время поддерживает интерфейс веб-версии, этот интерфейс имеет определенные ограничения и не гарантируется, что его можно будет использовать постоянно.
Рекомендуется использовать собственный ключ API. Alibaba Translate имеет бесплатную ежемесячную квоту в один миллион символов.
easydict://writeKeyValue?EZAliAccessKeyId=xxx easydict://writeKeyValue?EZAliAccessKeySecret=xxx
В настоящее время сервисы запросов в основном делятся на две категории: запрос слов (например, Apple Dictionary) и переведенный текст (например, DeepL). Некоторые другие сервисы (например, Youdao и Google) поддерживают как запрос слов, так и перевод текста.
typedef NS_OPTIONS (NSUInteger, EZQueryTextType) { EZQueryTextTypeNone = 0, // 0EZQueryTextTypeTranslation = 1 << 0, // 01 = 1EZQueryTextTypeDictionary = 1 << 1, // 10 = 2EZQueryTextTypeSentence = 1 << 2, // 100 = 4};
Easydict может автоматически включать соответствующие службы запросов на основе содержимого текста запроса.
В частности, в режиме интеллектуального запроса при запросе слов будут вызываться только службы, поддерживающие [Запрос слов]; при переводе текста будут вызываться только службы, поддерживающие [Перевод текста].
Для словесных запросов эффект от поддержки служб словесных запросов, очевидно, лучше, чем от простого перевода, такого как Apple Dictionary и Youdao Dictionary, но при переводе длинных текстов нет смысла включать службы словесных запросов, например использование Apple Dictionary для перевода;
По умолчанию все службы перевода поддерживают словесные запросы (слова также являются типом текста), и пользователи могут настроить его вручную. Например, если вы установили интеллектуальный режим Google только для перевода текста, вам нужно всего лишь использовать следующую команду для изменения. это для translation | sentence
easydict://writeKeyValue?Google-IntelligentQueryTextType=5
Аналогичным образом, для некоторых сервисов, которые поддерживают как запрос слов, так и перевод текста, таких как Youdao Dictionary, вы также можете установить интеллектуальный режим для запроса только слов и установить тип dictionary
easydict://writeKeyValue?Youdao-IntelligentQueryTextType=2
По умолчанию режим интеллектуальных запросов включен не для всех окон. Пользователи могут включить эту функцию вручную:
easydict://writeKeyValue?IntelligentQueryMode-window1=1
Window1 представляет мини-окно, window2 представляет собой боковое плавающее окно, значение 0 означает закрытое, а 1 означает открытое.
Примечание
Режим интеллектуального запроса указывает только на то, следует ли интеллектуально включить службу запросов. Пользователи могут вручную нажать кнопку со стрелкой в правой части службы, чтобы запустить запрос в любое время.
Поддерживает удобный запрос в приложении Easydict. Если вы встретите незнакомое слово в поле ввода или в результатах перевода, вы можете щелкнуть правой кнопкой мыши, чтобы открыть меню, и выбрать первый «Запрос в приложении».
Easydict поддерживает схему URL-адресов для быстрого запроса: easydict://query?text=xxx
, например easydict://query?text=good
.
Если содержимое запроса xxx содержит специальные символы, требуется кодировка URL, например easydict://query?text=good%20girl
.
Предупреждение
Старая версия easydict://xxx может вызвать проблемы в некоторых сценариях, поэтому рекомендуется использовать полную схему URL: easydict://query?text=xxx.
Сначала вам необходимо установить PopClip, а затем выбрать следующий блок кода. PopClip
отобразит «Установить расширение Easydict», щелкните его.
-- #popclip-- имя: Easydict-- значок: iconify:ri:translate-- язык: приложение applescripttell "Easydict" запуск открыть местоположение "easydict://query?text={popclip text}" и закончить сообщение
Ссылка: https://www.popclip.app/dev/applescript-actions.
На странице настроек предусмотрены некоторые изменения настроек, такие как автоматическое воспроизведение произношения слов после запроса, изменение сочетаний клавиш перевода, включение и отключение служб или настройка порядка служб и т. д.
Easydict имеет 3 типа окон, и для них можно настроить разные службы соответственно.
Мини-окно: отображается, когда мышь автоматически рисует слово.
Боковое плавающее окно: отображается при использовании сочетаний клавиш для рисования слов и перевода снимков экрана.
Главное окно: закрыто по умолчанию, может быть включено в настройках и отображается при запуске программы. (Функция главного окна будет улучшена позже)
В Easydict есть несколько сочетаний клавиш внутри приложения, которые сделают вашу работу более эффективной.
В отличие от предыдущих сочетаний клавиш перевода, которые действуют глобально, следующие сочетания клавиш вступают в силу только тогда, когда окно Easydict отображается на переднем плане.
Enter
: после ввода текста нажмите Enter, чтобы начать запрос.
Shift + Enter
: введите новую строку.
Cmd + ,
: открыть страницу настроек.
Cmd + Q
: выйти из приложения.
Cmd + K
: очистить поле ввода.
Cmd + Shift + K
: очистка поля ввода и результатов запроса, что эквивалентно нажатию кнопки «Очистить» в правом нижнем углу поля ввода.
Cmd + I
: собрать поля ввода. (Ввод фокуса)
Cmd + Shift + C
: скопировать содержимое запроса.
Cmd + Shift + J
: скопировать первый результат перевода.
Cmd + S
: Воспроизвести произношение текста запроса. (Воспроизвести звук)
Cmd + R
: запросить еще раз. (Повторить запрос)
Cmd + T
: поменять язык перевода. (Переключить язык перевода)
Cmd + P
: закрепить окно. (Окно закрепления, нажмите еще раз, чтобы открепить)
Cmd + W
: Закрыть окно.
Cmd + Enter
: поисковая система Google открывается по умолчанию. Содержимое поиска представляет собой введенный текст. Эффект эквивалентен ручному щелчку по значку поиска браузера в правом верхнем углу.
Cmd + Shift + Enter
: если на компьютере установлено приложение «Европейский словарь», слева от значка Google будет отображаться значок Eudic, и действие будет заключаться в открытии приложения «Европейский словарь» для запроса.
Пока окно запроса активировано, вы можете использовать сочетание клавиш Cmd + ,
чтобы открыть страницу настроек. Если вы случайно скрыли значок строки меню, вы можете открыть его снова таким способом.
Если вы обнаружите, что результат распознавания OCR неправильный, вы можете исправить результат OCR, нажав кнопку «Распознать как xx», чтобы указать язык распознавания.
immersive-translate: полезное расширение для двуязычного веб-перевода.
pot-desktop: кроссплатформенное программное обеспечение для перевода слов и распознавания текста.
ext-saladict: Saladict, расширение для поиска и перевода слов в браузере.
openai-translator: плагин для браузера и кроссплатформенное настольное приложение на основе ChatGPT API.
Raycast-Easydict: еще один мой проект с открытым исходным кодом, расширенная версия Raycast Easydict.
Поиск слов и перевод текстов — очень полезные функции в повседневной жизни. Я использовал множество программ для словарного перевода, но они меня не удовлетворяли, пока я не встретил Боба. Bob
— отличное программное обеспечение для перевода, но оно не является программным обеспечением с открытым исходным кодом и больше не предоставляет бесплатных обновлений приложений с момента его размещения в Apple Store.
Как разработчик и бенефициар многих программ с открытым исходным кодом, я чувствовал, что в мире должна быть бесплатная версия Bob с открытым исходным кодом, поэтому я разработал Easydict. Теперь я активно использую Easydict каждый день, мне он очень нравится, и я надеюсь, что больше людей смогут его понять и использовать.
Открытый исходный код делает мир лучше.
Если вы заинтересованы в этом проекте, мы будем рады внести в него свой вклад и постараемся помочь, насколько это возможно.
В настоящее время проект в основном имеет две ветки: dev и main. Код ветки dev обычно самый последний и может содержать некоторые функции, находящиеся в стадии разработки. Код основной ветки стабилен, а код ветки разработки будет регулярно объединяться.
Кроме того, мы планируем перенести проект с objc на Swift и в будущем постепенно использовать Swift для написания новых функциональных модулей, см. #194.
Если вы считаете, что проект нуждается в улучшении или у вас есть новые идеи, отправьте запрос:
Если PR направлен на исправление ошибки или реализацию функции для существующей проблемы, отправьте его в ветку разработки.
Если PR касается новой функции или включает серьезные изменения, такие как пользовательский интерфейс, рекомендуется сначала открыть проблему и обсудить ее, чтобы избежать дублирования или конфликта функций.
Этот проект был вдохновлен салатиктом и Бобом, а первоначальная версия была разработана на основе Боба (GPL-3.0). Easydict внес множество улучшений и оптимизаций в исходный проект, а многие функции и пользовательский интерфейс основаны на Бобе.
Функция создания снимков экрана основана на функции захвата экрана isee15 для нескольких экранов на Mac и оптимизирована на этой основе.
Функция рисования слов с помощью мыши относится к PopClip.
Easydict находится под лицензией с открытым исходным кодом GPL-3.0 и предназначен только для обучения и общения. Любой может получить продукт и исходный код бесплатно. Если вы считаете, что ваши законные права были нарушены, немедленно свяжитесь с автором. Вы можете свободно использовать исходный код, но должны включить соответствующую лицензию и уведомление об авторских правах. Спонсорская поддержка
Easydict — это бесплатный некоммерческий проект с открытым исходным кодом. В настоящее время он в основном разрабатывается и поддерживается автором. Если вам нравится этот проект и вы считаете, что он вам полезен, вы можете рассмотреть возможность спонсирования и поддержки этого проекта. Используйте любовь для производства электроэнергии. и пусть идет дальше.
Если вырабатываемой электроэнергии будет достаточно, чтобы покрыть ежегодную плату Apple в размере 99 долларов, я зарегистрирую учетную запись разработчика, чтобы решить проблему с подписью приложения, чтобы больше людей могли удобно использовать Easydict.