다국어(message) 적용 문의
- 작성자 :
- 김*식
- 작성일 :
- 2013-04-12 14:34:48
- 조회수 :
- 1,707
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요.
프레임워크의 message를 이용하여
페이질 별로 다국어를 적용하려고 합니다.
xml에
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" >
<property name="basenames">
<list>
<value>classpath:/message/message-common</value>
</list>
</property>
</bean>
<!-- localeResolver - start -->
<!-- bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver" / -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language"/>
</bean>
<bean id="annotationMapper" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
</bean>
<!-- localeResolver - end -->
설정하고
message properties 파일을 각각 _en_US, _ko_KR를 만들었습니다.
그리고 페이지 별로
http://localhost:8080/XXX.do?language=en
http://localhost:8080/XXX.do?language=ko
식으로 호출하여 parameter로 언어를 선택하려고 하는데 설정이 적용되지 않고
무조건 한국어 message만 나옵니다.
혹시 무엇이 잘못된 것인지 질문 드립니다.
감사합니다.
프레임워크의 message를 이용하여
페이질 별로 다국어를 적용하려고 합니다.
xml에
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" >
<property name="basenames">
<list>
<value>classpath:/message/message-common</value>
</list>
</property>
</bean>
<!-- localeResolver - start -->
<!-- bean id="localeResolver" class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver" / -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="language"/>
</bean>
<bean id="annotationMapper" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor"/>
</list>
</property>
</bean>
<!-- localeResolver - end -->
설정하고
message properties 파일을 각각 _en_US, _ko_KR를 만들었습니다.
그리고 페이지 별로
http://localhost:8080/XXX.do?language=en
http://localhost:8080/XXX.do?language=ko
식으로 호출하여 parameter로 언어를 선택하려고 하는데 설정이 적용되지 않고
무조건 한국어 message만 나옵니다.
혹시 무엇이 잘못된 것인지 질문 드립니다.
감사합니다.
A
안녕하세요.. 김동식님..
메시지 파일이 _en_US, _ko_KR로 만드신 경우는 .. ?language=en_US와 같이 .. 전체 locale을 주셔야 합니다.
또는 파일명을 _en, _ko 처럼 언어 부분만 지정하시거나요..
locale 정보가 en 만 들어온 경우 _en -> default 메시지 파일 순으로 처리되고..
en_US가 들어온 경우 _en_US -> _en -> default 순으로 찾습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
메시지 파일이 _en_US, _ko_KR로 만드신 경우는 .. ?language=en_US와 같이 .. 전체 locale을 주셔야 합니다.
또는 파일명을 _en, _ko 처럼 언어 부분만 지정하시거나요..
locale 정보가 en 만 들어온 경우 _en -> default 메시지 파일 순으로 처리되고..
en_US가 들어온 경우 _en_US -> _en -> default 순으로 찾습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.