wpac2014head_day18

18日目です。
今日はどんなお題がくるんでしょうか。

本日のお題

複数言語でサイトを作るときに使えるプラグインなどを教えてください。

ということで本日は多言語対応(マルチリンガルサイト化)についてのお話です。

といっても他言語化については、Codexにも詳しく載っています。
WordPress で多言語サイトを作成する – WordPress Codex 日本語版

なのでそこ読んでねって言ってしまえばおしまいなんですが、それだとあんまりにも書く内容がなくなってしまうのでCodexの説明に加え、自分なりの解釈もちょっと加えつつプラグインを紹介したいと思います。
といってもすべてを使ってみたわけではないので使い勝手とかまではわかりません。

気が向いたらやってみようかと思いますが、今ちょっと仕事のほうがかつかつなんで、もう少し余裕ができてきたら…にしようとおもいます。

多言語対応の仕組みと対応するためのプラグイン

まず、そもそもの多言語化の方法ですが、別の言語で表示するためには、どっかしらに別の言語での原稿を用意して、それを現在の言語設定にあわせて出し分ける…という形が基本です。または辞書データを持たせてリアルタイムに変換するか、でしょうか?

具体的なやり方としては大きく以下の4つの方法があります。

それぞれおおまかに以下の様な特徴があります。

  内部完結(外部サービスを使わない) 単一サイトモード(?)で動作 言語毎に投稿
複数の投稿を結びつける方法
一つの投稿に複数の言語の原稿をもたせる方法 ×
外部の翻訳サービスを埋め込んでしまう方法 × ×
マルチサイト機能を使う方法 ×

ではそれぞれ詳しく見てみましょう。

複数の投稿を結びつける方法

1つは、別々の2つの投稿を作成し、それぞれを別言語の関係になるようにリンクでつなぐというものです。

例えば投稿1に日本語の記事があり、投稿2に同じものの英語版があるとします。
その状態で日本語と英語の切り替えボタンを押したら投稿1からは投稿2に、投稿2からは投稿1にリンクしてあげればいいわけですね。

この手法を採用しているプラグインとしては、以下の様なものが挙げられます

あとは、WPMLなんてのもありますが、これは有料です。

別言語版が違う投稿になってるので管理画面の基本構造は一緒、つかいかたもほとんど一緒。でもどっちかのページを消したり作りなおしたりするとなんか面倒くさくなりそう。そんなかんじのやつです。

1つの投稿に複数の言語の原稿を持たせる方法

1つの投稿のなかにメタデータで他の言語の原稿をいれておいて、切り替えボタンだとかURLのフラグだとかでどちらを表示するのかを決定する方法です。

この方法を採用しているもので有名なのが qTranslate ですね。

言語ごとに投稿を消費しないことや、すべての言語を同じページで管理できるのが特徴ですが、逆に全部同じ管理画面なので言語ごとに担当者が違うときとかはややこしくなるかも。

qTranslate の場合、管理画面の「ビジュアル」「テキスト」というタブのところにどんどん言語ごとのタブが増えていき、「言語タブ」と「ビジュアル・テキスト切り替えタブ」の組み合わせで管理しますので、今表示してるのが「日本語のビジュアルモード」なのかとか、「英語のテキストモード」なのかとか、若干ややこしい感じがしますね。慣れの問題かもしれませんけど。

外部の翻訳サービスを埋め込んでしまう方法

Googleサイト翻訳みたいな自動翻訳サービスを埋め込むとかして翻訳を完全に外に投げてしまう方法です。この方法は完全に外のサービスを使うので、自分で原稿を用意する必要がないのが特徴ですね。ただ同時に翻訳精度もそのサービスによって変わってくるので若干ちぐはぐな翻訳になる可能性はあります。

この方法を採用しているプラグインとしては、

などがあるみたいです。

一番上と下2つは似ているようで微妙に仕組みが違うっぽいです。

なんにしても仕事とかで他言語サイトを実装したい場合、機械翻訳ではちょっと…ってことのが多いと思うのであんまり使う機会はないかもしれません。もし機械翻訳でもある程度の精度を求めたいならば、もと言語の原稿の内容にも注意が必要でしょう。言い回しとか。

ただ、翻訳完了後さらに自分で手直しできるものもあるみたいなので、そうやって精度を上げていくのはありだと思いますが…そこまできたら全部自分で翻訳しろよって気もしますよね。

予め自動翻訳であることを断った上で読む人に脳内で補完してもらう前提の、おまけレベルな多言語対応だったり、個人的なサイトでついでで多言語化しておきたいなんて場合はこれでも十分かもしれませんけど。

マルチサイト機能を使う方法

知っている人も多いかもしれませんが、WordPressには1つの本体で複数のブログを作成するマルチサイトという機能があります。

これを使って言語ごとにブログを作成し、お互いにピンバックなどを利用して記事同士をつなぐ方法です。

はじめに紹介した複数の投稿をつなぐ奴をもっと大きなスケールにした感じですかね。

言語毎のWordPressは独立してますので、記事レベルでのスラッグは統一できるはずです。プラグインがどういうふうにその辺を制御してるのかは試してないんでなんとも言えないんですが、予想が正しければ、

 みたいな感じである意味一番多言語サイトっぽくも見えますね。 ((ちなみにマルチサイト上で参加サイトごとに同じスラッグを使うことは可能みたいです。自動的に入る Hello World 投稿のスラッグがいずれも hello-world でしたので。というかそうしないとなにかと面倒ですよね。考えてみれば。))

この方法を採用しているプラグインには、

などがあります。

先程も言ったように、それぞれのサイトは独立したWordPressサイト(ネットワークに参加してるという意味では完全に独立してるのとはまた違いますが)ですので、プラグインを切ればたぶんただの言語ごとに独立したサイトになるはずです。

…となんか割りといいことだらけに見えなくもないですが、マルチサイト自体が情報が少ないのがちと難点かもしれませんね。

マルチサイトの有効化の手順も若干複雑なので慣れてない人にはハードルが少し高いかもしれません。ローカルに構築するときにも若干罠があったのですが、この辺はマルチサイトの話なんでまたいずれ…。

ちなみに紹介したの以外にもたくさんの他言語化プラグインがあるようですよ
いずれも良い点、悪い点が存在しますので目的や規模に合わせてプラグインを選ぶのがいいかと思います。

 

これはWordPressひとりアドベント・カレンダー2015の記事です。
WPAC2015Soloについてはこちらをご覧ください。

コメントする