選択したテキストの任意の言語からロシア語への翻訳

私はあなたと私のライフハックを共有したいと思います。
まず第一に、テキストでなじみのない外国語に出会うたびに辞書に登るのが面倒な人を対象としています。

選択したテキストの翻訳をデスクトップアラートとして取得する方法を説明します。


多くのデスクトップ「辞書」には、選択を翻訳する機能があります。これは「辞書に登らない」ように設計されていますが、何らかの理由で常に問題があります。必要なときに翻訳しません。 不要な場合などに翻訳します

確かに、多くの人がコンソールからグーグル翻訳を使用するためのさまざまなスクリプトを見てきましたが、CLIを好むにもかかわらず、ほとんどの場合、この方法は不便です。

選択したテキストまたは単語をすばやく翻訳し、その結果をデスクトップアラートの形式で表示できるといいと思いました。
Google翻訳cli + 選択 + 通知を組み合わせるだけです。

解決策


コンソールから通知を送信するための非常にシンプルなインターフェイスは、 libnotify-binパッケージに含まれるnotify-sendユーティリティによって提供されます。 例:
notify-send 'title' 'message'
次の結果が得られます


xselユーティリティは、 X Window Systemで現在の選択を取得するために使用されます。
xsel -o
現在の選択を標準出力に出力します。

ステップ1
必要なパッケージをインストールします。
sudo apt-get install libnotify-bin xsel
誰もがシステムにパッケージをインストールする方法を知っていると確信しているので、例を挙げません。

ステップ2
seltrというファイルを作成し、次の2行をそのファイルにコピーします。

 #!/usr/bin/env bash notify-send -u critical "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$(xsel -o | sed "s/[\"'<>]//g")&sl=auto&tl=ru" | sed 's/\[\[\[\"//' | cut -d \" -f 1)" 

-u criticalパラメーターは、通知がウィンドウをブロックできるようにするために必要です。

Google翻訳リクエストパラメータ:
text=$(xsel -o | sed "s/[\"']//g") →ソーステキストは、 '"を含む現在の選択です。
sl=autoソース言語をsl=auto検出します。
tl=ru →結果の言語はロシア語です。

ステップ3
このファイルを実行可能にし、 / usr / bin /に移動します。
sudo chmod 777 ./seltr && sudo mv ./seltr / usr / bin /

ステップ4
今では、 seltrコマンドにキーの組み合わせを割り当てることが残っています(私の選択はalt + 5です)。 これを行うには、作業環境が提供する標準のハートを使用するか、 xbindkeysを使用します

仕組み



いくつかのスクリーンショット


英語

ドイツ人

フランス語

ウクライナ語

中国語


長所と短所


+テキストの断片を翻訳する機能。
+送金の受け取りに必要な最小限の手順。
+ほとんどすべての言語のサポート。
+個別の辞書をインストールする必要はありません。

-インターネット接続なしでは機能しません。
-翻訳テキストを強調表示する方法はありません。
* Unity, GNOME2, Xfce4, KDE4.

Source: https://habr.com/ru/post/J137215/


All Articles