2010-07-26 4 views
0

저는 작업중인 웹 응용 프로그램을 가지고 있으며 각 언어를 * _lang.properties로 나누었습니다. 브라우저 언어를 변경하면 UI에 적절한 언어가 표시되지만 브라우저 (FF와 IE 모두)를 다시 시작해야합니다. 다른 웹 사이트는 페이지를 새로 고침하여 언어 변경 사항을 인식합니다.Struts/Internationalization (I18N)

브라우저를 다시 시작하지 않으려면 누락되었습니다.

답변

2

대부분 언어 설정은 서버 측의 세션에 저장됩니다. 리소스 번들을로드하는 코드의 해당 부분을 변경하여 요청 헤더를 항상 확인하여 어떤 로캘의 리소스 번들을로드해야하는지 확인할 수 있어야합니다.

+0

OK - 생각해 보면 지금은 앱이 브라우저가 처음로드 될 때만 확인하고 어떤 유형의 세션을 설정하고 있습니까? 당신의 수정은 의미가 있으며, 단지 이것이 어떻게 생각하고 있는지 보려고합니다. – NinjaCat

+0

응용 프로그램이 다중 사용자이고 액세스하기 위해 사용자가 로그인해야하는 경우 사용자가 로그인하자 마자 서버가 세션의 해당 사용자에 대한 로케일을 설정하고 사용자 로그 아웃합니다. 앱에서 사용자가 로그인 할 필요가없는 경우 브라우저로 열 자마자 쿠키를 사용하거나 URL 재 작성을 사용하여 세션에 클라이언트를 할당하고 세션 시간이 만료 될 때까지 또는 사용자 브라우저를 닫습니다. 다시 한 번, 서버 측 앱은 첫 페이지 히트 중 한 번만 사용자의 로케일을 확인합니다. – Behrang