重要
プロジェクトは KDE 傘下に移行され、開発は https://invent.kde.org/office/crow-translate で継続されます。
Crow Translate は、 C++ / Qtで書かれたシンプルで軽量の翻訳ツールで、Google、Yandex、Bing、LibreTranslate、Lingva 翻訳 API を使用してテキストを翻訳したり読み上げたりすることができます。このプロジェクトで使用されている私のライブラリ QOnlineTranslator にも興味があるかもしれません。
プラズマ
プラズマモバイル
Windows 10
設定で変更できます。 OS の制限により、一部のキー シーケンスが使用できない場合があります。
Wayland はグローバル ショートカットの登録をサポートしていませんが、D-Bus を使用してシステム設定のアクションをバインドできます。追加のアプリケーション アクション (KDE など) をサポートするデスクトップ環境の場合、それらはシステム ショートカット設定で事前定義されています。これらを X11 セッションに使用することもできますが、競合を避けるためにアプリケーション設定でグローバル ショートカットの登録を無効にする必要があります。
鍵 | 説明 |
---|---|
Ctrl + Alt + E | 選択したテキストを翻訳する |
Ctrl + Alt + S | 選択したテキストを読み上げる |
Ctrl + Alt + F | 選択したテキストの翻訳を読み上げる |
Ctrl + Alt + G | 話すのをやめてください |
Ctrl + Alt + C | メインウィンドウを表示 |
Ctrl + Alt + I | 画面領域内のテキストを認識する |
Ctrl + Alt + O | 画面領域内のテキストを翻訳する |
鍵 | 説明 |
---|---|
Ctrl + Return | 翻訳する |
Ctrl + R | 言語を交換する |
Ctrl + Q | ウィンドウを閉じる |
Ctrl + S | ソースを読み上げる / テキストの読み上げを一時停止する |
Ctrl + Shift + S | 翻訳を話す / テキストの読み上げを一時停止する |
Ctrl + Shift + C | 翻訳をクリップボードにコピー |
このプログラムにはコンソール インターフェイスもあります。
使用法: 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 形式の印刷出力 |
注:起動引数をプログラムに渡さない場合、GUI が起動します。
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 open
Wayland はグローバル ショートカットの API を提供していないため、自分で登録する必要があります。
KDE には、.desktop ファイルにショートカットを定義し、設定にインポートする便利な機能があります。これらのショートカットはすでに有効になっており、デフォルトで機能するはずです。
GNOME の場合は、D-Bus コマンドをグローバル ショートカットとして手動で設定する必要があります。たとえば、選択したテキストを翻訳するには、次のコマンドを使用します。
qdbus io.crow_translate.CrowTranslate /io/crow_translate/CrowTranslate/MainWindow translateSelection
GNOME システム設定でこのコマンドのホットキーを設定できます。
このプロジェクトでは、git サブモジュールとして含まれる次の外部ライブラリを使用します。
Windows でアイコンを提供し、Linux でフォールバック アイコンを提供するために、Fluent アイコン テーマがバンドルされています。
旗には丸旗アイコンが使用されます。
ダウンロードはリリースページから入手できます。他のインストール方法については Web サイトもご覧ください。
注: Linux で、KDE 以外のデスクトップ環境でアプリケーションをネイティブに見せるには、Qt アプリケーションのスタイルを設定する必要があります。これは、qt5ct、adwaita-qt5、または qtstyleplugins を使用して実行できます。ご使用のディストリビューションに該当するインストール ガイドを確認してください。
注: Windows が動作するには、Microsoft Visual C++ Redistributable 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 では、必要な DLL をすべてバンドルするには VCPKG が必要です。
WITH_PORTABLE_MODE
- ポータブル機能を有効にします。アプリフォルダーにsettings.ini
という名前のファイルを作成すると、Crow はそのファイルに構成を保存します。また、アプリケーション設定に「ポータブル モード」オプションも追加され、同様のことが行われます。WITH_KWAYLAND
- Wayland の統合を改善するために、KWayland ライブラリを見つけて使用します。ビルド パラメーターは構成段階で渡されます: cmake -D WITH_PORTABLE_MODE ..
ローカリゼーションを支援するには、Crowdin を使用するか、Qt Linguist を使用してdata/translations
内のファイルを直接翻訳できます。新しい言語を追加するには、Crowdin ページに私と書くか、 data/translations/crow-translate.ts
をdata/translations/crow-translate_<ISO 639-1 language code>_<ISO 3166-1 country code>.ts
、翻訳してプルリクエストを送信します。