i18n型号为空

时间:2016-03-27 07:10:53

标签: sapui5

我尝试在我的应用程序中实现i18n模型,但由于某种原因,无论我尝试做什么,模型都保持空白。

我使用WEB IDE,我必须使用由其他人创建的项目。项目的结构不同于标准的SAPUI5应用程序(没有manifest.json,没有webapp文件夹,Component.js看起来不同等。)。

我已经尝试过的是在component.js中声明i18n模型并将其绑定到核心:

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

在component.js的init()函数中(" generated.app"是命名空间)。

而不是我认为:

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

项目结构如下:

-Project_Name

| --view

| --i18n / i18n.properties

| --....

...

我也尝试在控制器中声明模型,但它也没有工作。

在这两种情况下都会创建模型,但它是空的。

i18n.properties存在且具有值。

我做错了什么?

谢谢。

2 个答案:

答案 0 :(得分:1)

在component.js中的init-function期间尝试:

// 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");

答案 1 :(得分:0)

没有任何效果,所以我创建了一个新的标准SAPUI5项目,并从旧项目中移动了代码。 i18n模型现在工作正常。