현지화 된 메시지를 처리 할 때 ReloadableResourceBundleMessageSource
을 사용합니다. 영어 버전 (기본값)은 sci-xxx.properties
이고 독일어 버전은 sci-xxx_de.properties
입니다.ReloadableResourceBundleMessageSource : 메시지 파일 순서가 중요합니까?
메시지가 영어 버전으로 해석되었는지 확인하는 junit 테스트가 있습니다. 로컬에서는 항상 잘 작동합니다. 독일어 버전이로드, 비록
resourceBundleMessageSource.getMessage(code, params, resolveLocale());
전화
에 통화 중resolveLocale()
로 돌아갑니다 "EN"- 트릭은 CI (젠킨스)에 실패합니다.
차이점은 resourceBundleMessageSource.toString()
출력입니다. 로컬에서는 알파 정렬 된 파일 목록을 보여줍니다. CI에 혼합하고, 내 테스트 메시지를 포함하는 commons_de 파일은 기본 파일 전에 제공 :
basenames=[messages/sci-commons_de,messages/sci-commons,messages/sci-user,messages/sci-user_de]
그래서 내가 user_de하는 commons_de에서 내 독일어 메시지를 이동, 그는 말에로드됩니다. 추측 - 이제 테스트는 녹색입니다.
그리고 정말 혼란 스럽습니다. 파일 순서가 정말 중요한가요? 올바른 주문을하려면 어떻게해야합니까? 아니면 내가 sth을 놓치고 있습니까?
나는 CI 서버가 독일어 로켈을 가지고 있지만, 내 resolveLocale()
으로 덮어 써야합니다. 맞습니까?