Переключение интерфейса Luxms BI на английский язык для отдельного пользователя

Переключение интерфейса Luxms BI на английский язык для отдельного пользователя

Описание

Штатными средствами Luxms BI переключить язык интерфейса отдельно для конкретного пользователя нельзя.

Для локализации используется сервис L10n, который работает со стандартными файлами локализации:

  • assets/locales/ru.json
  • assets/locales/en.json

Также могут использоваться переопределения локализаций из:

  • lux-store/locales/...

В качестве обходного решения язык интерфейса можно сохранить локально в браузере пользователя. После сохранения параметра браузер будет загружать английскую локализацию при последующих открытиях Luxms BI.


Вариант 1. Изменение языка через Local Storage

  1. Откройте Luxms BI в браузере.

  2. Откройте инструменты разработчика браузера.

  3. Перейдите в раздел:

    ApplicationLocal Storage

  4. Выберите адрес используемого стенда Luxms BI.

  5. Найдите ключ:

    locale
    
  6. Установите для него значение:

    en
    
  7. Перезагрузите страницу Luxms BI.

После перезагрузки интерфейс должен отображаться на английском языке.


Вариант 2. Изменение языка через консоль браузера

Вместо ручного изменения Local Storage можно открыть консоль разработчика браузера и выполнить:

__l10nVC__NEW__.setLocaleAndSave("en")

После выполнения команды необходимо перезагрузить страницу.

Работоспособность данного способа была проверена: после выполнения команды и перезагрузки интерфейс отображался на английском языке.


Сохранение настройки

Выбранная локализация сохраняется в Local Storage браузера.

После этого настройка сохраняется:

  • после перезагрузки страницы;
  • после выхода из учетной записи;
  • после повторного входа в систему.

Настройка сохраняется до тех пор, пока соответствующие локальные данные браузера не будут очищены вручную.

Если пользователь работает в нескольких браузерах, настройку необходимо выполнить отдельно в каждом используемом браузере.


Особенность первого входа при автоматизации для конкретного пользователя

Теоретически переключение языка можно автоматизировать с помощью отдельного компонента, который после определения пользователя проверяет его ID или параметр конфигурации и вызывает:

__l10nVC.setLocaleAndSave("en")

При этом до момента аутентификации информация о пользователе недоступна.

Поэтому при первом входе:

  1. страница авторизации будет отображаться на русском языке;
  2. после входа скрипт сможет установить английскую локализацию;
  3. при следующих входах английская локализация уже будет сохранена в браузере.

Для такой реализации в исходном обсуждении предполагалось использование отдельных компонентов для корневой страницы и страницы дашбордов либо аналогичных страниц.


Подытог:

Для разового переключения интерфейса отдельного пользователя можно использовать один из двух способов:

  • установить locale = en через Application → Local Storage;

  • выполнить в консоли:

    __l10nVC__NEW__.setLocaleAndSave("en")
    

После сохранения параметра английская локализация продолжает использоваться при последующих перезагрузках и входах в систему, пока локальные данные браузера не будут очищены.