如何更改后台标签默认语言

How to change backoffice labels default language

如何将后台标签的默认语言设置为 en_GB。它目前正在接收 en_US。使用 Hybris 6.5.

我无法看到标签,因为在值上可以看到 null,当检查标签时,它不是空的。但是有一种不同的语言为空(en_US),我认为这是默认的 languae/fallback 语言,当我在 en_US 中添加值时,它起作用了。我希望它能在 en_GB.

中工作

在 OOTB 中,有一个 class BackofficeAuthenticationSuccessHandler。它在这里选择 class(CockpitLocaleService) 中的当前语言环境。尝试编写自定义身份验证处理程序来进行更改并设置要显示的语言。

如果你想更改 backoffice/cockpit 登录页面的默认语言环境,而不使用 "language selector"(也许你不想显示这个选择器。所以让我们假设这个选择器不存在):

有一个更好的解决方案,它不需要 java 代码。 只需覆盖 login.zul,购买添加文本输入即可。并注意:

  1. 输入名称必须是:"locale"
  2. 输入类型必须是:"text"(type="hidden" 对我不起作用。您可以使用 CSS 隐藏它)

login.zul 示例:

 <h:form action="j_spring_security_check" method="post">
     <textbox type="text" placeholder="Email/Username" class="email-input" name="j_username"/>
     <textbox type="password" placeholder="Password" class="email-password" name="j_password"/>
     <textbox type="text" class="hidden-locale-input"  name="locale" value="en"/> 
     <button type="button" class="login" label="Login" />
 </h:form>

所有这些输入都将作为地图传递给 BackofficeAuthenticationSuccessHandler.java。 在 BackofficeAuthenticationSuccessHandler.java 中,hybris 将使用此映射并搜索名为 "locale" 的参数。我们已经通过在 login.zul

中创建输入 "locale" 来提供此参数及其值 (en)

这将在不覆盖 BackofficeAuthenticationSuccessHandler.java.

的本机实现的情况下工作