-
Notifications
You must be signed in to change notification settings - Fork 1
記事データの作成
xtbconv を使用すると、以下の作業を自動で行うことができます。
以下のワークフローに従って変換を行います。
各 Wiki サイトが公開している XML ダンプをダウンロードするか、Wikix や Wikiteam 等のツールを使用して取得します。
Wikimedia 財団は運営している Wiki の XML ダンプを公開しており、下記のリンクからダウンロード可能です。他言語のファイルはリンクの jawiki
を変更することで入手可能です。例えば、英語版は enwiki
です。
- Wikipedia 日本語版
- WikiBooks 日本語版
- Wikinews 日本語版
- Wikiquote 日本語版
- Wikisource 日本語版
- Wiktionary 日本語版
- Wikiversity 日本語版
- Wikispecies
- Wikidata
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
最後に辞書ファイルの情報を記述したファイルを 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 名(jawiki
や jawiktionary
)となり、(3) の部分はそれに img
を付け足したものとなります。(4) の部分は表示したい辞書名を指定します。書き換えが完了したら文字コードを UTF-8 にして、ファイル名 Info.plist で Articles.db(圧縮した場合は Articles.db.rax)等のファイルがあるフォルダに保存します。
なお、主要なものはこちらに掲載しています。
これで辞書ファイルの作成は完了です。