Важный
Проект перешёл под эгидой KDE, и разработка продолжится по адресу https://invent.kde.org/office/crow-translate.
Ворона ПереводчикCrow Translate — простой и легкий переводчик, написанный на C++/Qt , который позволяет переводить и озвучивать текст с помощью Google, Yandex, Bing, LibreTranslate и API перевода Lingva. Вас также может заинтересовать моя библиотека QOnlineTranslator, используемая в этом проекте.
Плазма
Плазменный мобильный
Windows 10
Вы можете изменить их в настройках. Некоторые последовательности клавиш могут быть недоступны из-за ограничений ОС.
Wayland не поддерживает глобальную регистрацию ярлыков, но вы можете использовать D-Bus для привязки действий в настройках системы. Для сред рабочего стола, которые поддерживают дополнительные действия приложений (например, KDE), вы увидите их предопределенными в настройках системных ярлыков. Вы также можете использовать их для сеансов X11, но вам необходимо отключить регистрацию глобальных ярлыков в настройках приложения, чтобы избежать конфликтов.
| Ключ | Описание |
|---|---|
| Ctrl + Альт + Е | Перевести выделенный текст |
| Ctrl + Альт + С | Озвучить выделенный текст |
| Ctrl + Альт + Ф | Озвучить перевод выделенного текста |
| Ctrl + Альт + Г | Хватит говорить |
| Ctrl + Альт + С | Показать главное окно |
| Ctrl + Альт + Я | Распознавание текста в области экрана |
| Ctrl + Альт + О | Перевести текст в области экрана |
| Ключ | Описание |
|---|---|
| Ctrl + Возврат | Переводить |
| Ctrl + Р | Поменять языки |
| Ctrl + К | Закрыть окно |
| Ctrl + С | Проговорить источник / приостановить произнесение текста |
| Ctrl + Shift + С | Произнести перевод / приостановить произнесение текста |
| Ctrl + Shift + С | Скопировать перевод в буфер обмена |
Программа также имеет консольный интерфейс.
Использование: crow [options] text
| Вариант | Описание |
|---|---|
-h, --help | Отобразить справку |
-v, --version | Отображение информации о версии |
-c, --codes | Отображение языковых кодов |
-s, --source <code> | Укажите исходный язык (по умолчанию движок попытается определить язык самостоятельно) |
-t, --translation <code> | Укажите язык(и) перевода, разделенный знаком «+» (по умолчанию используется системный язык) |
-l, --locale <code> | Укажите язык переводчика (по умолчанию используется язык системы) |
-e, --engine <engine> | Укажите движок переводчика («google», «yandex», «bing», «libretranslate» или «lingva»), по умолчанию используется Google. |
-p, --speak-translation | Озвучить перевод |
-u, --speak-source | Озвучить источник |
-f, --file | Чтение исходного текста из файлов. Аргументы будут интерпретироваться как пути к файлам. |
-i, --stdin | Добавить данные стандартного ввода в исходный текст |
-a, --audio-only | Печатать текст только для разговора при использовании --speak-translation или --speak-source |
-b, --brief | Печатать только переводы |
-j, --json | Вывод на печать в формате JSON |
Примечание. Если вы не передадите программе аргументы запуска, запустится графический интерфейс.
io.crow_translate.CrowTranslate
├── /io/crow_translate/CrowTranslate/Ocr
| └── method void io.crow_translate.CrowTranslate.Ocr.setParameters(QVariantMap parameters);
└── /io/crow_translate/CrowTranslate/MainWindow
| # Global shortcuts
├── method void io.crow_translate.CrowTranslate.MainWindow.translateSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.speakSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.speakTranslatedSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.playPauseSpeaking();
├── method void io.crow_translate.CrowTranslate.MainWindow.stopSpeaking();
├── method void io.crow_translate.CrowTranslate.MainWindow.open();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyTranslatedSelection();
├── method void io.crow_translate.CrowTranslate.MainWindow.recognizeScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.translateScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.delayedRecognizeScreenArea();
├── method void io.crow_translate.CrowTranslate.MainWindow.delayedTranslateScreenArea();
| # Main window shortcuts
├── method void io.crow_translate.CrowTranslate.MainWindow.clearText();
├── method void io.crow_translate.CrowTranslate.MainWindow.cancelOperation();
├── method void io.crow_translate.CrowTranslate.MainWindow.swapLanguages();
├── method void io.crow_translate.CrowTranslate.MainWindow.openSettings();
├── method void io.crow_translate.CrowTranslate.MainWindow.setAutoTranslateEnabled(bool enabled);
├── method void io.crow_translate.CrowTranslate.MainWindow.copySourceText();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyTranslation();
├── method void io.crow_translate.CrowTranslate.MainWindow.copyAllTranslationInfo();
└── method void io.crow_translate.CrowTranslate.MainWindow.quit();
Например, вы можете отобразить главное окно с помощью dbus-send :
dbus-send --type=method_call --dest=io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open Или через qdbus :
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow io.crow_translate.CrowTranslate.MainWindow.open
# or shorter
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow openWayland не предоставляет API для глобальных ярлыков, и вам необходимо зарегистрировать их самостоятельно.
В KDE есть удобная функция для определения ярлыков в файле .desktop и импорта их в настройках. Эти ярлыки уже включены и должны работать по умолчанию.
Для GNOME вам необходимо вручную настроить команды D-Bus как глобальные ярлыки. Например, чтобы перевести выделенный текст, используйте следующее:
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow translateSelectionВы можете установить горячую клавишу для этой команды в настройках системы GNOME.
В этом проекте используются следующие внешние библиотеки, включенные в качестве подмодулей git:
В комплект входит тема значков Fluent, предоставляющая значки в Windows и резервные значки в Linux.
Значки круговых флажков используются для флагов.
Загрузки доступны на странице Релизы. Также посетите веб-сайт, чтобы узнать о других способах установки.
Примечание. В Linux, чтобы приложение выглядело как родное в среде рабочего стола, отличной от KDE, вам необходимо настроить стиль приложений Qt. Это можно сделать с помощью qt5ct, adwaita-qt5 или qtstyleplugins. Пожалуйста, ознакомьтесь с соответствующим руководством по установке для вашего дистрибутива.
Примечание. Для работы Windows требуется распространяемый компонент Microsoft Visual C++ 2019.
Вы можете создать Crow Translate , используя следующие команды:
mkdir build
cd build
cmake .. # Or `cmake -D CMAKE_BUILD_TYPE=Release ..` for single-configuration generators such as Ninja or GNU Make
cmake --build . # Or `cmake --build . --config Release` for multi-config generators such as Visual Studio Generators or Xcode После этого вы получите двоичный файл с именем crow .
CMake может автоматически создавать указанные типы пакетов.
Если вы используете генератор Makefile, Ninja или Xcode, вы можете использовать цель пакета:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CPACK_GENERATOR=DEB .. # You can specify several types of packages separated by semicolons in double quotes, for example: `CPACK_GENERATOR="DEB;ZIP;NSIS"`
cmake --build . --target packageИли вы можете использовать утилиту CPack для любых генераторов:
mkdir build
cd build
cmake .. # Or `cmake -D CMAKE_BUILD_TYPE=Release ..` for single-configuration generators such as Ninja or GNU Make
cpack -G DEB # Or `cpack -G DEB -C Release` for multi-config generators such as Visual Studio Generators or XcodeВ Windows вам понадобится VCPKG для объединения всех необходимых DLL.
WITH_PORTABLE_MODE — включить переносимые функции. Если вы создадите файл с именем settings.ini в папке приложения, и Crow сохранит в нем конфигурацию. Он также добавляет в настройки приложения опцию «Портативный режим», которая делает то же самое.WITH_KWAYLAND — найдите и используйте библиотеку KWayland для лучшей интеграции с Wayland. Параметры сборки передаются на этапе конфигурации: cmake -D WITH_PORTABLE_MODE .. .
Чтобы помочь с локализацией, вы можете использовать Crowdin или переводить файлы в data/translations напрямую с помощью Qt Linguist. Чтобы добавить новый язык, напишите мне на странице Crowdin или скопируйте data/translations/crow-translate.ts в data/translations/crow-translate_<ISO 639-1 language code>_<ISO 3166-1 country code>.ts , переведите его и отправьте запрос на включение.