我的 SAPUI5 控件存在语言问题。
如果我执行例如:
sap.ui.getCore().getConfiguration().setLanguage("de");
我的 i18n 文件已正确加载,所有标签均已翻译为德语。但控件仍然是英文的。
获取德语控件的唯一方法是使用 URL 参数:
sap-ui-language=DE
但我不能在我的例子中使用参数。任何想法?
请注意sap.ui.getCore().setLanguage()明确指出
框架does not保证已创建的、语言相关的对象将通过此调用进行更新。因此,应用程序尽早切换语言仍然是最佳实践,例如在创建任何语言相关对象之前。需要支持更动态的语言变化的应用程序应该监听localizationChanged
事件并调整他们使用的所有语言相关对象(例如通过重建他们的 UI)。
除此之外,我完全支持 Nabi 的回答(但我不被允许投票)。
我只是想添加该控件(例如FilterBar
)更好应该使用钩子方法:
FilterBar.prototype.onlocalizationChanged = function(oEvent) {
// .. same bundle update code as in Nabi's proposal
}
在控件中使用挂钩可以避免在 init/exit 中添加附加 + 分离调用,并保持事件注册表较小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)