2017-08-04 49 views
0

OpenUI5ではリソースバンドルをあるロケールから別のロケールにマップする方法はありますか?ノルウェー向けにローカライズされたバンドル(「いいえ」)があります。また、ノルウェー語Bokmal(「nb」)の にも使用したいので、「no」または「nb」に設定されているブラウザで同じ翻訳が行われます。OpenUI5リソースバンドル - 複数のロケールへのマッピング

+0

ようこそスタックオーバーフロー。何を試しましたか? – bated

+1

あなたが尋ねていることはわかりませんが、1つのi18n_no.properties。 1つのi18n_nb.properties。 i18n_no.propertiesの内容をコピーしてi18n_nb.propertiesに貼り付けますか? – n01dea

+0

私たちはファイルの複製を避けようとしています。SDK自体には「いいえ」バンドルしかなく、新しいSDKごとに「nb」バンドルにコピーする必要があるからです。私たちが "nb"ロケールのときに "いいえ"バンドルを使うことを可能にするロケールチェーン設定を期待していました。 –

答えて

0

あなたはsap.ui.getCore().getConfiguration().setLanguage()と、起動時にフレームワークの言語を変更しようとすることができます:

var configuration = sap.ui.getCore().getConfiguration(); 
if (configuration.getLanguage().startsWith("nb")){ 
    sap.ui.getCore().getConfiguration().setLanguage("no"); 
} 

しかし、これは同じランチパッド・セッションのすべてのアプリケーションに適用されるグローバル設定の変更であることを注意してください。

他のオプションは、ResourceModel constructorにbundleLocaleオプションを指定することです。 アプリケーションのコンポーネントがある場合は、現在の言語が "nb"の場合に、ResourceModelにbundleLocaleを提供するようにマニフェストをロードして変更することができます。 init() - メソッドの初めにそれを行う必要があります。Component.init()の基底を呼び出す前にメソッドを実行してください。

+0

ありがとうございます。私はこれを調べます。 –

関連する問題