Localization sapui5中fragment.xml文件的本地化(i18n)未出现
我有一个按钮(创建应用程序),如果我点击一个按钮,就会出现一个零碎的对话框。这里我可以显示零碎的对话框。但是内部化(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
的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中工作时,不应这样做,因为它与其他应用程序冲突。只要不涉及任何组件,就可以这样做。否则,请避免在核心上设置模型。更多信息: