ウェブサイトを多言語化しようとおもっています。  
その際、色々なサイトのルーティングやサブドメインといったURLによる指定方法がまちまちなんだと気づいて  
どのようなURLで多言語化すればようのか悩んでいます。

具体的には以下の様なケースです

  * ルーティングで多言語化

> **LINE**  
>  <http://line.me/en-US/>
>
> **メルカリ**  
>  <https://www.mercari.com/jp/>
>
> **クックパッド**  
>  <https://cookpad.com/us>

  * URLパラメタで多言語化

> **ピクシブ**  
>  <https://www.pixiv.net/login.php?lang=ja>

  * サブドメインで多言語化

> **スタックオーバフロー**  
>  <https://ja.stackoverflow.com/>

  * そもそもURLパラメタもルーティングもないが多言語化できている

> **ニコニコ動画**  
>  <http://www.nicovideo.jp/>

多言語化についての方法は様々ですが  
どの方法が多言語化にもっとも適切で将来性がある設計方法なんでしょうか？  
また、なぜこんなにもたくさん方法に散らばりがあるんでしょうか？
CC BY-SA 3.0
2016-04-02T23:10:38.203
23692
2016-04-03T03:17:15.513
2017-04-13T12:52:38.920
-1
5505
question
url-routing
ウェブサービスの多言語対応のためのURL設計について
突き放した言い方をすれば、ウェブサイトの要求によって最適な方法は異なります。後付の説明になりますが、各方法のメリット・デメリットを挙げてみますので、ご自身のウェブサイトの要求に鑑みて判断してください。

まずは **ルーティング**
によるものですが、メリットは綺麗に整理できて、かつ1つのアプリケーションで多言語対応できる、メンテナンス性の高さでしょう。デメリットは予め多言語となることを計画しURLを設計しておかないと、あとから変えるのは手間である点ですね。

次に **URLパラメタ**
によるものは、既に存在するウェブサイトのURL/パスを変更せずに多言語化対応できる強みがあります。デメリットは、利用しているフレームワーク次第では回避できることですが、論理的にはページ毎に多言語対応しているかどうか確認する手間が生じることになります。

この2つは実装的には可換である場合が多いのですが、URLの解釈上は、前者は存在するURLに対してページがその言語にローカライズされていることは保証されるのに対し、後者はURLからは保証できない、そういった視点も導入できるでしょう。

最後に **(サブ)ドメイン**
によるものは、言語ごとに独立した運営・管理ができる点がメリットです。デメリットはその裏返しで、対応言語が増えるたびに管理の手間が増える点となります。

例えば利用者が多かったりネットワーク的に遅くて、その対応策として特定言語の場合だけ別の場所のサーバーを利用するという場合に、 **ドメイン**
ならば容易に対応できますが、 **ルーティング** では技術的ハードルが高くなります。さらに **URLパレメータ** では困難を極めるでしょう。

以上、ある方法のメリットは他の方法のデメリットでもあったりしますので、ご自身の要求に照らし合わせて検討してください。
CC BY-SA 3.0
2016-04-03T03:11:21.000
23693
2016-04-03T03:17:15.513
2016-04-03T03:17:15.513
208
208
23692
answer