Vaadin и пользовательский Gwt Widget - настройка языка для виджета
У нас есть приложение vaadin и пользовательский виджет gwt, включенный в качестве внешнего jar. Виджет имеет свои переводы (польский и английский). Проблема в том, что при запуске пользовательского виджета во внешнем приложении он переводится правильно, но когда он находится внутри приложения vaadin, независимо от локали приложения (и даже браузера) - он всегда только на английском языке.
Вопрос в том, как пользовательские виджеты gwt получают информацию об используемом языке, и есть ли возможность переопределить это (принудительно установить язык / локаль виджета)?
1 ответ
Одной из проблем было несоответствие имени локали. Где приложение vaadin можно было перевести только для локали языковой метки. например, "pl" (польский), необходим виджет gwt для локали с кодом страны, например "pl_PL" (польский, Польша).
Фактическим решением было заставить gwt искать локаль только в метатеге и создавать этот тег.
<meta name="gwt:property" content="locale=x_X" />
на стороне сервера, соблюдая язык приложения и до того, как будут добавлены любые gwt javascripts. К сожалению, это приводит к обновлению страницы после смены языка, но я думаю, что это невозможно сделать другим способом из-за методов интернационализации gwt.