豪鬼メモ

一瞬千撃

Kindle for Mac/PC/Androidの英和辞書を入れ替える方法

WordNetとWikitionaryから生成して熟語検索もできる自作の英和辞書Kindleの実機(Paperwhite)に入れて快適に使っているが、同じものをAndroidやPC(Mac)でも使う方法をメモする。もちろん、私の辞書でなくても任意のカスタム辞書を利用することができる。


Kindleの実機には辞書の追加が正式な機能として備わっている。辞書ファイル(mobiまたはazw)をdocuments/dictionariesの中に置くと、設定メニューの「言語と辞書」の「辞書」に現れるので、それを選択すればよい。一方で、なぜか各種プラットフォームのKindleアプリ(Kindle for Mac/PC/Android)にはその機能がない。しかし、デフォルトの辞書ファイルを置き換えるという荒技を使えばいけることがわかっている。インストールするのは、このMOBIファイルだ(和英の場合はこちら)。

PCとMacのインストールはめちゃ簡単だ。上記の辞書ファイルをダウンロードして、ファイルをダブルクリックすればよい。そうすると、Kindleアプリに取り込まれて、プログレッシブ英和辞書やプログレッシブ和英辞書を置き換えてくれる。その後、アプリを閉じてから起動しなおすと、置き換えた辞書が使えるようになる。あくまでプログレッシブ英和辞典やプログレッシブ和英辞典として認識されるが、中身がカスタム辞書に入れ替わっている。元に戻したい場合には、インストールされた辞書ファイルを消せば良い。Macの場合、Library/Application Support/Kindle/My Kindle Contentの下にunion-dictで始まるファイルがいくつか作られているはずなので、ぞれを消す。PCでもKindleのデータ置き場に同じようなファイルがあるはずだ。

Android版はちょっと面倒くさい。AndroidKindleアプリを普通に使って、英語の単語を長押しすると、ポップアップが出てくる。その左下あたりに言語を切り替えるボタンがあるので、そこで「英語-日本語」を選ぶ。すると、デフォルトの英和辞書であるプログレッシブ英和辞典がダウンロードされる。既にこの操作を行なっていた場合には、普通に英和辞書の中身がポップアップに表示されていることだろう。さて、AndroidKindleのデータは、Android/data/com.amazon.kindle/filesの下に、ASINの名前がついてフォルダとして保存されている。プログレッシブ英和辞典のASINは「B005FNK002」なので、「B005FNK002_BOK」とかいう名前のフォルダがあるはずだ。このフォルダの中にある「B005FNK002.prc」というファイルが辞書の本体である。このファイルを消すなりリネームするなりする。その他にphlやらmbpやらの拡張子のファイルがあるかもしれないが、そいつらはメモ書きなどのデータなので、放っておいて構わない。このフォルダ自体を消してしまえばまたデフォルトの辞書がダウンロードされるので、とりあえず全部消してまって構わないだろう。そして、ダウンロードした自分の辞書のmobiファイルを同じフォルダ内に「B005FNK002.prc」という名前で保存する。すると、あら不思議。プログレッシブ英和辞典の代わりに自作の辞書が使われるようになる。同様にして、日本語の本にカスタム和英辞書を使いたい場合、プログレッシブ和英辞典を置き換えればよい。そのASINは「B00DQB1G3K」だ。

Android版の現行のバージョンでは、普通の手順Kindle Previewerを使って作った辞書を使って、デフォルト辞書を置き換えることができる。一方で、Mac/PC版については、辞書の認識方法が違うので、自作の辞書ファイルの方にちょっとした変更が必要になる。Mac/PC版での辞書の識別は、辞書ファイルのパスではなく、辞書ファイルの中に含まれるASINのメタデータで行なっている。よって、自作の辞書ファイルのメタデータプログレッシブ英和辞典と同じにしておかないといけない。そうしないと、プログレッシブ英和辞典が存在しないとみなして再ダウンロードを始めてしまうのだ。さて、mobiファイルやazwファイルのメタデータは少し厄介だ。exthというフォーマットで管理されていて、それはEPUBの仕様とは独立している。authorやpublisherなどはKindle PreviewerがEPUBのデータを読んで設定してくれるが、ASINや辞書の言語などは独自仕様だ。辞書の言語はOPFファイル内の独自要素として指定できるが、ASINを指定する方法はない。なので、生成されたmobiファイルのメタデータを別のツールで書き換える必要がある。Java Mobi Metadata Editorを使う。これをダウンロードして、「java -jar MobiMetaEditorV0.16.jar」などと実行する。いきなりファイルを開くダイアログが出るので、そこで編集したいmobiファイルを指定すると、以下のような画面になる。

mobiファイルに既にASINが設定されている場合、それを示す属性113がリストの中にあるので、それを選択する、ない場合には右下の「+」ボタンを押して、属性113の値としてASINを設定する。プログレッシブ英和辞典を置き換えたいのなら、値を「B005FNK002」にする。同様にして、属性504がASINとして使われることもあるので、それも値が「B005FNK002」になるようにする。あとは、「save」ボタンを押して保存すれば、元のファイルに「_new」がついた名前のファイルができる。このファイルを上述の手順で置き換えればよい。

KIndleの実機の場合、デフォルトのプログレッシブ英和辞典とカスタム辞書を共存させることができる。その場合、デフォルト辞書のASINに偽装した辞書ファイルを使うとエラーが起きるので、元の辞書ファイルを使うこと。こちらの辞書ファイルを使えばその問題はない。

まとめ。KindleMac/PC版とKindle版でも、デフォルト辞書を置き換えれば、自作の辞書が使える。Mac/PC版で自作の辞書を使うには、メタデータを置き換えるのに一手間かかる。iOSのことは知らない。でも多分似たような感じで、「B005FNK002」がある場所を探して適当にファイルを置き換えればいいんじゃないかな。どの端末でも同じコンテンツが読み進められるのがKindleの長所の一つだが、どうせなら同じ辞書で快適に読書したい。

それにしても、Kindle実機だと素直に辞書の追加ができるのに、なぜアプリ版とかだとできないようにしているのか。デフォルトの辞書がサポートしない言語の話者だって世界には何十億人単位でいる。二言語辞書の対は英語が絡むものだけじゃない。日本だけで考えても中日、韓日、葡日、西日、独日、仏日、露日、比日などやその逆方向の辞書が使いたい人が大勢いる。こんなところに書いていても詮無いことかもしれないが、Amazon様、カスタム辞書を普通に追加させておくれよ。インクルージョンの時代じゃないか。