Kobo: カスタム辞書追加(新方式)
koboに入れたカスタム辞書(たとえばオランダ語の辞書を英語の辞書に差し替える)は同期を取ると、元のオランダ語の辞書に戻されてしまう。
FW3.xまではこの面倒を回避するパッチがあったが、FW4.xではなくなってしまった。そこで別のやり方。
mobilereadのNew dictionaries for kobo (no limits)のやり方。
簡単に手順を言うと、
1.いつものパッチの[バージョン番号]_source/libnickel.so.1.0.0.patchに、上記リンクのパッチ(`Allow searches on Extra dictionaries`)を追記して(Spoilerのところ全部)、KoboRoot.tgzを作成、FWを更新。
2. カスタム辞書を用意する。
Index of Custom Dictionaries for Kobo eReaderにいろいろ辞書がある。
dicthtml-○○.zipの〇〇の部分は2文字で、koboにある辞書と重ならないようにする。
3. kobo端末の\.kobo\Kobo\Kobo eReader.confを編集。
[ApplicationPreferences]セクションに
ExtraLocales=〇〇, 〇〇
の行を追記する。dicthtml-〇〇.zipの〇〇を入れていく。
4. 辞書ファイル(dicthtml-〇〇.zip)をkobo端末の\.kobo\dict フォルダにコピー。
5. データベース(KoboReader.sqlite)に、好きなデータベース用プログラムを使って、辞書のデータを追加する。
Dictionaryテーブルに
Suffix: -〇〇 (-e1など、頭にハイフン)
Name: 辞書の名前(〇〇辞典 好きなように)
Installed: true
Size: 辞書のサイズ(バイト)
LastModified: "" (空っぽ)
IsSynced: true
のように、辞書毎に書き入れていく。
6. USB接続を解除、kobo端末を再起動。
と、こんな感じだが、いちいち手動入力するのが面倒なので、自分用に適当にスクリプトを作成した。
手順の3.から5.までをほぼ自動化した。辞書名の一覧表だけは作るが、Kobo eReader.confの手動書き換えや、データベースの手動入力はしなくて済む。
使う人がいるのかわからないが、いちおうアップしておく。
ダウンロード: set_extradict.zip
*Kobo eReader.conf とKoboReader.sqliteを書き換えるので、この2つをバックアップしてから作業すること。
すでにインストールしていたカスタム辞書を今回ファイル名を変えてインストールし直すつもりなら、古いカスタム辞書を削除してから作業したほうがいい。(「設定」 > 「言語/辞書」 > 「辞書」の「編集」で、中身を差し替えているカスタム辞書のチェックをはずす)
○手順
いつものパッチの[バージョン番号]_source/libnickel.so.1.0.0.patchに、上記リンクのパッチ(`Allow searches on Extra dictionaries`)を追記して(Spoilerのところ全部)、KoboRoot.tgzを作成、FWを更新したら、
1) set_extradict.zipを解凍。
その中のextradictフォルダを、PCにつないだkoboドライブの一番上にコピー。
さらに、 追加するカスタム辞書(dicthtml-XX.zip)を同じextradictフォルダにコピー。
2) extradictフォルダ内の、dict_name.lst に辞書ファイルと辞書名の対応表を作る。
書式:
dicthtml_XX.zip=辞書の名前
XXはkoboの辞書にないもの。2文字で。
例:
dicthtml_e1.zip=English - German Dictionary
dicthtml_d2.zip=English Dictionary(WordNet)
これだけは手動で。
左辺が辞書ファイル(dichthtml_XX.zip)、右辺がデータベースに登録する辞書名(好きにつける)。これを=(半角)でつなぐだけ。また、dichthtml_XX.zipはかならず行頭(前にスペースなどを入れないこと)。
3) telnetでkoboにログインして、以下のコマンド
$ cd /mnt/onboard/extradict (Enter)
$ killall nickel
$ ./set_extradict.sh
(処理が終わってプロンプトが戻ったら)
$ reboot; exit
おしまい。動作確認したら、extradictフォルダは削除してよい。
データベース編集ソフトを使うより楽なはず。
-- 追記
下のリンクのランチャーをインストールしてないと、sqlite3がないんだった。つまりスクリプトが使えない・・・。
インストールしていない場合は、ランチャーのKoboRoot.tgzを解凍して、sqlite3を取り出して、koboの適当な場所にコピーしてやれば使える。あとset_extradict.shを1行書き換える。
たとえば、extradictフォルダにsqlite3をコピーしたら、set_extradict.shの最初にある
dbprg=$dotkobo/db_scripts/sqlite3 を
dbprg=/mnt/onboard/extradict/sqlite3 に変更
これでOK。CFWを使っている場合はsqlite3はインストールされているので、そのパスに変更。
-- 追記おしまい
○telnetが使えない場合/ランチャーを使っている場合
ランチャーにスクリプト(set_extradict.sh)を登録してやればいい。
1)と2)は上と同じ。
3) extradictフォルダにあるset_extradict.shをkobo端末の\.kobo\db_scriptsフォルダにコピー。
4) \.kobo\db_script\applications.in をエディタで開いて、スクリプト(set_extradict.sh)を登録。
Extra辞書追加 = set_extradict.sh
のように追記(場所は好きなところに。左辺の「Extra辞書追加」も好きなようにつければよい)。
5) koboを再起動(ランチャーのメニューが更新されないので)。
再起動後、ランチャーからスクリプトを実行する。
(ランチャーメニューの他のスクリプトと違って、「更新中」の黒い画面にはならない。画面が真っ白になるが、処理が終わればランチャー画面に戻る。)
readme.txtにも手順は書いておいた。
何度も使うものではないが、データベースが壊れて作り直した時などにはいるかもしれない。FW4.2.xxで導入された「アカウントの復元」とやらを実行した時なんかも必要になるのか?
| 固定リンク
「kobo」カテゴリの記事
- 2022年新モデル Kobo Clara 2E 新リーク情報(2022.08.08)
- 2022年 新モデルはKobo Clara 2E のようだ(2022.08.05)
- Kobo: アップデート 4.32.19501(2022.04.16)
- Kobo Sage:バッテリー消費とkoreaderの対策(2022.04.19)
コメント