javascript - SAPUI5 中的语言切换

标签 javascript sapui5

我的 SAPUI5 控件存在语言问题。

如果我执行例如:

sap.ui.getCore().getConfiguration().setLanguage("de");

我的 i18n 文件已正确加载,所有标签都已翻译成德语。但是控件仍然是英文的。

获取德语控件的唯一方法是使用 URL 参数:

sap-ui-language=DE

但是我不能在我的例子中使用参数。有什么想法吗?

最佳答案

请注意sap.ui.getCore().setLanguage()明确指出

The framework does not guarantee that already created, language dependent objects will be updated by this call. It therefore remains best practice for applications to switch the language early, e.g. before any language dependent objects are created. Applications that need to support more dynamic changes of the language should listen to the localizationChanged event and adapt all language dependent objects that they use (e.g. by rebuilding their UI).

除此之外,我完全支持 Nabi 的回答(但我不能投赞成票)。

我只是想添加控件(如 FilterBar)最好使用 Hook 方法:

FilterBar.prototype.onlocalizationChanged = function(oEvent) {
    // .. same bundle update code as in Nabi's proposal
}

在控件中使用 Hook 避免了在 init/exit 中添加 attach + detach 调用的需要,并使事件注册表保持较小。

关于javascript - SAPUI5 中的语言切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41039588/

相关文章:

sapui5 - HANA Express XSODATA 更​​新操作错误

javascript - 什么是一种强大而巧妙的方法来循环穿过一根绳子并剃掉它的一部分直到

javascript - 如何在页面重新加载后重置 UI5 中的筛选项?

javascript - 在我的 Angular 2 应用程序中安装 ng2-bootstrap 时出现问题

javascript - 如何在 Apigee 中获取 HTTP header 的完整值?

sapui5 - 渲染后如何获得应用程序的实际高度?

javascript - 将 FlexBox 插入图像框架

javascript - SAPUI5 绑定(bind)模型从核心到列表

javascript - Firefox 中未定义 Window.getSelection - 区分大小写

javascript - Mobile Safari iOS 4.2 中面向开发人员的新功能