概要
「translate.google.com」「alc.co.jp」「weblio.jp」で英和・和英検索したとき、自動的に単語とその翻訳を保存し、しばらく経ってから5択クイズを出題してくれるchrome拡張を作りました。
https://chrome.google.com/webstore/detail/jppkfnbedgcfpioamfidajjkoggmoeik
背景
数多くの便利な翻訳ツールがある中、なぜ単語の意味を覚えたいのか、以下に箇条書きで説明した。
- 翻訳ツールで全文翻訳する場合、まだまだ品質がいまひとつで、原文と比べながら読む必要があるように感じる。
- 翻訳ツールで単語・フレーズごとに翻訳する場合、逐一操作や視線移動が必要で疲れてしまう。
- 翻訳ツールを使い続けていると脳が記憶することをやめてしまい、同じ単語を繰り返し調べていて残念な気持ちになる。
- 翻訳ツールが使える環境は限定的である。
以上から、より幅広い環境でより高速に英語を読めるようになるためには、現状では頭に叩き込むしかないのかなと。
ただ勉強時間を確保するほど自分の中で優先度が高くなく、メールチェックくらいの負荷でササッとやれるくらいが丁度いいと感じていたため
日常的に検索した英単語を自動で出題してくれるやり方なら、続けられる学習方法なんじゃないかと考えて実装してみた。
使用方法
- インストールする。
-
「translate.google.com」か「alc.co.jp」か「weblio.jp」で英和・和英検索をすると自動で単語が登録される。
- 登録時は以下のような通知が表示される。登録をキャンセルしたい場合は通知のボタンを押せばOK。
- しばらく(60分)待っていると、ブラウザ右上のプラグインアイコンに数字のバッジが現れる。これはクイズの出題準備ができたことを意味する(単語が出題キューに入った)。
- 実際には同じ言語の翻訳が5つ以上登録されていることもクイズの出題条件。それらの翻訳をクイズの選択肢に使うため。
- プラグインアイコンをクリックするとポップアップが表示され、その中にクイズが出題される。
- 選択肢のいずれかをクリックすると、正解不正解が表示される。
- もう一度選択肢が描画されているエリアをクリックすると次のクイズに移動する。
- 出題可能なクイズがまだない場合、それを示すメッセージが表示される。
- 正解した場合、以前より長い時間が経過した後、また出題される。
- 出題キューに入るまでの間隔は
[60 * 2^正答回数]
分。
- 出題キューに入るまでの間隔は
オプション画面
ブラウザ拡張のオプションページを開くと登録されている単語と、出題キューを確認・操作できる。以下のパネルが各単語についてリストされている。
- アラームとは出題キューに入るまでの時間を管理しているもののこと。アラームを停止すればずっと出題されなくなる。
- 翻訳の更新はプログラムがスクレイピングした翻訳が期待していたものと違ったときに便利である。
技術的な部分の軽い説明
- 使用言語はKotlin。コードの量は1000行くらい。
- 以下の図が単語の登録からクイズを出題して正解不正解を表示するまでの大きな流れを説明する。
- 図を理解するにはchrome拡張の基本的な構成要素であるcontentscript, browseraction, backgroundを理解しておくことと、storage api, alarm apiがなんなのか知っておく必要がある。
補足
- translate.google.comではカタカナにしただけのような翻訳がたくさん出てくるので、community verified translation(翻訳の隣にチェックアイコンが表示されるもの)のみを自動で登録するようにしている。