多种语言的表单内容:查看行为和模型处理

时间:2019-07-14 18:41:39

标签: sapui5

目前,我正在开发一个应用程序,用户可以在其中为目录创建产品。状态是,他可以用一种语言执行此操作,数据将发送到后端并保存。下一步将是使该创建过程为多种语言做好准备,例如英语或法语。该行为应如下所示,他在一个下拉字段中选择了一种语言,并获得了一种使用所选语言的表格。

到目前为止,我遇到的问题和解决方案:

1)视图处理应该如何?我应该为每种语言创建一个新的片段并交换内容吗?如果我是正确的,那将意味着我将需要销毁语言并为其创建碎片,对吗?然后再次使用绑定模型创建它们。

2)我应该如何处理一个或多个模型?我是否应该使用它们共享的数据创建一个模型,例如创建日期并创建具有语言相关属性的模型?那就是我现在的解决方案。

也许您已经做了类似的事情或对此有所想法,谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您都不应该做这些事情。有适当的机制(通常称为i18n)可以帮助您完成此过程。 UI5帮助可在此处获得:

https://ui5.sap.com/sdk#/topic/df86bfbeab0645e5b764ffa488ed57dc

https://ui5.sap.com/sdk#/topic/5424938fc60244c5b708d71b50a0eee4

总而言之,应使用i18n机制和oData登录语言来完成翻译。

登录到该应用程序后,假设该应用程序托管在SAP网关或SCP / Launchpad上,则用户当前的登录语言将驱动至少所有标准SAP可翻译文本,例如从oData服务中的数据元素返回的标签。适当的url参数为sap-language=EN,但它是根据当前浏览器设置自动设置的。通常,您不必为此担心。

相同的浏览器设置驱动哪个特定的i18n文件被加载。这可能很具体,例如en_US(对于美国英语)或fr(对于法语)。

如果您对应用进行编码时没有任何硬编码的翻译,但始终遵循上面链接中的规则,那么添加语言应该很简单。

这些翻译也可以通过下拉菜单以编程方式触发,但我从未尝试过,因为这对我的用户来说是额外的步骤。