開発者向け情報

開発環境

本ツールの開発/ビルドは以下の環境で行われています。 下記以外の環境を使用する場合は、プロジェクト設定の調整等が必要と思われます。

IDEVisual Studio Community 2019
コーディングスタイルチェックStyleCop 4.7添付のSettings.StyleCopを使用 ※要バージョン更新
インストーラ作成WiX 3.11通常の開発には不要
APIドキュメント作成Sandcastle 2.6.1062.1通常の開発には不要 ※要バージョン更新
Sandcastle Help File Builder 1.9.3.4 Beta 2
HTML Help Workshop 1.0

※ APIはここ最近のバージョンではほぼ変化がないため、以前のものをそのまま同梱しています。そのため、API用のツール類はIDE等とバージョンが同期していない可能性があります。
※ 2015年以降はソースの編集は無く、ライブラリのバージョンアップ等のみ行っています。そのためもし開発を再開する場合は、現行バージョンに合わせて再整備が必要です。

ソース構成

ソリューションは以下の4プロジェクトから構成されています。その他にインストーラ関連のフォルダが存在します。

HmLib汎用的なクラス等を抽出したライブラリ
HmLibTestHmLibの自動テスト
WptscsWikipedia 翻訳支援ツール本体
WptscsTestWptscsの自動テスト

本体のソースは、大まかに画面周り, MediaWikiに関する設定/処理を扱うモデル, それ以外の設定を扱うモデル, MediaWikiのページを解析するパーサー, 実際の処理の流れを扱うロジック, その他ユーティリティ、から構成されています。 クラス間の繋がりについては、ソース内にastah* communityで作成したUMLのクラス図が含まれているため、そちらも参照ください。

使用API

Wikipedia (MediaWiki) の次のAPIを使用しています(いずれもパスは設定ファイルに定義)。

http://en.wikipedia.org/w/api.php?format=xml&action=query&meta=siteinfo&siprop=namespaces|namespacealiases|interwikimap名前空間情報取得に使用
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Example&redirects&rvprop=timestamp|content&format=xmlページ情報取得に使用
http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&titles=Example&redirects=&lllimit=500&format=xml言語間リンク情報取得に使用

ユーザーエージェント

本ツールは以下のようなユーザーエージェントでサーバーに接続しています。
また、リファラーには入力した記事名のページのエクスポートパスが設定されます。

Translation Support for Wikipedia/バージョン番号Ver 1.20以降
WikipediaTranslationSupportTool/バージョン番号Ver 1.11以前

※ ユーザーエージェント・リファラーは設定画面からユーザーが任意の値に変更可能です。