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.

Другие вопросы по тегам