HTML 5モバイルWebアプリケーション開発——SAP UI 5編(6)


<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を用いた概略フローである.