2011-12-28 2 views
1

Гобелен автоматически добавляет префикс локали в URL при переключении между локалей:Гобелен интернационализация - удаление префикса локали

http://host/en/home 
http://host/es/home 
http://host/fr/home 

и т.д. Как избежать; Я нашел в Гобелен Апи, что вы должны добавить дополнительную конфигурацию класса AppModule:

configuration.add(SymbolConstants.ENCODE_LOCALE_INTO_PATH, "false"); 

и использовать LinkCreationListener2 или LinkCreationListener (для гобелена < 5.2 *) по своему усмотрению. Может ли кто-нибудь дать больше информации или примера? Thks

ответ

1

Это зависит от того, что вы хотите сделать с точки зрения отслеживания локали. Tapestry 5.0 использует cookie для отслеживания локали; Гобелен 5.1 переключился на кодирование его в путь. Я думаю, что путь правильный. В конце концов, если пользователь заметит французскую версию страницы, они должны увидеть французскую версию страницы через месяц, когда они будут использовать закладку.

План:

  • Override символ к «ложным»
  • Заплатить в RequestFilter к RequestHandler трубопроводу, который читает печенье, чтобы установить значение
  • Override службу PersistentLocale хранить куки
+0

Привет, Говард, спасибо вам за ответ. К сожалению, я не нахожу ничего ни в руководстве пользователя Tutorialry/учебнике, ни в документации, как добиться того, что вы советуете делать; т. е. вносить RequestFilter в конвейер RequestHandler, который считывает cookie для установки значения и переопределяет службу PersistentLocale для хранения файла cookie. Любые советы были бы благодарны :); Благодарю. – belgoros

+0

Все материалы об используемых фильтрах и т. Д. Описаны в документации Tapestry IoC. http://tapestry.apache.org/tapestry-ioc-configuration.html Предполагается, что вы понимаете, как IoC подходит к конфигурациям и переопределениям: в Tapestry есть единый подход, и тогда все сервисы всех вкусов могут делать то же самое , –

Смежные вопросы