由于Design Studio 1.5,可以使用标准组件文本池和标准SAP后端本地化功能(例如,根据用户的语言设置设置日期格式)为多语言场景设计仪表板。但是SDK组件呢?不用担心,我们为您准备了一些东西。
本地化和国际化在软件方面通常缩写为i18n。SAP在其SAPUI5库中使用该术语作为翻译方法。
首先,您需要确定用户的区域设置。您可以使用以下方法:
此.sCurrentLocale= sap.ui.getCore().getConfiguration().getLanguage()
此方法将返回一个语言标识符(例如德语的"de"),该标识符可再次用于加载包含翻译的所需属性文件。可以使用通过jQuery公开的SAP资源库根据需要加载这些文件。请注意,由于默认情况下已加载库,因此不必包含库。
jQuery.sap.resources资源({url:,区域设置:此.sCurrentLocale});
当然还有很多其他库/插件,大数据怎么查询,甚至基于jQuery的库/插件也支持这种本地化机制。对于本文,我坚持使用SAPUI5实现。
属性文件需要包含键值对。标识属性和相应文本的键。使用SAP语言代码作为后缀的文件命名约定允许您使SDK属性和文本可翻译(例如"i18n")_ja.属性"日语翻译)。您需要提供一个可以从中派生本地化版本的默认文件。在我的例子中,关于上面的例子,名称将是"i18n.properties"。
属性文件内容的例子:
#SCN SDK社区属性文件支持我们的SDK组件的文本翻译
#作者:Martin Pankraz
#版本1.0(2016年2月21日)
您的Š标识符=我的翻译值
如何提供到属性文件到SDK组件?最简单的方法是将属性添加到贡献.xml"Url类型的文件。designstudio框架将确保访问路径是正确的,并在设计时为您提供一个文件选择对话框。您需要为属性选择默认文件,并将所有翻译放在同一文件夹中!库将通过在默认文件名中添加后缀来加载翻译。因此,您需要确保文件命名是正确的。再次检查下面加载翻译的方法。
var oBundle=jQuery.sap.resources资源({url:,区域设置:此.sCurrentLocale});
变量oBundle将包含加载的语言文件中提供的键值对。您可以使用:
访问它们oBundle.getText文件("您的_标识符");
现在您可以将此文本分配给SDK组件上的任何文本,并准备好支持多种语言。
我建议在没有加载属性文件时,确保提供英文默认文本,以便于仪表板设计器使用。除此之外,最好提供一个小文档,这样设计师就可以了解在属性文件上使用什么键来实际提供英语以外的新语言。
如果您想使用SAP的标准工具为您的SDK组件提供翻译,您可以在您的软件包上使用属性类型"Text""贡献.xml"文件。在此过程中,此属性将是可翻译的(请查看《开发人员指南:Design Studio SDK 1.6》第29页)。
测试SDK组件本地化的一个简单方法是向Internet Explorer添加一种附加语言(Intern options->language->add),游戏返利平台,并将其移到列表顶部,使其成为默认区域设置。现在,您可以检查是否加载了相应的属性文件,文本是否按预期进行了翻译。对于我的第一个实现,我添加了日语,并注意到我的i18n_ja.财产文件已成功加载。
确保字符编码支持目标语言的字符集。
要依赖SAP的标准翻译工具,物联网设备,您应坚持使用标准文本池组件和SDK组件属性类型"TEXT"。如果没有必要的话,什么是云,SAPUI5资源库方法也是非常简单、灵活的,云服务器促销,并且在SAPUI5之上是兼容的。对于社区存储库,我们还没有决定如何更大规模地处理这个主题。我们有一些想法将其与共享组件集成,并修改代码生成器,以便新生成的社区组件可以开箱即用地进行翻译。也可以修改所有组件以使用"Text"类型的属性。您可以在我们的Multimbobox组件上查看SAPUI5方法的编码。
随时可以问很多后续问题。