2013-06-19 4 views
0

국제화가 완벽하게 작동하는 java 웹 응용 프로그램이 있습니다. 하지만 데스크탑 응용 프로그램에서 사용할 때 완벽하게 작동하는 국제화 기능이있는 다른 .jar 파일을 가져 오려고합니다.JSF의 현지화. 가져온 jar의 메시지는 항상 영어로 표시됩니다.

jar를 java war 파일의 lib 폴더에 넣고 webapp를 실행하면이 가져온 jar의 메시지를 제외하고 모든 webapp 국제화가 완벽하게 작동합니다.

가져온 jar는 서버의 로켈을 사용하지만 이러한 상황에서는 어떻게 진행해야합니까? 나는 둘 다 원한다. 전쟁은 브라우저 로케일을 사용한다. faces-config.xml에 일부 설정을 추가해야합니까?

감사합니다.

답변

0

사용자 별 요청으로 디파 르트 로케일을 전환하면 안됩니다. 서블릿 컨텍스트를 사용하여 Locale.getDefaultLocale()을 패치하거나 메시지를 다시 변환해야 할 수도 있습니다.

번들을 자신의 번역본으로 복사하십시오.

그것은 아마도 추가 매개 변수 자체에 키를 변환

key1=key1 
key2=key2 

# Now a message format: 
key3=key3\u2622{0}\u2622{1} 

으로, 루트 로케일 ("")와 하나 개의 번들을 유지합니다.

+0

이 번역에 대한 자습서를 보내 주시겠습니까? 항아리가 세 번째 파트에서 왔을 때 어떻게 번역 할 수 있습니까? –

+0

역 공학. jar가 전달할 문자열을 반환하면; 위의 절차는 (항아리를 압축 해제하여) 작동합니다. 자체 텍스트가있는 구성 요소 인 경우 AOP 인터셉터 또는 기타 해킹 만 작동 할 수 있습니다. 포럼이 없습니까? –

+0

이 문제를 잘 표현할 수 있을지 확신 할 수 없습니다. 다시 해봅시다. 브라우저 요청이 독일에 있다면 lib 폴더 안에있는 jar 파일이 모든 앱과 마찬가지로 독일에도 메일을 던지지 않는 이유는 무엇입니까? 이것이 기본 동작입니까? lib 폴더 안의 항아리는 항상 브라우저 로켈이 아닌 서버 로케일을 사용합니까? 논리는 나에게 보이지만 나는 그것을 확인하고 싶다. –

관련 문제