シングルページのロケールについて

2018年12月4日 at 11:54

多言語機能を利用してサイトを構築中です。
「規定の地域」は「日本語(ja_JP)」で、英語と中国語が追加されています。

日本語のホームからログインページへ遷移後、「パスワード再発行」をクリックすると、以下ページが中国語で表示されます。
/login/concrete/forgot_password

検証のため以下手順を試しました。

1. 使用テンプレートでLocalization::activeLanguage()を出力するよう追記

2. ブラウザのキャッシュをクリア

3. 日本語のホーム(/)にアクセス
ロケールはjaと出力されます。

4. /loginにアクセス
ロケールはjaと出力されます。

5. /login/concrete/forgot_passwordにアクセス
ロケールはzhと出力されます。


権限のないページにアクセスした際は、Forbiddenページでロケールがenと出力されます。
これらを日本語で表示するには、どのような手順が必要になりますでしょうか。


# concrete5 バージョン
8.4.3

# PHP バージョン
7.2.6

# サーバー
エックスサーバー

タグ:

Re: シングルページのロケールについて

2018年12月7日 at 15:43
その後のご報告です。
cloneamentalテーマにて検証を進めておりますが、当方環境ではプリインストールされているカスタムテンプレートを使用すると、以下のような結果になりました。


・国旗(flags)
ログインページが日本語の状態で「パスワード再発行」を押すと、以下ページが中国語で表示される
/login/concrete/forgot_password


・国旗セットデフォルト(flags_set_default)
「保存」ボタンを押すと、以下のエラーを生じる

Whoops \ Exception \ ErrorException (E_WARNING)
Invalid argument supplied for foreach()


当方ではカスタムテンプレート「国旗」のアイコン画像をテキストに変更して利用する予定でしたが、デフォルトテンプレートでは表示中の言語がパスワード再発行ページに引き継がれることを確認できました。
権限のないページにアクセスした際、Forbiddenページが元の言語に関わりなく英語で表示される事象はそのままのようです。