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

  • 本文关键字:处理 模型 语言 表单 sapui5
  • 更新时间 :
  • 英文 :


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

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

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

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

也许您已经做了类似的事情或对此有一些想法,感谢您的任何帮助!

你不应该做这些事情。有一些机制(通常称为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

如果您在没有任何硬编码翻译的情况下编写应用代码,但始终遵循上述链接中的规则,则添加语言应该很简单。

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

最新更新