play frameworkで多言語化する①

playでは言語の検出を以下の順番で行う。

  • Contextlangに値が設定されている場合は使用する。
  • ②Cookie内のPLAY_LANGに値が設定されている場合は使用する。
  • ③リクエストヘッダのAccept-Languageに値が設定されている場合は使用する。
  • ④アプリケーションのデフォルト言語を使用する。

ということで、手っ取り早く多言語化して、ユーザー毎に言語を設定したい場合、
②を使用する。

何かしらのイベントで以下のスクリプトを実行してCookieを書き換えればよい。

// クッキーを設定
document.cookie = "PLAY_LANG=" + "ja";

参考ページ(https://www.playframework.com/documentation/2.6.x/JavaI18N)