案内編論文編書籍編雑記編

メディアウィキで多言語対応サイトを作る方法

ウィキペディアなどに使われているCMS、メディアウィキは、データベースごとにデフォルト言語を設定するので、多言語でサイトを運営する場合には、各言語ごとにデータベースとフォルダを別にしたほうがよい。その場合、URLに表示される無意味な“wiki”の部分を、言語コードに、例えば、日本語の場合は“ja”に、英語の場合は“en”に置き換えることで、表示されるURLを、階層構造を反映したスマートなものにすることができます。

1. デフォルトのURLは使えない

PHP5.0+MySQL5.0でメディアウィキのサイトを作ると、各ページのURLは、デフォルトでは、

http://www.systemicssystem.com/wiki/index.php5?title=Page_Title

というように汚くなります。これだと、PHPのバージョンが変わった時、URLが変更され、リンク切れになってしまうかもしれません。そこで、リンクを以下のようにすることが一般に行われています。

http://www.systemicssystem.com/wiki/Page_Title

たしかに、こちらのほうが短いし、パーマリンクとしてふさわしいのですが、“wiki”という無意味な文字列が入っているのが気に入りません。また、複数言語のサイトを並存させる場合、さらに言語別にサブドメインなりディレクトリなりを作って、URLを複雑にしなければならなくなります。例えば、ウィキペディアは、以下のように、サブドメインを使って言語の区別をしています。

http://ja.wikipedia.org/wiki/メインページ

しかし、小さなサイトの場合、サブドメインを使うほどではないので、ここでは、同一ドメインのもとで、“wiki”の箇所に言語コードを表記し、言語の区別をする方法を考えましょう。そうすれば、もっと無駄のないスマートなURLにすることができます。

例えば、英語のページであれば、

http://www.systemicssystem.com/en/Page_Title

というように、そして、日本語のページであれば、

http://www.systemicssystem.com/ja/ページタイトル

というように、URLに、ドメイン名/言語コード/ページタイトルという必要最小限の情報だけを階層順に表示させるわけです。

2. メディアウィキをインストールする

ドリームホストを使う場合は、「メディアウィキのホスティング」をご覧ください。ここでは、一般的なサーバーでの方法を書きます。

まず、メディアウィキ用のデータベースを作り、その設定情報をメモしておきます。次に、このページで最新版(2009年6月現在では1.15.0)のメディアウィキをダウンロードし、ローカルサイドで解凍します。その後、FTPクライアントソフトを用いて、サーバーサイドに、言語別のフォルダを作り、その中にそれぞれ解凍したメディアウィキを、転送します。転送できないファイルがある場合は、非パッシブモードで転送します。

フォルダには、言語コード以外の名称を、例えば、“japanese”、“english”、“german”、“french”というように付けます。レンタルサーバーによっては、“.htaccess”ファイルを使うことによって、言語コードをバーチャルパスにする必要がない場合もありますが、それに関しては、このページをご覧ください。

転送が終わったら、ブラウザを使って“config”フォルダ内にある“index.php”または“index.php5”にアクセスします。URLは、例えば、

http://www.systemicssystem.com/japanese/config/index.php5

というようになります。後は画面の指示に従って、設定を行います。以下、要注意のオプションに注釈を加えましょう。

  • Object caching:Memcached や eAccelerator などのキャッシュ機能ソフトをインストールしていない場合は、No caching をチェックする。
  • E-mail notification about changes:Enabled for changes to user discussion pages only にチェックを入れると、ディスカッションに投稿があると、メールで知らせてくれる。
  • E-mail address authentication:たいていのユーザは、メールアドレスを教えることを嫌うので、Disabled にチェックしたほうがよいが、荒らし対策を厳密にしたいなら、Enabled にチェックしたほうがよい。
  • Superuser account:新規データベースを作成する権限がない場合は、チェックを入れない。
  • MySQL specific options Database table prefix:一つのデータベースに一つの MediaWiki をインストールする場合は、不要。
  • Storage Engine:規模の大きなサイトを運営するときには、並行性の高い InnoDB を選択するほうがよい。
  • Database character set:英語以外のサイトでは、Unicode (UTF-8) が用いられる。新規に UTF-8 のサイトを作るときには、MySQL 4.1/5.0 UTF-8 を選択する。

