Ошибки локализации и локали

Здравствуйте.
CUBA 6.2.7
В приложении настроены две локали Russian и English
Имеются две следующие проблемы:

  1. Во всех браузерах, за исключением IE, окно входа в система отображается на русском языке. В IE оно почему-то отображается на английском.
  • Почему система считает, что дефолтная локаль в IE английская, а не русская? Операционка - Windows 10, Windows 7 - все русские, на разных компьютерах одно и то же.
  • Не смотря на это, сообщение об истечении сессии выводится все же на русском.
  • Если это какая-то ошибка и ее сложно устранить, можно ли как-то установить дефолтно русскую локаль, чтобы экран входа всегда и для всех показывался на русском языке, а дальше уже пользователь может решить, выбрать в селекторе другой язык или нет.
    Смотреть locale_ie.png
  1. При сборе проекта на линуксовой машине (на самом сервере) в war файлы внезапно всплыла проблема локализации сообщения об истечении времени сессии. Вместо русского текста наблюдаются сплошные знаки вопросы. Смотреть locale_encode.png. При этом, если собрать проект на виндовой машине, а потом закачать war файлы на сервер, то эта ошибка исчезает. В чем может быть дело? Возможно есть какие-то настройки, которые можно указать в gradle при сборке? Или как-то настроить дополнительно линукс-машину в плане поддержки локалей? utf-8 и win-1251 уже установлены.

Спасибо!

locale_ie

locale_encode

Здравствуйте.

  1. Какой версии IE Вы используете? Платформа поддерживает IE начиная с версии 9.

Следует обратить внимание, что если включено свойство “Locale select visible”, локаль последней сессии запоминается в Cookie браузера, и окно логина будет на том языке, на котором работал предыдущий пользователь. Таким образом, даже в “русском” браузере окно логина может отображаться на английском языке.

  1. В каком браузере Вы наблюдаете неправильное сообщения об истечении времени сессии?
    Убедитесь что ваш сервер стартует с установленной для JVM опцией:

-Dfile.encoding=UTF-8 
  1. Microsoft Edge. Спасибо за расзъяснение на счет кеша. Похоже, проблема была в нем.
  2. Это свойство установлено в setenv.sh. Напоминаю, что проблемы нет, если сборку в war файл произвести на машине под windows и потом закачать через файл-браузер на сервер. Для избежания этапа закачки, мы собираем проект прямо на сервере под управлением Ubuntu. Сервер локализован, других проблем с русским вроде бы нет. Но вот это окно информации об окончании сессии все портит.

Попробуйте создать пустой CUBA-проект с подключенной русской локалью.
Соберите его на своем Windows окружении и на сервере Ubuntu и разместите полученные WAR-файлы(измените расширение на zip) тут.
Возможно, мы сможем решить проблему просмотрев Ваши архивы.

Ростислав, все руки не доходят сделать демо-проект. Но смотрите, как интересно: описанная ситуация происходит через раз. То мы перегружаем tomcat и видим в браузере нормальное русское сообщение, а в следующий раз видим уже знаки вопроса. При этом это не новая сборка приложения. И вот так как-то через раз постоянно. может это как-то поможет. И в догонку вопрос, а возможно ли как-то этот текст про истекшую сессию поменять на что-то своё?
Спасибо!

Здравствуйте.

Текст этого сообщения задается через пакет сообщений платформы. Вы можете переопредилить его в своем проекте также, как и любое другое сообщение. Возможно, приемлемым решением будет для русской локали задать это сообщение на английском.


sessionExpiredErrorCaption=Session expired
sessionExpiredErrorMessage=Pay attention to any unsaved data,  and <u>click here</u> to continue.

Спасибо! Возможность написать свой текст будет очень кстати и может правда решит нашу проблему.

:ticket: See the following issue in our bug tracker:

https://youtrack.cuba-platform.com/issue/PL-8095