LoginSignup
9
5

More than 1 year has passed since last update.

ブラウザで英文 PDF をちょっと翻訳しながら楽に読む

Last updated at Posted at 2021-11-26

ブラウザで英文 PDF をちょっと翻訳しながら楽に読む

英語で書かれた PDF 文書を読むことに苦痛を感じる人は少なくないだろう。自力で意味の取りづらい文章をコピペしてその度に翻訳サイトで翻訳するのは非効率的で面倒くさい。
英文のまま読めればそれに越したことはないが、最低限の補助ツールとして翻訳は利用していたい。

ブラウザで PDF を閲覧することで、もうちょっと楽に翻訳しながら読むことが出来る。
次のような操作を実現できるブラウザ拡張機能を紹介したい。

本記事では、PDF 全文を簡単に翻訳することは考えていません。あくまで、原文を読んで分かりづらい文章を補助的に翻訳できるツールを考えます。
また、本記事では余談として # さいごに 本記事で紹介した拡張機能の代替案やこの他の PDF の翻訳方法も示してみている。

○ 基本事項

■ 環境

動作を確認している環境は以下の通りになる。

  • Windows
  • MS Edge または Chrome

ブラウザは MS Edge と Chrome で確認しているが、この他の Chromium ベースのブラウザでも同じように動作すると思われる。
また、紹介する拡張機能は Firefox にも展開しているようなので、こちらでも同じように動作するはずである。

■ 拡張機能の取得

本記事で紹介する 2 つの拡張機能は、ブラウザの拡張機能ストアから取得することが出来る。
ストアのリンクは各拡張機能ごとに掲示している。

▼ ファイルの URL へのアクセスを許可する

ローカルの PDF を読みたい場合は、それぞれの拡張機能で ファイルの URL へのアクセスを許可する を有効にしておく必要がある。

有効にするためには以下の手順を踏む。

  1. 拡張機能をインストール
  2. 右上のツールバーに拡張機能のアイコンが表示されるのでこれを右クリック
  3. 拡張機能の管理 を開く
  4. ファイルの URL へのアクセスを許可するにチェックを入れて有効にする

これによって、ローカルに保存されたファイルを拡張機能が読めるようになる。

また、拡張機能ごとの設定は 拡張機能のオプション から設定することが出来る。この設定画面は拡張機能ごとに異なる。

▼ キーボードショートカットの設定

キーボードショートカットは以下のページから設定することが出来る。

  • Chrome
    • chrome://extensions/shortcuts
  • MS Edge
    • edge://extensions/shortcuts

適切に簡便なキーボードショートカットを設定しておくと良いだろう。

○ 辞書で単語の意味を引く

単語の辞書的な意味が知りたい場合は、Mouse Dictionary を利用すると良い。

Repository:
wtetsu/mouse-dictionary: 📘A super fast dictionary for Chrome/Firefox - GitHub
2021/11 現在 Ver.1.5.4

以下のようにマウスを置いた単語の辞書的な意味を引くことが出来る。

Mouse Dictionary: translate English to Japanese

wtetsu/mouse-dictionary README # English-Japanese - GitHub

■ 拡張機能ストア

MS Edge では Chrome のストアを利用する。

■ 特徴

  • マウスポインタを合わせた単語を辞書的に引く
    • 辞書を増やすことで熟語などにも対応させることが出来る
  • ローカルに辞書をダウンロードしているため、オフライン環境でも辞書を引くことが出来る
  • PDF は PDF.js で開くことが出来る
    • デフォルトのビューワではこの拡張機能を利用することが出来ない
    • デフォルトのビューワをオーバーライドしない

■ セットアップ

セットアップは Mouse Dictionary の作者から記事が公開されているので、以下の記事を参照すると良いだろう。

PDF 上で Mouse Dictionary を利用する場合は、内蔵の PDF.js で開ける必要があるので注意が必要になる。
具体的な使い方は次のツイートを参照してほしい。

また、ローカルの PDF を開きたい場合も同様にこの拡張機能が提供する PDF.js で閲覧する必要がある。
次のように、PDF ビューワは 拡張機能のオプション から開けたのちにファイルを読み込む。

このビューワのページをブックマークしておくとより楽だろう。

ブラウザにローカルの PDF ファイルをドラック&ドロップしてから拡張機能を動作させても、ファイルを上手く開くことが出来ないので注意が必要。

以下の # Mouse Dictionary の使い方いろいろ ではいくつか具体的な使い方を紹介している。

辞書の追加

Mouse Dictionary は外部からインポートされた辞書を読んで表示する拡張機能なので、辞書をインポートする必要がある。また、欲しい辞書を追加することも出来る。

  • デフォルトの辞書 EJDict-hand - GitHub
  • 追加辞書は英辞郎がオススメされており、BOOTH で購入可能 EDP - BOOTH
    • 和英辞郎などもある

簡単にインポートできる辞書は次の Wiki に一覧がある。