設定を終えたら、“Install Mediawiki!”というボタンをクリックします。“Installation successful!”と出れば、インストールは成功です。

3. ローカル設定

次に、FTPクライアントソフトを用いて“config”フォルダ内にある“LocalSettings.php”を上位のディレクトリに移動します(セキュリティ上の理由から、移動元からは消去します)。例えば、上の例ですと、“japanese”のフォルダに入れることになります。これをテキストエディタで開き、必要な修正を加えます。

48-49行目に、次のような箇所があります。見つからないときは、“ScriptPath”で検索してみてください。

$wgScriptPath = "/japanese";
$wgScriptExtension = ".php5";

両者の間に次の2行を書き加えます。

$wgScriptPath = "/japanese";
$wgArticlePath = '/ja/$1';
$wgUsePathInfo = true;

$wgScriptExtension = ".php5";

これで、“japanese”のフォルダ内のファイルにアクセスすると、

http://www.systemicssystem.com/ja/ページタイトル

というように表示されます(但し、Internet Explorer など、一部のブラウザでは、URLに漢字やひらがななどのキーワードを表示することができません)。

必要な設定が終わったら、保存して、“LocalSettings.php”を上位のディレクトリ、上の例ですと、“japanese”のフォルダのルートディレクトリに移転します。移転ですから、コピーとは異なって、“LocalSettings.php”ファイルを“config”フォルダ内に残してはいけません。なお、“LocalSettings.php”に書かれているパスワードなどの情報が外部にが洩れないように、ファイルの属性(パーミッション)を“700”にしておかなければいけません。

その後、“Installation successful!”の後にある“follow this link to your wiki”のリンクをクリックします。すると、

http://www.systemicssystem.com/ja/メインページ

というURLで、メインページが立ち上がります。

この後、“english”、“german”、“french”といった他のフォルダでも同様の作業を行うことにより、同一ドメインで、複数言語によるウィキサイトを運営することができます。

4. インストール後に必要な作業の一覧

以下の順番で行うことをお薦めします。各作業は、必要に応じて、別ページで詳しく解説しています。

1. アカウントの作成

メインページでアカウントを作成し、ログインして、My Preferences で、種々の設定を行います。スキンの選択もここでできますが、ここでの設定は、ログインしたユーザにしか適用されません。デフォルト・スキンの指定は、ローカル設定で行わなければいけません。

2. 拡張機能の選択

必要に応じて、拡張機能を“extentions”フォルダにアップロードします。メディアウィキの拡張機能のカテゴリー別リストは、このページに記載されています。その中で、私が有用と判断して使っているものは、「メディアウィキの拡張機能」で紹介します。

3. ローカル設定の完成

“LocalSettings.php”に必要な設定を追加します。私が有用と判断したローカル設定は、「メディアウィキのローカル設定」にまとめてあります。拡張機能をアップロードする前に、拡張機能をローカル設定に書き込むと、不具合が生じるので、要注意です。

4. ロゴ画像の取替えとスキンのカスタマイズ

メディアウィキの中にある skins/common/images/wiki.png を自分のロゴ画像に取り替えます。画像のサイズを変えるには、スキン内にあるCSSファイルを変更します。私は、スキンとしては、GuMaxDD(Drop Down Menu Series)を使っているます。これの詳しいカスタマイズの方法は、「メディアウィキのスキンのカスタマイズ」にまとめてあります。

5. インターウィキの設定

データベースへの書き込みにより、自サイト内リンクやアマゾン商品へのリンクなどを、わざわざ完全なURLでアンカータグを作らなくても、簡単に生成することができます。詳しくは、「メディアウィキのインターウィキ設定」をご覧ください。

[投稿者:永井俊哉]
ブログ内移動
カテゴリー内移動
お知らせ

このページでのコメントの受付は終了しました。本ページに関して、御意見、御質問、御批判をお持ちの方で、私に回答を求める方は、システム論フォーラムに投稿してください。

Sponsored Links
Books