【问题标题】:How can a guest user change the language in liferay 6.2+?来宾用户如何更改 liferay 6.2+ 中的语言?
【发布时间】:2023-03-21 13:44:01
【问题描述】:

我的意图是访客可以更改门户的语言,但我不知道如何做到这一点。

你的帮助对我真的很有帮助。

谢谢

asif aftab

【问题讨论】:

  • 他可以通过将 /de/ 或 /en/ 添加到 url 来更改它。希望我理解这个问题...
  • 感谢您的回复Matthisas G。我的问题是客人如何更改portlet 的语言。如果您登录然后通过我的帐户-> 显示设置-> 更改语言。这是注册用户可以更改 liferay 6.2 语言的程序。但我的意图是如何通过访客用户更改门户的语言意味着未注册用户。为了更改语言,我使用了具有公共页面属性的语言 portlet,但访客无法更改语言。
  • 如果您知道进一步的查询,请询问并分享有价值的信息。
  • 任何未登录的网站都被视为访客,无法区分他们,因此为他们提供语言更改选项没有任何意义,因为它适用于所有访客用户
  • 我们正在开发一个简单的医院网站,如果您是用户,则可以在其中使用医院提供的所有功能和设施。但这是一个大项目,我们必须用 18 种不同的语言开发它。因此,如果来宾用户想要注册,那么他或她可能不知道英语,因此想要更改语言。所以来宾用户可以更改语言,这是一个简单的概念,我认为很多网站都提供这样的设施,因为每个用户都不是注册用户。我想我的意图现在很清楚了。你还有什么疑问可以问。

标签: internationalization liferay-6


【解决方案1】:

将 Language-Portlet 添加到 Portal 的 Start-Page 中。通过这个portlet,客人可以简单地切换当前的用户语言。

或者你让它像 www.liferay.com - 把语言 id 放到 url:

https://your-liferay-domain/de/web/portal
https://your-liferay-domain/en/web/portal
https://your-liferay-domain/it/web/portal
...

【讨论】:

  • 我已经将此 portlet 添加到我的门户中,但来宾用户可以访问它,但语言不会改变。我搜索了这个问题,所以有人评论说这是 liferay 中的一个错误。
  • 这个答案是正确的。如果你知道有一个错误,1)这里没有答案,2)至少你应该给我们一个特定的 Liferay 版本。例如,我无法在 liferay 6.1.0 中重现该错误
  • 感谢 Yannicular。我目前正在使用 Liferay 6.2 CE,我的数据库是 sql server。我正在使用 apache tomcat server 7。如果您有任何其他信息,请与我分享。谢谢
【解决方案2】:

正如 cmets 中已经提到的 OP,这是一个 confirmed Liferay 6.2 bug

Liferay forums回答了同样的问题

所以,在我看来,你有这些选择

  1. 降级到 Liferay 6.1+ 或更早的版本
  2. 通过添加 ext-hook 或重新编译代码来创建补丁
  3. 如果您有企业版,请申请热修复

如果不是因为错误,事情应该按照@Mark 所说的那样工作,这是假定的行为。

【讨论】:

  • 是的,我也意识到如果可能的话我必须使用钩子,否则没有选项然后分机。如果您有任何对我有用的参考链接,请分享。感谢您的回复。
  • 在编写任何补丁/挂钩之前,您必须阅读源代码并找到错误代码。你做到了吗?
  • 关于写一个钩子,那里有很多教程,这绝对超出了这个线程的范围。解决具有 200 mb 源的项目中的错误也是如此。修补这个错误是一个漫长的过程,所以请为您的子任务提出新的问题。
  • 顺便说一句,我注意到您不接受有关您的问题的任何答案。甚至没有你自己的答案。你不回答问题并没有帮助这个论坛。请再次阅读指南stackoverflow.com/about
  • 我想你没听懂我说的。我坚持要你阅读我之前给你的链接,并接受对你有用的答案。现在关于您的问题,您必须决定做出决定(降级或挂钩)。如果您决定制作一个钩子,您可能会很幸运地从 liferay 论坛请求一个。如果这不起作用,您将不得不自己创建一个
【解决方案3】:

您可以为此使用谷歌翻译。

【讨论】:

  • 有一个叫做国际化的概念,用户可以通过它改变它的语言。假设用户对此类浏览器不太了解或对 Internet 非常陌生,因此他/她无法更改语言,因此我们有责任为他们提供这样的特权,以便轻松获得他们想要的东西。跨度>
  • 感谢您的回答。阿廷
  • 是的,谷歌为此提供了一个JS。只需将该 JS 包含到您的代码中,您就可以为来宾用户提供更改门户语言的选项。
  • 谢谢阿廷。很抱歉,如果你提供了那个 .js 文件并且你有一些 sn-p 代码,那么它对我真的很有帮助。
猜你喜欢
  • 2015-11-12
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
  • 2015-07-22
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
相关资源
最近更新 更多