Как изменить язык ярлыков бэк-офиса по умолчанию

Как сделать язык ярлыков бэк-офиса по умолчанию en_GB. В настоящее время набирает en_US. Использование hybris 6.5.

Мне не удалось увидеть метку, из-за которой в значениях был виден null, когда метка отмечена, она не была пустой. Но у меня был пустой другой язык (en_US), который, как я считаю, является выбранным языком по умолчанию / резервным языком, когда я добавил значение в en_US, это сработало. Желаю, чтобы он работал в en_GB.


person sakshinarang    schedule 22.09.2019    source источник


Ответы (2)


В OOTB есть класс BackofficeAuthenticationSuccessHandler. Здесь он выбирает текущий языковой стандарт в классе (CockpitLocaleService). Попробуйте написать собственный обработчик аутентификации, чтобы внести изменения и установить язык, который вы хотите отображать.

person Ritika    schedule 26.09.2019
comment
Я пробовал это, я пробовал использовать этот подход, первый комментарий answers.sap.com/questions/12763604/ Не работать. cockpitLocaleService.setCurrentLocale (LocaleUtils.toLocale (en_GB)); По какой-то причине он не попадает в этот файл. Заглядывая в его весну. - person sakshinarang; 26.09.2019

Если вы хотите изменить языковой стандарт по умолчанию для страницы входа в бэк-офис / кабину, не используя «селектор языка» (возможно, вы не хотите отображать этот селектор. Предположим, что этого селектора не существует):

введите здесь описание изображения

Есть лучшее решение, не требующее Java-кода. Просто все, что вам нужно сделать, это переопределить login.zul, добавив текстовый ввод. И обратите внимание, что:

  1. Имя ввода должно быть: "locale".
  2. Тип ввода должен быть: "текст" (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". Мы уже предоставили этот параметр с его значением (en), создав входную «локаль» в login.zul.

Это будет работать без переопределения собственной реализации BackofficeAuthenticationSuccessHandler.java.

person Mostafa    schedule 19.05.2020