시스템 로케일을 수신 (구현 자세한 내용은 여기 무관)Playframework 2.0.1DateFormatter 내가 재생 2.0/자바에서 사용자 지정 DateFormatter를 썼다
는public class DateFormatter extends Formatters.SimpleFormatter<Date>
내 응용 프로그램 구성은
을 포함 브라우저 옵션에 정의 된application.langs="pt-br, en"
언어는 사람들은 (동의-언어)
논리적으로, Lang.preferred (목록) 페이지를 반환이 포함 시스템 (JVM) 로케일, 욕실입니다
@Override
public Date parse(String date, Locale locale) {
...
}
에 내 사용자 지정 DateFormatter 수신
@Override
public Action onRequest(Request request, Method method) {
Lang preferred = Lang.preferred(request.acceptLanguages());
Logger.debug("Preferred language is " + preferred.toLocale());
return super.onRequest(request, method);
}
하지만 (그리고 슬프게도)
로케일에 같은 원하는 언어로 t-BR -US, 선호하는 것을 요청하지 않습니다.
정상입니까? 내가 여기서 무엇을 놓치고 있니? 당신은 당신의 요구의 로케일을 설정할 수있는 LocaleContextHolder을 설정할 수 있으며, Global interceptor 사용하여 각 요청에 대해
:
대신 포맷터 방법 매개 변수에 전달 된 로케일을 사용하는이 상황에 맞는 로케일을 사용 /play/src/main/java/play/data/format/Formatters.java#L203), 요청에서 Locale을 얻지 못하기 때문에 실제로 버그라고 생각합니다. 버그 (https://play.lighthouseapp.com/projects/82401-play-20/overview)를 작성해야합니다. –