Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Как организовать переключение языков в интерфейсе


Автор: Atum 1.4.2009, 11:03
Добрый день 

Как организовать переключение языков в интерфейсе ? (GXT)


Я хочу организовать поддержку нескольких языков в программе - сайте

Вопрос как  правильно все это организовать ?

Что у меня есть : я использую GXT + GWT и компонент 

Код

 import com.extjs.gxt.desktop.client.Desktop;
 Desktop desktop = new Desktop();


на это рабочем столе я организовал 
переключение между стилями следующим образом :

добавил в меню Старт Пункт  Settings
Код


...
   MenuItem settings = new MenuItem("Settings");
    settings.setIconStyle("settings");
    settings.setToolTip("Смена цветовой схемы (BLUE/GRAY)");
    settings.addSelectionListener(new SelectionListener<ComponentEvent>() {
      @Override
      public void componentSelected(ComponentEvent ce) {
        String ss = GXT.getThemeId();
         //Info.display("Event", "The 'Settings' tool was clicked",ss);
        if (ss.equals(Theme.BLUE.getId()))
            GXT.switchTheme(Theme.GRAY);
        else
            GXT.switchTheme(Theme.BLUE);
     }
    });

    menu.addTool(settings);
...


Хотелось бы добавить такой же пункт 
на смену языка - интерфейса (Английский,Русский,Китайский...)
будет появляться окно в котором можно будет выбрать 
один из поддерживаемых интерфейсом языков.


А вот как правильно организовать хранение и вывод значений пунктов меню и других компонентов интерфейса ?

Как построить такой класс? Как хранить значения пунктов меню на разных языках?






Автор: Atum 1.4.2009, 13:39
вот нашел тут пример ,   i18n 

http://extjs.com/forum/showthread.php?p=173032

но все равно вопрос остался открытым :

к примеру у меня есть окно - в нем есть заголовок, и кнопка 

надо при выборе языка - в заголовок добавлять (если выбран русский язык) 

"Окно " на кнопке написано "Нажать".

если английский то "Window" и на кнопке "Push me"

где хранить эти названия  и как их определять ? 

Автор: Atum 1.4.2009, 16:19
в этом примере 

http://www.java2s.com/Code/Java/GWT/FillI18NMessagetoMenuItem.htm

говорится что нужно создавать интерфейс и потом в файлах Constants.properties 
описывать его на любом языке 
(оценил IDE netbeans - добавить свою локаль в этот пример было очень просто и удобно smile 

но вот по русский он все равно ничего не отображает, только по английски :(

что не так делаю ?

Добавлено через 13 минут и 33 секунды
UPD 

все кажется разобрался сам .

Кому интересно :

я назвал Русскую локаль ru_RU 

и поэтому обычный вызов примера  с английской локалью шел так 

http://loaclhost:8080/GWTCanvas/welcomeGWT.html

а с Русской надо было вызывать 

http://loaclhost:8080/GWTCanvas/welcomeGWT.html?locale=ru_RU


в этом вот хвостике ?locale=ru_RU и была  ошибка.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)