标准SAPUI5应用程序的定制翻译

2020-09-01 02:40发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我目前正在从SAP Marketing实施对标准应用程序的扩展。

扩展名包含需要翻译成不同语言的新文本。 在我以前的扩展中,我也可以将标准应用程序的翻译密钥用于我的扩展。 在这种情况下,i18n.properties文件的第一行的结构始终如下:

#SAPUI5翻译键XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

但是,在我当前正在编辑的标准应用程序中,它看起来像这样:

#这是Campaign的资源包
 #__ldi.translation.uuid = 8e965d5e-c905-4b60-ac2a-205abb14046 

在事务se63中,找不到连字符(带或不带连字符)的翻译密钥(甚至是翻译密钥吗?)。 此外,在标准应用中,每种语言的翻译都保存在一个文件中(例如i18n_de.properties)。 这就是为什么我不确定此标准应用程序甚至没有翻译密钥的原因。

我不想为扩展名创建新的翻译密钥并使用它。 完成此操作后,还必须为新的翻译密钥保留标准应用程序的所有翻译。

有人熟悉这种翻译吗? 如何为扩展程序维护翻译?

最好的问候,
基督徒

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我目前正在从SAP Marketing实施对标准应用程序的扩展。

扩展名包含需要翻译成不同语言的新文本。 在我以前的扩展中,我也可以将标准应用程序的翻译密钥用于我的扩展。 在这种情况下,i18n.properties文件的第一行的结构始终如下:

#SAPUI5翻译键XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

但是,在我当前正在编辑的标准应用程序中,它看起来像这样:

#这是Campaign的资源包
 #__ldi.translation.uuid = 8e965d5e-c905-4b60-ac2a-205abb14046 

在事务se63中,找不到连字符(带或不带连字符)的翻译密钥(甚至是翻译密钥吗?)。 此外,在标准应用中,每种语言的翻译都保存在一个文件中(例如i18n_de.properties)。 这就是为什么我不确定此标准应用程序甚至没有翻译密钥的原因。

我不想为扩展名创建新的翻译密钥并使用它。 完成此操作后,还必须为新的翻译密钥保留标准应用程序的所有翻译。

有人熟悉这种翻译吗? 如何为扩展程序维护翻译?

最好的问候,
基督徒

付费偷看设置
发送
1条回答
spaceman01
1楼 · 2020-09-01 03:04.采纳回答

我找到了解决问题的方法:

  1. 我通过在事务se38中运行程序/UI5/TEXT_FILE_GEN_TRANS_KEY生成了一个新的翻译密钥
  2. 我创建了一个新文件夹i18n,并向其中添加了i18nCustom.properties文件。 然后,将转换键和默认转换添加到文件中,就像常规的i18n.properties文件一样。
  3. 下一步,我将以下代码添加到扩展的manifest.json文件的sap.ui5属性中,以启动自定义翻译文件:
"型号":{
     " i18nCustom":{
         " type":" sap.ui.model.resource.ResourceModel",
         "设置":{
             " bundleName":" <您的组件> .i18n.i18nCustom"
         }
     }
 } 

请注意,您现在必须在视图中使用类似{i18nCustom> property}的东西,而不是使用标准模型。

4.为了使用自定义文件增强标准翻译文件,我向BaseController添加了以下代码。 您也可以仅在其视图使用自定义转换的控制器中添加代码。

 onBeforeRendering:function(){
     var i18n = this.getModel(" i18n"); //获取标准的i18n文件
     var sBundleURL = this.getModel(" i18nCustom")。getResourceBundle()。oUrlInfo.url;
     i18n.enhance({bundleUrl:sBundleURL}); //将自定义i18n文件与标准文件合并
 } 

希望如果有人遇到相同的问题,这会有所帮助。

一周热门 更多>