Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Localization sapui5中fragment.xml文件的本地化(i18n)未出现_Localization_Sapui5 - Fatal编程技术网

Localization sapui5中fragment.xml文件的本地化(i18n)未出现

Localization sapui5中fragment.xml文件的本地化(i18n)未出现,localization,sapui5,Localization,Sapui5,我有一个按钮(创建应用程序),如果我点击一个按钮,就会出现一个零碎的对话框。这里我可以显示零碎的对话框。但是内部化(i18n)并没有出现在字段中。(对于能够显示i18n的xml文件,但是对于fragment.xml文件,无法显示i18n/) component.js: createContent:function(){ //创建根视图 var oView=sap.ui.view({ id:“应用程序”, viewName:“sap.gss.program.view.App”, 键入:“JS”,

我有一个按钮(创建应用程序),如果我点击一个按钮,就会出现一个零碎的对话框。这里我可以显示零碎的对话框。但是内部化(i18n)并没有出现在字段中。(对于能够显示
i18n
xml
文件,但是对于
fragment.xml
文件,无法显示
i18n
/)

component.js

createContent:function(){
//创建根视图
var oView=sap.ui.view({
id:“应用程序”,
viewName:“sap.gss.program.view.App”,
键入:“JS”,
viewData:{组件:此}
});
var i18nModel=new sap.ui.model.resource.ResourceModel({
bundleUrl:“i18n/apptext\u fr.属性”
});
setModel(i18nModel,“i18n”);
返回oView;
}
Controller.js

createApplication:函数(oEvent){
如果(!this.oDialogFragment){
this.oDialogFragment=sap.ui.xmlfragment(“sap.gss.program.view.myFragment”,
这),;
}        
this.oDialogFragment.open();
}
fragment.xml


您还应该为对话框片段设置i18n资源模型

createApplication:函数(oEvent){
如果(!this.oDialogFragment){
this.oDialogFragment=sap.ui.xmlfragment(“sap.gss.program.view.myFragment”,this);
var i18nModel=new sap.ui.model.resource.ResourceModel({
bundleUrl:“i18n/apptext\u fr.属性”
});
这个.oDialogFragment.setModel(i18nModel,“i18n”);
}
this.oDialogFragment.open();
}

您可以使用
依赖项
聚合,将对话框连接到视图;您不需要显式地设置任何模型

因此,在您的情况下,您可以这样做:

createApplication:函数(oEvent){
如果(!this.oDialogFragment){
this.oDialogFragment=sap.ui.xmlfragment(“sap.gss.program.view.myFragment”,this);
}

this.getView().addDependent(oDialogFragment);//通常是最简单的方法,尤其是对于
ResourceModel
来说,只需全局设置它:

sap.ui.getCore().setModel(i18nModel,“i18n”);


现在,您可以从应用程序中的任何地方引用它,并像以前一样绑定到它,无需在视图甚至控制级别上再次设置它。

我也遇到了同样的问题,所以在组件中全局和局部设置模型。它工作正常

sap.ui.getCore().setModel(i18nModel,“i18n”);
这个.setModel(i18nModel,“i18n”);

当您在Fiori Launchpad中工作时,不应这样做,因为它与其他应用程序冲突。只要不涉及任何组件,就可以这样做。否则,请避免在核心上设置模型。更多信息: