2012-01-11 2 views
1

동적 문자열 i18n을 사용하여 GWT UI Binder로 실행중인 응용 프로그램을 국제화하려고합니다. UI 바인더가 동적 문자열 i18n을 지원합니까? 이것이 가능한지 알려주세요.GWT 동적 문자열 i18n with uibinder

답변

1

UiBinder 템플릿은 현지화를 위해 마크 업할 수 있습니다. <ui:msg><ui:attribute> 요소를 사용하여 템플릿의 번역 부분을 표시 한 다음 앱을 빌드 할 때 현지화 된 버전의 메시지 인 속성 파일을 제공합니다. 이 업데이트

에 대한 More : 난 당신이 거기에서 해결책을 찾을 수 있다고 생각이 GWT Dynamic String Internationalization 참조하십시오.

+0

답장을 보내 주셔서 감사합니다. 하지만 다이나믹 i18n이 가능한지 알고 싶습니다. 나는 정적 문자열 i18n이 uibinder와 함께 가능하다는 것을 안다. – javalearner

+0

그 링크는 정적 인 i18n을 명확히한다. 메시지 인터페이스에서 확인할 수 있습니다. 동적이 아닙니다. – javalearner

0

질문에 대답하려면 - 예, i18n은 UI 바인더에서 지원됩니다. 사용 가능한 문서 herehere을 참조하십시오. 내 주장을 뒷받침하기 위해 여기에 직접적인 인용문이 있습니다 :

UiBinder ...는 GWT의 i18n 시설에서 잘 작동하는 국제화를 직접 지원합니다.

당신은 단순히 방법 (문자열을 반환) 자바 코드 및 UI-XML 파일에 모두 액세스 할 수있는 인터페이스를 작성, GWT-XML의 국제화 모듈을 사용하도록 지정된 로케일 일부 * .properties의 파일을 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 하지만 다이나믹 i18n이 가능한지 알고 싶습니다. 나는 정적 문자열 i18n이 uibinder로 가능하다는 것을 안다. – javalearner

0

Dictionary을 사용했습니다. 기본적으로 동적 호스트 페이지 (예 : JSP)를 사용하여 호스트 페이지에서 동적으로 상수를 생성합니다. UiBinder 함께 사용하려면 몇 가지 옵션이 있지만, 대부분 정직하고, 예를 들어, 사전 주위에 래퍼 클래스를 만들

package org.gwt.dictionary.test 

public class CurrentTheme { 

    Dictionary theme = Dictionary.getDictionary("CurrentTheme"); 

    public String highlightColor() { 
     return theme.get("highlightColor"); 
    } 

    public String shadowColor() { 
     return theme.get("shadowColor"); 
    } 

    public String errorColor() { 
     return theme.get("errorColor"); 
    } 

    public String errorIconSrc() { 
     return theme.get("errorIconSrc"); 
    } 

    public String errorLabel() { 
     return theme.get("errorLabel"); 
    } 

    public String someTextContent() { 
     return theme.get("someTextContent"); 
    } 
} 
다음

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> 
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" 
    xmlns:g="urn:import:com.google.gwt.user.client.ui"> 
    <ui:with field="themeConstants" type="org.gwt.dictionary.test.CurrentTheme"/> 
    <g:HTMLPanel> 
     <g:Label text="{themeConstants.errorLabel}" styleName="{themeConstants.errorColor}"/> 
     <div class="aler alert-info"><ui:text from="{themeConstants.someTextContent}"/></div> 
    </g:HTMLPanel> 
</ui:UiBinder> 

희망처럼 gwt.xml에서 사용할 수있다 도움이