Skip to content

記事データの作成

watamario15 edited this page Aug 16, 2023 · 5 revisions

xtbconv を使用すると、以下の作業を自動で行うことができます。

以下のワークフローに従って変換を行います。

Work flow

XML ダンプの取得

各 Wiki サイトが公開している XML ダンプをダウンロードするか、WikixWikiteam 等のツールを使用して取得します。

Wikimedia 財団は運営している Wiki の XML ダンプを公開しており、下記のリンクからダウンロード可能です。他言語のファイルはリンクの jawiki を変更することで入手可能です。例えば、英語版は enwiki です。

Uncyclopedia 日本語版は https://download.uncyc.org/ja-wiki.zip からダウンロード可能です。ダウンロード可能な全ファイルを表示する場合は https://download.uncyc.org/ にアクセスします。ただし、2019 年以降データが破損しています。

ダウンロードしたファイルが圧縮されている場合は、7-Zip 等を用いて解凍します。

変換

以下のコマンドを実行します。PC の性能や Wiki の規模によりますが、変換には数十分から数時間かかります。

MkXTBWikiplexus-bin -o [output name] < [xml file name]

[output name] には出力するファイルの名前を Wiki名-変換日.xtbdict の形式で指定します。Wiki 名は 言語 + Wiki短縮名 となります。例えば、Wikipedia 日本語版は jawiki、Uncyclopedia 英語版は enunwiki、Wiktionary 日本語版は jawiktionary となります。変換日は YYYYMMDD の 8 桁です。例えば、2023 年 1 月 1 日は 20230101 となります。よって、2023 年 1 月 1 日の Wikipedia 日本語版を変換する場合は jawiki-20230101.xtbdict と入力します。つまり、2023 年 1 月 1 日の Wikipedia 日本語版を変換する場合は以下となります。

MkXTBWikiplexus-bin -o jawiki-20230101.xtbdict < jawiki-latest-pages-articles.xml

完了したら次のコマンドを実行します。これも数十分から数時間かかります。

cd [output name]
YomiGenesis-bin < BaseNames.csv > Yomi.txt

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

MkXTBIndexDB-bin -o Search Yomi.txt

圧縮(任意)

変換によって作成された Articles.db は XTBook 専用の rax ファイルに圧縮可能です。rax は透過的圧縮であるため、解凍することなくそのまま辞書として使用できます。Articles.db を rax 形式に圧縮するには次のコマンドを実行します。圧縮後は元の Articles.db は削除しても構いません。

MkRax-bin -o Articles.db.rax  < Articles.db

なお、パイプを用いて MkXTBWikiplexus-bin と圧縮を同時に行うこともできます。Articles.db ファイルを介さない分、ストレージ使用量の削減と変換速度の向上を図れます。

MkXTBWikiplexus-bin -o [output name] -s < [xml file name] | MkRax-bin -o Articles.db.rax

Info.plist ファイルの作成

最後に辞書ファイルの情報を記述したファイルを BOM なし UTF-8 で作成します。以下の 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.ja</string> <!-- (1) -->
	<key>XTBDictionaryScheme</key>
	<string>jawiki</string> <!-- (2) -->
	<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>  <!-- (3) -->
	<key>XTBDictionaryDisplayName</key>
	<string>ウィキペディア 日本語版</string>  <!-- (4) -->
</dict>
</plist>

(1) の部分は Wikipedia 日本語版であれば com.nexhawks.XTBook.Wikipedia.ja、Uncyclopedia 日本語版は com.nexhawks.XTBook.Uncyclopedia.ja となります。(2) の部分は [output name] を決めたときの Wiki 名(jawikijawiktionary)となり、(3) の部分はそれに img を付け足したものとなります。(4) の部分は表示したい辞書名を指定します。書き換えが完了したら文字コードを UTF-8 にして、ファイル名 Info.plist で Articles.db(圧縮した場合は Articles.db.rax)等のファイルがあるフォルダに保存します。

なお、主要なものはこちらに掲載しています。

これで辞書ファイルの作成は完了です。

Clone this wiki locally