HTML 5モバイルWebアプリケーション開発——SAP UI 5編(6)
2711 ワード
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">··<span style="white-space:pre"> </span> SAP UI5 , i18n 。 , i18n 。 SAPUI5 ,i18n 。</span>
まず、i 18 nというファイルを作成します.properties.次のように記述します.
showHelloButtonText=Say Hello
helloMsg=Hello {0}
ここでは、実際にいくつかの変数またはメソッドの値を定義します.彼らを呼び出すには、まずcontrollerの内容を以下のように変更します.
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/m/MessageToast",
"sap/ui/model/json/JSONModel",
"sap/ui/model/resource/ResourceModel"], function (Controller, MessageToast, JSONModel, ResourceModel) {
"use strict";
return Controller.extend("sap.ui.demo.wt.controller.App", {
onInit : function () {
var oData = {
recipient : {
name : "World"
}
};
var oModel = new JSONModel(oData);
this.getView().setModel(oModel);
var i18nModel = new ResourceModel({// i18n , model
bundleName: "sap.ui.demo.wt.i18n.i18n"//bundleName model
});
this.getView().setModel(i18nModel, "i18n");// i18nmodel i18nModel
},
onShowHello : function () {
var oBundle = this.getView().getModel("i18n").getResourceBundle();/ i18nmodel
var sRecipient = this.getView().getModel().getProperty("/recipient/name");
var sMsg = oBundle.getText("helloMsg", [sRecipient]);
MessageToast.show(sMsg);
}
});
});
論理は変わっていませんが、コードの次の部分に注意します.i 18 nファイルの参照を定義するには、setModelで設定し、設定したモデルをi 18 nModelに転送します.設定するのはi 18 nモデルで、後で具体的なi 18 nファイルに転送し、前の行でパスを定義します.これらの操作はすべて初期化関数で設定されます.
その後,新しいonShowHello関数を定義し,最初のコードはi 18 nモデルを取得した.最も重要な部分に注意して、sMsgを定義して、setTextが入ってきた最初のパラメータは私たちがi 18 nで定義したhelloMsgで、その中の{0}は前に定義したsRecipientで取った値を使います.最後に示した結果は私たちと同じでした.
ビューセクションも変更:
<mvc:View
controllerName="sap.ui.demo.wt.controller.App"
xmlns="sap.m"
xmlns:mvc="sap.ui.core.mvc">
<Button
text="{i18n>showHelloButtonText}"
press="onShowHello"/>
<Input
value="{/recipient/name}"
description="Hello {/recipient/name}"
valueLiveUpdate="true"//
width="60%"/>
</mvc:View>
前に定義したshowHelloButtonTextを使用して、Say Helloの値を取り出してボタンに表示します.Inputボタンでは、定義されたvalue値が、ユーザーが入力したvalueを入力することがわかります.
{/recipient/name}をcontrollerで取得します.これがi 18 nを用いた概略フローである.