Sapui5 i18n模型为空

Sapui5 i18n模型为空,sapui5,Sapui5,我尝试在我的应用程序中实现i18n模型,但由于某种原因,无论我尝试做什么,该模型都保持为空 我使用WebIDE,我必须处理由其他人创建的项目。该项目的结构不同于标准的SAPUI5应用程序(没有manifest.json,没有webapp文件夹,Component.js看起来不同等等) 我已经尝试在component.js中声明i18n模型并将其绑定到核心: var i18nModel=new sap.ui.model.resource.ResourceModel({ bundleName:“生成

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

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

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

var i18nModel=new sap.ui.model.resource.ResourceModel({
bundleName:“生成的.app.i18n.i18n”
});
setModel(i18nModel,“i18n”);
在component.js的init()函数中(“generated.app”是一个名称空间)

在我看来:


.....
该项目的结构如下所示:

-项目名称

|--看法

|--i18n/i18n.properties

|--

我还试图在控制器中声明模型,但也不起作用

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

i18n.properties
存在并具有值

我做错了什么


谢谢。

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

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

没有任何效果,因此我创建了一个新的标准SAPUI5项目,并将代码从旧项目中移走。i18n模型现在运行良好。

什么都不起作用,所以我创建了一个新的标准SAPUI5项目,并将代码从旧项目中移走。i18n机型现在可以正常工作。

控制台怎么说?我假设模型无法加载捆绑包。@matbtt控制台显示模型的对象。没有错误。对象的
\u oResourceBundle
属性包含有关区域设置的数据,但不包含属性文件。据我所知,您还应该将模型设置为视图。如果你能说出你使用的是哪个版本,我可以提供更多帮助。在旧版本中,我在
Component.js
中的
createContent
函数中创建根视图。然后我设置了我的模型,比如
oView.setModel(oi18nModel,“i18n”)
你忘了给i18n一个URL,物理i18n文件位于你的文件夹结构中,这个属性叫做bundleUrl。。。没有它,任何模型都无法安装。@zyrex我只是尝试添加以下属性:
bundleUrl:“i18n/i18n.properties”
,但模型仍然为空。我定义模型的component.js位于根文件夹中。控制台怎么说?我假设模型无法加载捆绑包。@matbtt控制台显示模型的对象。没有错误。对象的
\u oResourceBundle
属性包含有关区域设置的数据,但不包含属性文件。据我所知,您还应该将模型设置为视图。如果你能说出你使用的是哪个版本,我可以提供更多帮助。在旧版本中,我在
Component.js
中的
createContent
函数中创建根视图。然后我设置了我的模型,比如
oView.setModel(oi18nModel,“i18n”)
你忘了给i18n一个URL,物理i18n文件位于你的文件夹结构中,这个属性叫做bundleUrl。。。没有它,任何模型都无法安装。@zyrex我只是尝试添加以下属性:
bundleUrl:“i18n/i18n.properties”
,但模型仍然为空。我定义模型的component.js位于根文件夹中。