WikipediaをXTBook用に変換する方法

ここでは、NexHawks氏が配布しているオフラインWikipediaビューア、XTBook用のWikipediaデータの作り方を紹介します。
なお、変換にはNexHawks氏が配布している変換用ソフト、MkXTBWikiplexusのインストールが必要になりますので、インストールがまだの場合はこちらの記事を参照してインストールを行ってください。
※Windows環境を前提として説明していきます。

1.Wikipediaデータのダウンロード

・Wikipediaの場合

日本語版の最新版をダウンロードするには、
http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2 をダウンロードしてください。
他言語版をダウンロードするには、「jawiki」を他言語版のもの(英語版ならenwiki)に書き換えてください。

※現在画像ファイルの提供は中止されています。

・Uncyclopediaの場合

日本語版の最新版をダウンロードするには、
http://download.uncyc.org/ja-wiki.zip をダウンロードしてください。
日本語版の画像をダウンロードするには、
http://download.uncyc.org/ja-images.zip をダウンロードしてください。
※画像の変換方法は現在わかっておりません。
2015/08/29 追記 画像の変換方法が判明しました。こちらの記事をご覧ください。

他言語版をダウンロードするには、「ja」を他言語版のもの(英語版ならen)に書き換えてください。
※画像がない言語もあります。

全ファイルの一覧を表示するには、http://download.uncyc.org/にアクセスします。



2.データの変換

変換は以下のワークフローにしたがって行います。


まず、ダウンロードしたデータを解凍します。(Windowsの場合はLhaplusやExplzhなどを利用します。)
解凍が完了したら、xmlファイルをMkXTBWikiplexusのbuild.unixフォルダに移動します。

移動ができたら、Cygwinを起動して以下のコマンドを実行します。(ここではMkXTBWikiplexusをCドライブ直下にインストールしたものとして進めていきます。)

$ cd /cygdrive/c/MkXTBWikiplexus/build.unix/
$ ./MkXTBWikiplexus-bin -o [辞書バンドル名(データ出力フォルダ名)]  < [xmlファイルの名前]


[辞書バンドル名]には、出力するXTBook用のデータの名前を指定します。以下の命名規則に従って入力します。

[Wiki名]-[データの日時].xtbdict

[Wiki名]
[言語(2文字)]+un(アンサイクロペディアの場合)+wiki
という書式です。
たとえば、日本語版ウィキペディアは「jawiki」、
英語版アンサイクロペディアは「enunwiki」となります。
[データの日時]
YYYYMMDDの8桁の数字です。
たとえば、2014年7月14日は、「20140714」になります。


よって、たとえば、2014年7月14日の日本語版Wikipediaならば、「jawiki-20140714.xtbdict」になります。


[xmlファイルの名前]には、先ほど移動してきたxmlファイルの名前を指定します。(ファイル名の途中まで入力すれば、Tabキーを押すことで残りが自動的に入力されます。)

変換には数十分〜数時間かかります(PCの性能によります)。


完了したら、次に以下のコマンドを入力します。

$ ./YomiGenesis-bin < [辞書バンドル名]/BaseNames.csv > Yomi.txt

[辞書バンドル名]には先ほど命名したバンドル名を入力します。

変換には数十分〜数時間かかります(PCの性能によります)。
少なくとも先ほどよりは時間がかかります。

完了したら、最後に以下のコマンドを実行します。

$ ./MkXTBIndexDB-bin -o [辞書バンドル名]/Search Yomi.txt



以上でデータの変換は完了です。


※2014/07/24追記 Articles.dbは専用形式(rax)で圧縮することができます。

Articles.dbを圧縮するには以下のコマンドを実行してください。

$ cd [辞書バンドル名]
$ ./MkRax-bin -o Articles.db.rax  < Articles.db

これによってArticles.db.raxが生成され、Articles.dbの代わりとして利用できます。



3.Info.plistファイルの作成

次に、辞書バンドルの情報について記述したInfo.plistファイルを作成します。
CrescentEve等の文字コードを指定できるエディタを開いてください。
Info.plistファイルのサンプル(日本語版Wikipediaのもの)を以下に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>XTBDictionaryIdentifier</key>
	<string>com.nexhawks.XTBook.Wikipedia</string>
	<key>XTBDictionaryScheme</key>
	<string>jawiki</string>
	<key>XTBDictionaryTypeIdentifier</key>
	<string>com.nexhawks.XTBook.Wikiplexus</string>
	<key>XTBWikiplexusArticlesFile</key>
	<string>Articles</string>
	<key>XTBWikiplexusTemplatesFile</key>
	<string>Templates</string>
	<key>XTBWikiplexusSiteInfoFile</key>
	<string>SiteInfo.plist</string>
	<key>XTBWikiplexusSearchFile</key>
	<string>Search</string>
	<key>XTBWikiplexusSchemeForImages</key>
	<string>jawikiimg</string>
	<key>XTBDictionaryDisplayName</key>
	<string>Japanese Wikipedia</string>
</dict>
</plist>

このうち、変更する必要があるのは色をつけた4箇所です。

XTBDictionaryIdentifierには、Wikipediaの場合はcom.nexhawks.XTBook.Wikipedia、Uncyclopediaの場合は、com.nexhawks.XTBook.Uncyclopediaを指定します。
XTBDictionarySchemeには、辞書バンドル名を命名したときのWiki名を指定します。
XTBWikiplexusSchemeForImagesには、Wiki名に後ろにimgをつけたものを指定します。
XTBDictionaryDisplayNameには、辞書の表示名(日本語版Wikipediaなら Japanese Wikipedia など)を指定します。日本語などを入力した際には保存時の文字コードに注意。必ずUTF-8です。

以上の変更が完了したら、文字コードを「UTF-8」にして、辞書バンドルのフォルダに保存します。



XTBookへのインストール

最後に、辞書バンドルをXTBookにインストールします。

やり方はいたって簡単で、辞書バンドルのフォルダをXTBookのDictionariesフォルダにコピー(移動)させるだけです。



以上が変換の方法でした。本当にお疲れ様でした!!!


(c) 2014 Grain