2016-03-27 10 views
0

私のアプリでi18nモデルを実装しようとしましたが、何らかの理由でモデルが何をしようとしても空のままです。i18nモデルが空です

私はWEB IDEを使用しています。私は他の誰かによって作成されたプロジェクトで作業する必要があります。プロジェクトの構造は標準SAPUI5アプリとは異なります(manifest.jsonはありません.Webアプリケーションフォルダはなく、Component.jsの外観は異なります)。 「(

var i18nModel = new sap.ui.model.resource.ResourceModel({ 
    bundleName:"generated.app.i18n.i18n" 
}); 
sap.ui.getCore().setModel(i18nModel, "i18n"); 

component.jsのは、init()関数内:私はすでにやってみたことは何

はcomponent.jsに国際化モデルを宣言し、コアにバインドすることですgenerated.app "は名前空間です)。

そして、私のビューよりも次のように

<m:Page title="{i18n>title}"> 
..... 
</m:Page> 

プロジェクトの構造が見えます:|

--view |

-Project_Name

を--i18n/I18N .properties

| -

...

コントローラでもモデルを宣言しようとしましたが、動作しませんでした。

どちらのモデルでもモデルは作成されていますが、空です。

i18n.propertiesが存在し、値を持っています。

どうすればいいですか?

ありがとうございます。

+0

コンソールには何が表示されますか?モデルがバンドルをロードできないと仮定します。 – matbtt

+0

@matbttコンソールにモデルのオブジェクトが表示されます。エラーはありません。オブジェクトの '_oResourceBundle'プロパティにはロケールに関するデータがありますが、プロパティファイルは含まれていません。 – keshet

+0

私が知っている限り、あなたはまた、モデルをビューに設定します。あなたが使用しているバージョンを言うことができるなら、私はもっと助けることができます。古いバージョンでは、 'Component.js'の' createContent'関数でルートビューを作成していました。次に、私のモデルを 'oView.setModel(oi18nModel、" i18n ")' – melomg

答えて

1

はcomponent.js内のinit-機能の間にこれを試してみてください:

// always use absolute paths relative to our own component 
// (relative paths will fail if running in the Fiori Launchpad) 
var sRootPath = jQuery.sap.getModulePath("your_application_name"); 

// set i18n model 
var i18nModel = new sap.ui.model.resource.ResourceModel({ 
    bundleUrl : [ 
     sRootPath, mConfig.resourceBundle 
    ].join("/") 
}); 

this.setModel(i18nModel, "i18n"); 
0

何も働いていないので、私は新しい標準SAPUI5プロジェクトを作成し、古いプロジェクトからコードを移動しました。 i18nモデルは正常に動作します。

関連する問題