как получить информацию локали о приложении GWT

В GWT я должен определить, какие локали поддерживаются в моем приложении. Код компилируется в различных файлах, один для каждой локали (около других версий), но я должен дать моим клиентам один единственный URL. Этот URL, как предполагается, является страницей, которая должна быть отображена согласно локали, предпочтенной браузером. Я dont't хотят иметь параметр HTTP для локали, так как я хочу предвидеть локаль, предпочтенную браузером. Как это может быть кодировано в GWT?

Я должен попытаться к этой апачской перезаписи использования правила? Я thied это, но я думаю, что не могу получить доступ к такому параметру легко в правиле перезаписи.

Большое спасибо, Giuseppe

9
задан 19 August 2008 в 18:48
поделиться

3 ответа

GWT имеет хорошую поддержку интернационализации. См. эту ссылку. Команда i18nCreator может помочь Вам настроить инфраструктуру интернационализации для подобного пути projectCreator, и applicationCreator настраивают приложение GWT.

Если у Вас есть статические строки (т.е. Недопустимая Запись!), который должен интернационализироваться, Вам не нужен никакой дополнительный флаг к команде i18nCreator для создания файлов свойств и инфраструктуры.

Если у Вас есть строки, которые должны принять параметры (т.е. Привет {0}), необходимо передать флаг-createMessages команде i18nCreator для создания файлов свойств и инфраструктуры.

Теперь Ваш модуль должен включать i18n модуль в Ваш MyApplication.gwt.xml:

<inherits name="com.google.gwt.i18n.I18N"/>

Определите интерфейс Java в том же пакете как Ваши файлы свойств, который расширяет Константы или передает и определяет методы (имя соответствует записям свойства), что вся возвращаемая строка.

MyConstants.properties содержит:

errorMessage=Invalid Entry!

MyConstants.java содержит:

import com.google.gwt.i18n.client.Constants;

public interface myConstants extends Constants {
    String errorMessage();
}

Теперь получить доступ к этим интернационализировавшим Строкам от Вас приложение:

public class MyApplication implements EntryPoint {
    private static final MyConstants constants = (MyConstants)GWT.create(MyConstants.class);

    public void onModuleLoad() {
        final Label errorMessage = new Label(constants.errorMessage);
    }
}

GWT реализует интерфейс для Вас автоволшебно.

Можно получить сообщения похожим путем.

Надо надеяться, это может помочь Вам начать.

5
ответ дан 4 December 2019 в 08:17
поделиться

Если я не читаю документацию неправильно, я не думаю, что необходимо сделать что-либо.

GWT и локаль

Путем создания локали клиентским свойством стандартный процесс запуска в gwt.js выбирает соответствующую локализованную версию приложения, обеспечивая простоту использования (это легче, чем это могло бы звучать!), оптимизированная производительность и минимальный размер сценария.

Путем я считал его, пока Ваш модуль добавил весь выбор локали к нему, это должно быть автоматически?

3
ответ дан 4 December 2019 в 08:17
поделиться

У меня была та же проблема, что и у вас, но поскольку мне действительно нужно знать текущую локаль (я запрашиваю второй сервер для данных, которые я хочу локализовать), я нашел этот класс: com.google.gwt.i18n.client.LocaleInfo # getCurrentLocale () . Это должно дать вам то, что GWT использует в настоящее время.

13
ответ дан 4 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: