이 Java 프로젝트 (JInternalFrames가있는 JDesktopPane)를 WindowBuilder와 함께 사용하면 전체 프로그램을 번역 할 예정입니다. JDesktopPane Menu로부터 JInternalFrame가 열릴 때마다, 새로운 JInternalFrame가 인스턴스화됩니다.WindowBuilder : 런타임시 언어 변경
작업 : 런타임에 사용자가 다양한 언어를 전환 할 수 있어야합니다 (언어를 직접 변경하면 안 됨, JInternalFrame을 다시 열면 충분합니다.) 지금은 모든 JInternalFrame에서 ResourceBundle을 사용합니다.
private static ResourceBundle BUNDLE;
은로 텍스트 설정 : 내가 예를 들어 설정하는 JDesktopPane에있는 메뉴를 가지고 언어를 전환하기 위해
lblText = new JLabel(BUNDLE.getString("TestWindow.lblText.text")); //$NON-NLS-1$
을
새로운 윈도우를 생성하면 515,language = "en";
는 JInternalFrame를는 MainWindow를 참조를 얻고,이 속성을 판독하고 있었던 JInternalFrame에 설정 :
BUNDLE = ResourceBundle.getBundle("TestWindow.messages_"+ mainWindow.language); //$NON-NLS-1$
문제 : WindowBuilder이를 방해하고 설정
private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("TestWindow.messages"); //$NON-NLS-1$
디자인보기에서 Window를 열 때마다
또한 WindowBuilder의 Editor Errors 윈도우에서 많은 오류가 발생합니다. 그 이유는 Editor가 "TestWindow.messages_"+ mainWindow.language
을 해결할 수 없기 때문입니다.
이 문제를보다 정확하게 처리 할 수있는 방법이 있습니까? WindowBuilder에서 올바른 것을 찾아 낼 수 없었기 때문에이 해킹 된 솔루션을 생각해 냈습니다.
감사합니다, 킹 알
[Oracle 튜토리얼] (http://docs.oracle.com/javase/tutorial/i18n/index.html), 코드 [예제는 여기] (http://www.java2s.com/Tutorial /Java/0220__I18N/Catalog0220__I18N.htm) – mKorbel
감사합니다. 굉장히 유용하다. –