Download dictionary data · wtetsu/mouse-dictionary Wiki - GitHub

当然、辞書があれば引けるので、英日に限らず、さまざまな言語に対応できるらしい。

○ 必要な部分だけ翻訳する

PDF の選択した文章を翻訳するのみであれば、別タブで翻訳ページを開けて行うことも出来るが、タブを行き来するのは面倒くさい。
選択した文章のみをポップアップで翻訳できるようにしたい。

このような場合には、Edge Translate を利用すると良い。

Repository:
EdgeTranslate/EdgeTranslate: A translation extension. - GitHub
2021/11 現在 Ver.2.2.4

以下のようにドラック&ドロップで選択した文章の右上に翻訳ボタンが表示される。これを押下することで翻訳することが出来る。
下のデモでは元と目的の言語が異なるが、ちゃんと英日翻訳可能。

Edge Translate:

EdgeTranslate/EdgeTranslate: A translation extension. README # Demo - GitHub

もちろん、選択する範囲を長くすれば全体を翻訳も可能ではあるが、あまり見栄えの良い結果を伴わない。
必要な部分だけを翻訳するに留めた方が良いだろう。

また当然ながら、ドラック&ドロップで選択するため、ページをまたぐ文章に対してあまり上手に翻訳することが出来ない。これはヘッダーやフッターが含まれてしまうためである。

■ 拡張機能ストア

■ 特徴

  • ウェブページや PDF ファイルで選択した文字列を翻訳
    • ポップアップから翻訳
    • 改行やハイフネーションを処理
  • PDF は PDF.js で開くことが出来る
    • デフォルトのビューワでも拡張機能を利用することが出来る
    • デフォルトのビューワをオーバーライドする
      • PDF のダークモードの利用可能

■ セットアップ

拡張機能のオプション からいくつかの設定をしておく。
設定例として以下のようにしておくと良いだろう。

  • コンテンツの設定:以下の項目にチェック
    • 詳細な意味
    • 定義
  • ハイブリッド翻訳ソース設定デフォルトのページ翻訳
    • Google 翻訳または DeepL 翻訳にする
  • レイアウト設定長いコンテンツを折りたたむ にチェック
  • その他の設定:以下の項目にチェック
    • 選択して翻訳を有効にする
    • 内臓の PDF ビューアを使用する
    • 翻訳後のテキスト選択をキャンセル

翻訳ボックスの右上にあるピンマークが傾いているとき、任意の箇所をクリックするとボックスが消えるようになる。

さいごに

Mouse Dictionary と Edge Translate 統合させて、PDF 上で同時に利用できるようにならないかしら(強欲な欲望)

頻繁に翻訳を利用していると英語が読めないままになってしまうので、すべてを翻訳してしまうのではなく、必要なところだけ翻訳するようにしたい。あくまで補助的な使い方を心がけておきたい。
また、技術的な問題として PDF ファイルをまるごと翻訳させるとレイアウトが崩れたり、うまく表示されない部分が出てくることがままある。折り返しがうまく処理されない場合も多い。
その意味でも、PDF 内の文書を翻訳するのであれば、必要な部分だけ翻訳する方が効率的であると思われる。

しかしながら、Google や DeepL などでの翻訳を認めない先生などもいるらしく、これらによる翻訳には風当たりの強い部分もあるようだ。
最終的に翻訳はあまり使わずに、Mouse Dictionary があれば読めるくらいにはなっていたい。

Edge Translate では DeepL による翻訳の実装も検討されているようだ。ただし、DeepL の API が中国のユーザをサポートしていないらしく実装が難航しているようだ。

能否考虑添加 DeepL 的翻译接口? · Issue #68 · EdgeTranslate/EdgeTranslate · GitHub

2022/09/05 現在、上の issue が close となり DeepL による翻訳が利用可能です。

ところで、この記事のタグはこれで合っている?


以下では補足や蛇足となるような記述が本文とほとんど同じ量あります。

PDF.js とは

記事内で PDF.js が頻出していたので一応。

PDF.js または pdf.js は、Web 標準に準拠した HTML5 Canvas を使用して Portable Document Format(PDF)ファイルをレンダリングする JavaScript ライブラリです。このプロジェクトは、Andreas Gal が 2011 年に(当初は実験として)立ち上げた後、Mozilla Foundation が主導しています。
Wikipedia より引用

要は、ブラウザで動く PDF ビューワです。

Mouse Dictionary の使い方いろいろ

作者の方が Twitter でさまざまな使い方についてツイートされていたので、一部抜粋して紹介します。
なんなら、Wiki よりも情報量が多く分かりやすい気がする……

Wiki にある基本操作は以下を参照のこと。

Window manipulation · wtetsu/mouse-dictionary Wiki - GitHub

外部の翻訳サイトにコピペや編集しながら辞書の表示もできる

PDF 内の折り返しが改行になる問題もよしなに解決される。

