LiferayのWebページにはどの言語が設定されていますか?

問題

Webページの言語設定を行うために使用される複数の異なる設定があります。 ユーザーがサイトにアクセスしたときに最終的に使用される言語は何ですか?

環境

  • Liferay DXP 7.2
  • Liferay DXP 7.1
  • Liferay DXP 7.0

解決

匿名ユーザー向け

  • URLに言語コード(/ en、/ esなど)が含まれている場合、使用される言語は、web.xmlで定義されているI18nサーブレットから取得されます。
  • URLがない場合は ではない言語コードが含まれている、使用される言語は、の値からある インスタンスの設定 > デフォルト言語 ため、デフォルトのポータルプロパティの locale.default.request = falseを

portal-ext.propertiesで locale.default.request = true が設定されている場合、Liferayは設定された順序に従ってユーザーのブラウザーで定義された優先言語を使用し、現在のサイトで利用可能な最初の言語を選択します。たとえば、ユーザーのブラウザには、チェコ語とスペイン語の2つの優先言語があります。サイトの使用可能な言語にチェコ語が含まれていない場合、スペイン語が使用されます。ブラウザにサイトで使用できない優先言語が1つしかない場合(この例ではチェコ語)、インスタンス設定で定義されているデフォルト言語に直接ジャンプします。

認証済みユーザーの場合

  • 使用される言語は、ユーザーの アカウント設定 > 言語設定された値からのものです。
  • ユーザーがアカウント設定で設定した優先言語とは異なる言語コードを含むURLにアクセスすると、ページが別の言語で表示されていることをユーザーに通知するメッセージがポップアップし、次のオプションが表示されます。
    • ユーザーのアカウント設定で構成された言語を含むページにユーザーをリダイレクトするためのリンク。
    • ユーザーのアカウント設定の言語設定を現在のページで使用されている言語に直接変更するためのリンク。

追加情報

使用される言語は、ブラウザのCookieのGUEST_LANGUAGE_IDに保存されることに注意してください。 手動で削除しない限り、以降のリクエストで使用されます。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています