日本語を含む英語以外のメッセージファイルは下記ページからダウンロードできます。
ダウンロードしたメッセージファイルをmessages/
ディレクトリ配下にコピーすることで、ブラウザに表示されるメッセージを英語以外に変更できます。
以下に記載の通り既存のmessages.propertiesよりも配置したmessages_ja.properties等が優先することになりますので、ロゴの指定等messages.propertiesに記述があればそれをmessages_ja.properties等に記述することを忘れないでください。
messages/(およびsystem/messages/)以下のファイルは更新したら、Tomcatの再起動等行わなくても、しばらくすれば反映されます。
これはconf/services.propertiesの idp.message.cacheSeconds
で制御されており、デフォルトは300で、300秒(5分)以内に反映されます。
3.2.1およびそれ以前と3.3.0およびそれ以降で配置方法が変更になっています。3.3.0およびそれ以降にアップデートした場合は、新たに上記ページから対応するファイルをダウンロードしsystem/messages/ディレクトリに配置してください。(system/以下ですが、一度配置すれば、以降のアップデートで削除されることはありません。)としておりましたが、3.3.1へのアップデートで削除されるようですので、ひとまずmessages/ディレクトリに配置するのがよいです。
conf/services.xmlを3.3.0以降の版に更新したら、旧来のmessages/以下の3ファイルは削除可能になります。(逆に言うと、services.xmlを更新しない限り旧来のメッセージファイルが参照されていますので削除すると日本語にならなくなります。)
上記URLで提供している日本語メッセージファイルについての注意点
- ボタンに表示するメッセージ(
idp.login.login
)は、Password認証フローのExtendedフローを使用した際に他の認証と合わせてアルファベットが並ぶように「Login」と英語のままです。 - ユーザが存在しない場合のエラーメッセージ(
bad-username.message
)とパスワードが間違った場合のエラーメッセージ(bad-password.message
)は、どちらも「ユーザ名かパスワードが違います。」と同じメッセージです。(英語では、「The username you entered cannot be identified.」と「The password you entered was incorrect.」と異なります)
表示されるメッセージの優先順位は下記の通りです。messages/以下およびsystem/messages/以下のファイルが候補になります。
Accept-Language
ヘッダーの一番目に一致するmessages_言語_国.properties
Accept-Language
ヘッダーの一番目に一致するmessages_言語.properties
- Javaのシステムプロパティに一致する
messages_言語_国.properties
- Javaのシステムプロパティに一致する
messages_言語.properties
- デフォルトの
messages.properties
Javaのシステムプロパティの優先順位は下記の通りです。
- コマンドラインオプション
user.language
とuser.country
- 環境変数
LC_MESSAGES
- 環境変数
LANG
ブラウザの使用言語によらずある言語を強制する方法は以下のページに説明があります。
https://wiki.shibboleth.net/confluence/display/IDP30/Switching+locale+on+the+login+page
多言語化の方法
3.3以降で、表示するメッセージを英語から日本語などに変更する場合は、下記のメッセージファイルを用意します。文字コードはUTF-8である必要があります。
messages/messages_言語[_国].propertiessystem/
日本語の場合の例を下記に示します。
messages/messages_ja.propertiessystem/
イギリス英語の例を下記に示します。
messages/messages_en_GB.propertiessystem/