上のように Mouse Dictionary 上の PDF ビューワで翻訳したい場合、普通に別タブで翻訳ページを開けていても良いが、やはり面倒である。
この場合には Simple Translate を利用すると解決するかもしれない。

Ctrl+Shift+Space でツールバーポップアップから翻訳ボックスを表示させることが出来るため、タブを変更する必要がなくなる。ただし、この拡張機能では PDF には対応しておらず、ウェブ上では Edge Translate と同時に表示されてしまうため注意が必要である。(拡張機能オプションから ボタンやパネルを表示しない ようにしておくと良いかもしれない)

あるいは、DeepL のデスクトップアプリを導入すれば良いだろう。


辞書ウィンドウ内でダブルクリックすると、選択モードに切り替わる。これで、コピペも簡単!
編集しながら利用できる。


音声入力させながら辞書を引くことも出来る。

YouTube 字幕にも対応できる

ここまで出来るとちょっと怖いわね。

“テキストっぽいものを探す処理” がどれくらいのものを指すのか分からないが、YouTube 字幕以外にも使えそうな予感がありますね。

気持ちの良い場所に表示できる

Shift を押しながらドラック&ドロップで移動させるて気持ちの良い場所に表示できる。

ちなみに、ポップアップ表示位置の基本思想はマウスの近くに表示させたくはないようです。

表示スタイルのカスタマイズ

それなりの HTML の知識があれば、表示スタイルをカスタマイズすることも可能のようです。

HTML templates · wtetsu/mouse-dictionary Wiki · GitHub

いくつかの設定は JSON でインポート/エクスポートが可能になっている。

Export and import settings · wtetsu/mouse-dictionary Wiki - GitHub

Mouse Dictionary の代替

Mouse Dictionary と同じようにウェブ上の英単語に対して辞書的な意味を引くことの出来る拡張機能があった。

Edge Translate の代替

Edge Translate と同等の PDF 内の文章を翻訳する Chrome 拡張機能をいくつか見つけることが出来た。
どちらも DeepL を利用した拡張機能のようである。

詳しくは、使い方の記事を参照してほしい。

ただし、DeepLopener では DeepL の API を利用するために DeepL のアカウント登録が必要になる。
また、DeepL アカウントは無料枠では文字数制限があり、有料枠では従量課金される。金銭面で少しだけ注意が必要になる。

cf. DeepL API:文書ファイル翻訳時の文字数カウント - DeepL ヘルプセンター | どんなことでお困りですか?

代表的な翻訳サイト

皆さんご存知と思われるが、基本的な翻訳方法も紹介しておきたい。

DeepL 翻訳はより自然な翻訳が出来るとして人気が高まっている。

PDF 文書を翻訳しながら読むいくつかの方法

上で紹介した方法の他に、PDF 文書を翻訳する方法は以下が考えられる。
知っているだけ書き出してみるが、実用性が伴うかどうかは不明。

  • コピペしたテキストを翻訳
    • 最もオーソドックスな方法
    • コピペした文章を # 代表的な翻訳サイト で翻訳する
    • 折り返しが改行としてコピーされる場合は、Shaper を利用して改行を無くすことが出来る
  • PDF からテキストを抽出してから翻訳
    • Poppler ライブラリにある pdftotext 等を利用してテキストを抽出する
    • # 代表的な翻訳サイト で翻訳する
    • ヘッダーやフッターなどをはじく必要がある
  • ソースファイルから翻訳する
    • arXiv などで TeX などのソースファイルを取得できる場合は、これから翻訳することも出来る
    • *.tar.gz で配布される場合は、$ tar -xvzf foo.tar.gz から解凍することが出来る
    • 翻訳する際には、適当に LaTeX コマンドをはじいておく必要がある
  • arXiv Vanity - Read academic papers from arXiv as web pages を利用する
    • arXiv にある論文であれば、PDF を HTML 化することが出来る
    • HTML 化されたものをブラウザや拡張機能などで翻訳する
  • PDF ファイルをまるごと翻訳 1
    • Google 翻訳や DeepL 翻訳では PDF ファイルをまるごと翻訳することが出来る
    • ただし、ファイルサイズなどの制約やレイアウトが崩れるなどの問題が残る
  • PDF ファイルをまるごと翻訳 2
  • PDF ファイルをまるごと翻訳 3
    • Readable を利用する
    • 英語の PDF ファイルをレイアウトを保ったまま日本語に翻訳するようです
    • DeepL を利用するが、容量に制限がいくつかある
  • PDF を DOCX に変換してから翻訳 1
    • MS Word で PDF を開き、校閲 から翻訳する
    • ファイルサイズが大きい場合、処理が重い
    • レイアウトがあまり壊れない印象
  • PDF を DOCX に変換してから翻訳 2

この他にも、Python などで適当なスクリプトを組んで PDF を一括で翻訳する記事を書いている人もいた。

それぞれの参考記事:

他により良い方法があれば教えてほしい。

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5