我尝试在我的应用程序中实现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
|--查看
|--i18n/i18n.properties
|--....
..。
我还试图在控制器中声明模型,但它也不起作用。
在这两种情况下,都创建了模型,但它是空的。
i18n.properties存在并具有值。
我做错了什么?
谢谢。
发布于 2016-03-29 22:50:45
在component.js的初始化函数中尝试这样做:
// 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");发布于 2016-04-03 13:38:35
这些都不起作用,所以我创建了一个新的标准SAPUI5项目,并从旧项目中移动了代码。i18n模型现在运行得很好。
https://stackoverflow.com/questions/36244796
复制相似问题