Shinichi Nishikawa's

WordPressの多言語化をコアがどうサポートするのかしないのか、プラグインで複数言語をどう持つのかについての議論がWordCamp Europe 2015で行われたらしい

CC BY-SA 2.0 Andrey Savchenko

Photo CC BY-SA 2.0 Andrey Savchenko

WordCamp Europe 2015 で Drupal のコントリビューターを招いて、WordPressの多言語機能について話し合ったということで、Make.にレポートが上がってました。ヨーロッパはいろんな言語が混ざり合っていて、複数言語を話す人(Polyglots)もたくさんいる土地柄なので、この話が欧州で行われるのはなるほど感があります。

WordPress › WordCamp Europe 2015 – Multilingual Discussion « Make WordPress Core

Drupal の多言語機能の概要(Drupalの人の談話)

Drupalはすでにいくつかの多言語用の機構が組み込まれていて、Drupal 7ではコンテンツが何語なのかを指定することができるモジュールがある。WPにもあるi18nの機構もすでにある。

リリース予定のDrupal 8では、コンテンツの翻訳用のUIを提供する。

7と8でデータの持ち方が違う(西川感想:え、マジで?WordPressが常にアップデート前提でみんなで進む感じなのに比して、Drupalはバッサリ捨てて前に進むというのは聞いていたけど、もう、本当に7でできたサイトは8にはいけない感じなのがすごいですね。。。)。

7では、ポストがコピーされる。問題化するのは他のモジュール(プラグインかな?)が多言語をサポートしていない場合に、全部表示されちゃったりする。

8では、ポスト自体はコピーせずポストメタ的なところに保存する。タイトルとかコンテンツなどなどを。

WPからDへのQとA

Q. Drupalはどうやってひとつのコンテンツを言語違いということでグルーピングしてるの?
A. もしポストが他のポストの翻訳なのであれば、リンクするためのフィールドが持たされている。D7は2つのポストに分かれてるからそれでひもづけるということ。D8の場合には1ポストなのでメタ情報として、言語属性を持ちつつ保存される。
Q. 問題化しているのはどんなこと?
A. (西川注:D7でのことだと思われる)2個の違うポストになっているので、プラグインが多言語化を考慮していなければ、システムはそれらを異なるコンテンツだと認識するので問題になる。UIとか。たとえば、レイティング(西川注:星をつけるとか)のプラグインがあったとして、同じコンテンツで言語違いのポストは、そのレイティングをシェアしたいはず、など。

コンテンツに言語属性を持たせるいくつかのWordPress プラグインがとっているアプローチ

言語とコンテンツをどのようにまとめたり識別したりしているのか、いくつかの多言語化プラグインを見てみた。

提案

まず、WordPress自体が多言語化をサポートするのはよして、プラグインに任せることで、いろんなシナリオに対応できるようにするのがよい。

ただし、コアがなんらかのサポートを提供することで翻訳プラグインがよりよくなるようにできるはず。

提案1

コンテンツ(ポストやターム)を言語でマーキングするためのミニマルな方法を、コアが持つ

提案2

たとえばウィジェットみたいなコンテンツオブジェクトの文字列を翻訳する際のお作法や標準的な手法をコアが提供する

他に話し合われたこと

モバイルバージョンを終了