i18n for View Title

时间:2015-05-05 10:54:42

标签: sapui5

我正在尝试使用i18n模型作为我的视图标题,但它没有显示正确的标题。只显示变量。

**

这是我的xml视图详细信息:

**

<mvc:View
controllerName="sap.ui.demo.myFiori.view.Master"
xmlns="sap.m"
xmlns:mvc="sap.ui.core.mvc" >
<Page
    title="{i18n>MasterTitle}" >
    <List
        items="{/SalesOrderCollection}" >
        <StandardListItem
            type="Active"
            press="handleListItemPress"
            title="{SoId}" />
    </List>
</Page>

**

  1. 下面是来自文件messageBundle.Properties
  2. 的详细信息

    **

    MasterTitle =销售订单 DetailTitle =销售订单

    **

    Component.js文件的详细信息如下:

    **

    jQuery.sap.declare( “sap.ui.demo.myFiori.Component”);

    sap.ui.core.UIComponent.extend(“sap.ui.demo.myFiori.Component”,{

    createContent : function() {
    
        // create root view
        var oView = sap.ui.view({
            id : "app",
            viewName : "sap.ui.demo.myFiori.view.App",
            type : "JS",
            viewData : { component : this }
        });
    
        // set i18n model
        var i18nModel = new sap.ui.model.resource.ResourceModel({
            bundleUrl : "i18n/messageBundle.properties"
        });
        oView.setModel(i18nModel, "i18n");
    

    // //使用OData模型连接真实服务 // var url =“/ proxy / http /:/ sap / opu / odata / sap / ZGWSAMPLE_SRV /”; // var oModel = new sap.ui.model.odata.ODataModel(url,true,“”,“”); // oView.setModel(oModel);

        // Using a local model for offline development
        var oModel = new sap.ui.model.json.JSONModel("model/mock.json");
        oView.setModel(oModel);
    
        // done
        return oView;
    }
    

    });

    输出如下![在此处输入图像说明] [1]

    在输出中显示MasterTitle而不是Sales Oreders

    我想在Xml视图页面的标题中显示销售订单而不是MasterTitle

1 个答案:

答案 0 :(得分:0)

我们应该始终使用相对于我们自己的组件的绝对路径。 因为如果在Fiori Launchpad中运行,相对路径将失败。

    var oRootPath = jQuery.sap.getModulePath("sap.ui.demo.myFiori");
    // Set i18n model
    var i18nModel = new sap.ui.model.resource.ResourceModel({
        bundleUrl : [oRootPath, "i18n/messageBundle.properties"].join("/")
    });
    this.setModel(i18nModel, "i18n");

您可以在最后一行放置中断模型,并检查模型是否包含任何数据。