Заголовки компонента многоязычного портлета Vaadin - PullRequest
0 голосов
/ 14 ноября 2011

Я разрабатываю портлеты с помощью Vaadin на портале Liferay, в основном с надписями (именами) английских компонентов, такими как «Отмена», «назад», «далее» и так далее. Теперь я должен сделать портлеты «Многоязычные готовы», это означает, что если пользователь установил язык своей страницы Liferay на английский, он должен видеть заголовки моих портлетов на английском языке, но если пользователь устанавливает язык своей страницы Liferay на немецкий, Подписи к портлетам должны отображаться на немецком языке.

Есть ли способ проверить, какой язык пользователь установил в качестве основного языка?

простой пример:

Джон из Нью-Йорка, его основным языком является английский, поэтому, как только он войдет в свою учетную запись, язык заголовков компонента портлета должен отображаться на английском языке

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

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

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

Button button = new Button() {
    @Override
    public void attach() {
        ResourceBundle bundle = ResourceBundle.getBundle(Translation_portletApplication.class.getName(), user.getLocale());
        setCaption(bundle.getString("first_name"));
    }
};
window.addComponent(button);

Чтобы увидеть полный контекст ответа см. этот вопрос

1 голос
/ 15 ноября 2011

Вы можете вызвать user.getLocale() Liferay API.

Чтобы получить объект пользователя, отметьте this out.Более подробная информация найдена здесь (хотя может быть устаревшей).

...