目前我的工作是一个应用程序,用户可以在其中为目录创建产品。状态是,他可以用一种语言做这件事,数据被发送到后端并保存。下一步将是使这个创建过程为多种语言做好准备,例如英语或法语。行为应该如下所示,他选择下拉字段中的语言,并获得所选语言的表单。
我遇到的问题和我到目前为止的解决方案:
1)视图的处理方式是什么?我应该为每种语言创建一个新的片段并交换内容吗?如果我是正确的,这意味着我将需要破坏和创建语言的碎片,对吗?然后使用绑定的模型再次创建它们。
2)模型/模型该如何处理?我是否应该使用它们共享的数据创建一个模型,例如创建日期,并创建一个具有语言相关属性的模型?这就是我现在的解决方案。
也许你已经做过类似的事情,或者对此有一些想法,谢谢你的帮助!
发布于 2019-07-15 08:50:42
这两件事你都不应该做。有一些机制可以帮助您完成此过程,通常称为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
。
如果你在没有任何硬编码翻译的情况下编写你的应用程序,但总是遵循上面链接中的规则,添加一种语言应该是微不足道的。
这些翻译可能也可以通过下拉菜单以编程方式触发,但我从未尝试过,因为这对我的用户来说是额外的步骤。
https://stackoverflow.com/questions/57030179
复制相似问题