スプリングメッセージソースの設定
メッセージ管理機能を使用するには、springが提供するメッセージソースをspringbinとして登録するだけで、メッセージソースはインタフェースです.したがって、インプリメンテーションは、ResourceBundleMessageSourceをSpringBinとして登録するだけでよい.
直接登録
@Bean
public MessageSource messageSource() {
final ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("messages", "errors");
messageSource.setDefaultEncoding("utf-8");
return messageSource;
}
basenames:プロファイルの名前を指定します.メールとして指定されている場合は、メールです.propertiesファイルを読み込み、使用します.より多くの国際化機能を適用するには、message enを使用します.properties, messages_ko.propertiesのように、ファイル名の最後に言語情報を与えればよい.
国際化されたファイルがなければ、メールを送ります.デフォルトではproperties(言語情報のないファイル名)が使用されます. ファイルは/resources/messagesにあります.propertiesに置けばいいです の複数のファイルを一度に指定できます. 上のコードは、errorsの2つのメッセージを指定します. defaultEncode:符号化情報を指定します.ばね起動
スプリング・ブートを使用すると、スプリング・ブートはメッセージ・ソースを自動的にスプリング・ビンとして登録します.スプリング起動メッセージソースの設定
スプリング・ブートを使用して、メッセージ・ソースを次のように設定できます.application.properties
spring.messages.basename=messages,config.i18n.messages
スプリング起動メッセージソースのデフォルト値
spring.messages.basename=messages
メッセージソースがspring beanとして登録されておらず、springブートに関連する他の設定がない場合は、デフォルトでメッセージとして登録されます. 、message enによると.properties, messages_ko.properties, messages.propertiesファイルを登録すると自動的に認識されます.スプリングの国際メッセージの選択
メッセージ機能は、言語を選択するためにLocale情報を理解する必要があります.最終的には、言語を選択するにはLocle情報を知る必要があります.Springは言語を選択する際に基本的にAccept-Languageヘッダの値を使用します.
LocaleResolver
スプリングはLocaleResolverというインタフェースを提供し、LocaleResolverの選択方法を変更することができますが、Spring Bootは基本的にAcceptor-Lamerialを使用するAcceptorHeaderLocaleResolverを使用しています. public interface LocaleResolver {
Locale resolveLocale(HttpServletRequest request);
void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale);
}
LocaleResolverの変更
Locale選択を変更する場合は、LocaleResolverのインプリメンテーションを変更してCookieまたはセッションベースのLocale選択機能を使用できます.
Reference
この問題について(スプリングメッセージソースの設定), 我々は、より多くの情報をここで見つけました
https://velog.io/@hyun6ik/스프링-메시지-소스-설정
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol