2010-11-25 7 views
0

런타임시 xml : language를 변경하는 방법은 무엇입니까?런타임시 xml : lang 값을 설정하는 방법?

상황에 따라 사람이 'EN'을 브라우저 언어로 선택했다고 가정합니다. 다른 사용자의 언어 속성은 'FI'와 같습니다. 첫 번째 녀석은 핀란드어로 두 번째로 영어로 표시됩니다. 두 사람 모두 Google 크롬을 사용하며 코드에서 xml : lang이 기본 'en-US'로 설정되어 있기 때문에 핀란드어 텍스트는 영어로 취급됩니다. 이제 필자가 원하는 것은 xml : lang 설정 수준에서 핀란드어 텍스트가 런타임에 핀란드어로 인식된다는 것입니다. 그래서, xml : lang 값은 지금 그대로 하드 코딩 될 수 없습니다. 나는 또한 런타임에서 한 필드를 수정할 수 없기 때문에 7 개 언어로 7 개의 다른 페이지를 만들고 싶지 않습니다.

내 설정은 i18n에 대해 struts2 및 xwork 중 하나입니다. 설치 프로그램은 변수 xml : lang이있는 HTML 태그가있는 JSP 파일이며 런타임에 해당 설정을 변경해야합니다.

답변

1

이 값을 <html> 수준으로 설정한다고 가정합니다.

예 현재 코드 :

<html lang="en" xml:lang="en"> 

예 개정 코드 :

다음
<html lang="${action.language}" xml:lang="${action.language}"> 

, (다만 모든 것을 상속하는 기본 동작에 넣어)하여 Struts2 액션에 getLanguage() 방법을 추가 예 :

public String getLanguage() { 
    // return the appropriate language based on the user's choice 
} 
+0

이 솔루션을 주셔서 감사합니다. Steven. 한 줄 추가 java.util.Locale locale = getLocale(); 반환 값은 locale.getLanguage()를 반환했습니다. 이렇게하면 브라우저의 기본 언어 설정이 고려됩니다. – mico

+0

데코레이터 파일에서 메뉴를로드 한 다음 jsp & struts가있는 복잡한 구조가 있습니다. 빈 태그를 메뉴 파일에두면 크롬이 콘텐츠 파일의 언어를 인식하는 데 도움이되었습니다. – mico

관련 문제