###手順1~applicaton.propertiesの設定~
src/main/resources/application.propertiesに以下の様に書きます。
日本語環境でロケールがjaの場合、messages_ja.propertiesを読み込む。
spring.messages.basename=messages //ファイル名(拡張子不要)
spring.messages.cache-duration=-1
spring.messages.encoding=UTF-8
###手順2~messages.propertiesの設定(メッセージ用ファイル)~
src/main/resources/messages.propertiesを作成
messages.propertiesというファイルがないと messageSource の auto-configuration が実行されないため、起動時にエラーメッセージ出るので、空ファイルを作成しておくこと。
##多言語化
多言語化する時には、messagesの後ろにロケールを示す文字、例えば英語(en)なら、messages_en.properties
,日本語ならmessages_ja.properties
のようにファイルを用意することになります。
今回は日本語を意味するロケールmessages_ja.properties
を作成。
# ハローワールド
hello.world=ハローワールド
###手順3~Java側での参照~
MessageSource をプロパティとして定義する。
@Controller
public class UserController {
@Autowired
protected MessageSource messageSource;
@RequestMapping("/")
public String hello(Model model) {
model.addAttribute("Msg", messageSource.getMessage("hello.world", null, Locale.JAPAN));
return "hello";
}
}
###手順4~HTML + thymeleafでの参照~
<h1 th:text="${Msg}">XXXXX</h1>
###その他~HTML+tymeleafで直接参照する~
<h1 th:text="#{hello.world}">XXXXX</h1>