キーボードショートカットと通知を使用してLinuxでテキストを翻訳する方法

私は問題を抱えていました LinuxでのGoogleChromeの翻訳、いくつかの変更を加えて改善することができましたが、これはあまり好きではありません。 そのため、私は知らない単語やテキストを翻訳できる代替手段を見つけようとしました。

この問題を解決するために、私たちは教えるつもりです キーボードのショートカットと通知を使用してLinuxでテキストを翻訳する方法、このために私はガイドを使用します アンドリュー(アリンアンドレイ) それは順調に進んでおり、それがあなたに役立つことを願っています。 このガイドは、Andrewによって作成されたいくつかのスクリプトと、ベースとして使用された2012年にさかのぼるスクリプトの修正で構成されています。

この方法では、選択可能な任意のテキスト(Webページ上のテキスト、pdf、txt、アプリケーションなど)を翻訳できるため、その用途は多岐にわたります。

Linuxでテキストを翻訳する方法

Linuxでテキストを翻訳する方法

このソリューションの長所と短所

この方法の利点の中で、次の点を強調できます。

  • 選択可能な任意のテキスト(PDF、Webページ、雑誌、libreoffice、アプリ内テキストなど)の翻訳が可能です。
  • キーボードショートカットを使用することで、テキストをすばやく翻訳できます。
  • システム通知からの翻訳を表示できます。
  • さまざまなソース言語からの翻訳を許可します。
  • ターゲット言語はパラメータ化できます。
  • 小さな単語やフレーズの翻訳に最適です。
  • インストールと構成は簡単です。

この方法の主な欠点は次のとおりです。

  • Webページ全体を翻訳することはできません。
  • Googleがソース言語を判別できない場合、エラーが返されるため、テキストは翻訳されません。
  • この方法を機能させるには、インターネット接続が必要です。

Linuxでテキストを翻訳するためのスクリプトの構成

キーボードショートカットと通知を使用して選択したテキストを翻訳するようにスクリプトを構成して実行するには、次の手順に従う必要があります。

  • Instalar las dependencias necesarias, en primer lugar instalar libnotify-bin (para enviar notificaciones de escritorio), wget (para recuperar la traducción de Google) y XSEL (que se utiliza para obtener el texto resaltado en ese momento). En Ubuntu y derivados puedes instalarlo usando el siguiente comando:
sudo apt-get install libnotify-bin wget xsel
  • 次のコードをコンソールにコピーします。
#!/usr/bin/env bash
notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

次に、「notitrans」というファイルを作成します(あなたはそれを好きなように呼ぶことができます、この場合それは元の作者がそれを呼んだものと呼ばれます)、前のコードが含まれます。

スペイン語以外の言語に翻訳する場合は、«tl = es»を好みの言語に置き換える必要があります。たとえば、ロシア語の場合は«tl = ru»、フランス語の場合は«tl = fr»などです。

  • 次のコマンドで作成されたファイルに実行許可を与える必要があります。
chmod +x ~/notitrans
  • 次のコマンドを使用して、スクリプトを$ PATHに追加します。
sudo mv ~/notitrans /usr/local/bin/
  • スクリプトの準備ができたので、キーボードショートカットを使用するときにスクリプトをアクティブにする必要があります。これには、カスタムアクセスを作成する必要があります。

Cinnamon、GNOME、およびUnityの場合、にアクセスしてカスタムキーボードショートカットを作成できます。  [システム設定]> [キーボード]> [キーボードショートカット]> [カスタムショートカット]、クリックする必要がある場所 カスタムショートカットを追加。 ショートカットの名前を入力する場所、私の場合は 翻訳する そして私達が置く順序で«ノティトランス»またはスクリプトに付けた名前:

キーボードショートカットを追加

キーボードショートカットを追加

Linuxでテキストを翻訳するためのスクリプトのバリエーション

Es muy fácil modificar el script para adaptarlo mejor a sus necesidades. A continuación encontrará un par de variaciones que ha creado  Andrew. Para usar estos script, simplemente siga los mismos pasos que anteriormente (incluyendo cambiar «es» al idioma en el que desea traducir el texto), pero no copie el código de script anterior sino que utilice el que corresponda:

Zenityで翻訳を視覚化する

Linuxでテキストを翻訳する

Zenityで翻訳を表示するには 次の手順に従わなければなりません:

  • システムにZenityをインストールします。 Ubuntuおよび派生物では、次のコマンドでインストールできます。
sudo apt-get install zenity
  • 元のスクリプトのすべての手順を実行しますが、次のコードを使用します
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo -e "Original text:" "$text"'\n' > /tmp/notitrans
echo "Translation:" "$translate" >> /tmp/notitrans
zenity --text-info --title="Translation" --filename=/tmp/notitrans

通知で翻訳を表示し、クリップボードに自動的にコピーします

翻訳がシステム通知によって表示され、クリップボードに自動的にコピーされるバリエーションを作成するには、次の手順を実行する必要があります。

  • システムにxclipをインストールします。 Ubuntuおよび派生物では、次のコマンドを使用してそれを行うことができます。
sudo apt-get install xclip
  • 元のスクリプトのすべての手順を実行しますが、次のコードを使用します
#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo "$translate" | xclip -selection clipboard
notify-send --icon=info "$text" "$translate"

すでに最高潮に達し、 この記事で、スクリプトの疑問や変更がある場合と同じように、必要な単語やテキストの翻訳を作成できることを願っています。コメントを残すことを躊躇しないでください。

出典 webupd8


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   r

    スクリプトをありがとうございました。 これは非常に便利であり、翻訳と記事に感謝します。これらは、GNULinux分野に関する知識を深める真の記事だからです。

    より多くの翻訳とより多くの記事をお願いすることをお勧めします...

    こんにちは、良い一日を。

  2.   マヌエル

    すばらしい+5、ありがとう! 修正:「次のコードをコンソールにコピーします:」、コンソールではなく、作成されたテキストファイルにあります。

  3.   クアジュノテ

    多大な貢献、それは私にとって非常に良かったです。 質問を明確にしたいのですが、翻訳するテキストを大きくすることはできますか? 言い換えれば、Zenityでは段落を選択しますが、すべてを翻訳するのではなく、数文だけを翻訳します。Ubuntu独自の通知システムでは、最初の文だけを翻訳します。 それを拡張する方法はありますか?

    よろしくお願いいたします。

  4.   ミラーシルバ

    非常に良い貢献!

  5.   オスカークルス

    私が探していたもの!
    ええと、そうではありません。私は通常多くのPDFを扱うので、(ある種のプラグインを使用して)okularドキュメントでのみそれを行う方法を探していました。 しかし、これは私がokularを超えて単語を翻訳するのに役立ちます。 それは素晴らしい貢献です

    ありがとうございます !!!

  6.   エルサンティル

    優秀は少ないです。 ありがとうございました