Translator - небольшое программное обеспечение позволяющие производить быстрый перевод текста.
Для перевода текста необходимо нажать дважды cmd+c, первый раз текст копируется в буфер обмена, а второй раз текст отправляется в онлайн переводчик.
На выбор доступно 3 сервиса перевода
- Yandex переводчик
- Google переводчик
- Promt
Выбрать переводчик по умолчанию можно нажав на иконку приложения в системном трее.
- MacOS
- Python 3
Клонируем репозиторий
git clone https://github.com/r4hx/Translator
Переходим в директорию
cd Translator
Устанавливаем зависимости
python3 -m pip install -r requirements.txt
Запускаем приложение
python3 main.py
Приложение можно скомпилировать в bundle для нативного запуска в MacOS.
Для этого необходимо установить зависимости из файла requirements-dev.txt
python3 -m pip install -r requirements-dev.txt
Далее произведем сборку приложения
pyinstaller \
--target-architecture arm64 \
--clean \
--name Translator \
--noconfirm \
--onedir \
--onefile \
--windowed \
--icon=icon.png \
--add-binary "icon.png:." \
main.py
Описание параметров сборки приложения
- target-architecture - целевая архитектура вашего устройства. Возможные варианты: x86_64 arm64, universal2.
- clean - очищает все кэши pyinstaller и удаляет временные файлы/папки перед сборкой.
- name - название для приложения и файла спецификации.
- noconfirm - отключаем подтверждение перезаписи файлов.
- onedir - создает отдельную папку для билда.
- onefile - производит сборку приложения в один бинарный файлик.
- windowed - флаг для приложений с графическим интерфейсом.
- icon - путь до файла с иконкой приложения.
- add-binary - добавляет файл в бинарник.
После выполнения сборки вам будут доступны два файла в директории dist/
- Бинарный файл
- Приложение OSX App Bundle
Скопируйте App Bundle в директорию Applications и запустите его.
Приложение потребует предоставить ей доступ к следующим параметрам
System preferenses -> Security & Privacy -> Input Monitoring
System preferenses -> Security & Privacy -> Accessibility
Удостоверьтесь, что приложение его получило.
Последнее время я много работаю с английским языком и перепробовал множество вариантов работы с переводчиками. Моим фаворитом был deepl, собственно в нем и была реализована возможность двойным копированием переносить текст из буфера обмена в переводчик, но сам переводчик работал медленно и качеством его перевода я недоволен.
Я позаимствовал эту концепцию и реализовал свой удобный инструмент, может и тебе он окажется полезным 🙂