2011-11-14 6 views
0

LiferayポータルでVaadinを使用してポートレットを開発しています。ほとんどの場合、「キャンセル」「戻る」「次へ」などの英語のコンポーネントキャプション(名前)が使用されています。今では、ポートレットを「多言語対応」にする必要があります。つまり、ユーザが自分のLiferayページの言語を英語に設定すると、英語でポートレットのキャプションが表示されますが、ユーザーがLiferayページの言語をドイツ語に設定すると、ポートレットのキャプションはドイツ語で表示する必要があります。Vaadin多言語ポートレットコンポーネントのキャプション

ユーザーがメイン言語として設定した言語を確認する方法はありますか?

簡単例:

ジョンはハインツから提示された彼の主な言語は英語ですのでお早め、彼は自分のアカウントへのログインなどのポートレット・コンポーネントのキャプションの言語は英語

に表示されるべきであるニューヨークからですベルリンの主な言語はドイツ語です。アカウントにログインすると、ポートレットのコンポーネントのキャプションの言語がドイツ語で表示されます。

答えて

1

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); 

this so question

を参照してください。
1

Liferay APIのuser.getLocale()を呼び出すことができます。

ユーザーオブジェクトを取得するには、thisをチェックしてください。より詳細な情報はhereです(しかし、古いかもしれません)。答えの完全なコンテキストを表示するには、あなたが(クラス上の仮定)を試すことができますプロパティファイルからキャプションを取得するための