Tapestry 国际化 - 删除语言环境前缀

发布于 2024-12-22 22:29:45 字数 386 浏览 1 评论 0原文

在区域设置之间切换时,Tapestry 会自动向 URL 添加区域设置前缀:

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

等。 如何避免;我在 Tapestry APi 中发现您应该向 AppModule 类添加额外的配置:

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

并自行使用 LinkCreationListener2 或 LinkCreationListener(对于 Tapestry < 5.2*)。谁能提供更多信息或示例? Thks

Tapestry adds automatically a locale prefix to the URL when switching between locales:

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

etc.
How to avoid it; I found in the Tapestry APi that you should add additional configuration to the AppModule class:

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

and use LinkCreationListener2 or LinkCreationListener(for Tapestry < 5.2*) on your own. Can anyone give more info or example? Thks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蛮可爱 2024-12-29 22:29:45

这取决于您想要在跟踪区域设置方面做什么。 Tapestry 5.0 使用 cookie 来跟踪区域设置; Tapestry 5.1 改为将其编码到路径中。我认为路径是正确的......毕竟,如果用户为该页面的法语版本添加了书签,那么他们应该在一个月后使用该书签时看到该页面的法语版本。

计划:

  • 将符号覆盖为“false”
  • 将 RequestFilter 贡献给 RequestHandler 管道,该管道读取 cookie 以设置值
  • 覆盖 PersistentLocale 服务以存储 cookie

It depends on what you want to do in terms of tracking the locale. Tapestry 5.0 uses a cookie to track locale; Tapestry 5.1 switched to encoding it into the path. I think in the path is correct ... after all, if a user bookmarks the french version of the page, they should see the french version of the page a month later when they use the bookmark.

Plan:

  • Override the symbol to "false"
  • Contribute a RequestFilter to the RequestHandler pipeline that reads a cookie to set the value
  • Override the PersistentLocale service to store the cookie
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文