SAPUI5:i18n的getModel用于特定文件而不是语言环境

2020-08-20 12:36发布

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

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


我有两种型号的i18n:

  • i18n_en.properties为英语
  • i18n_ar.properties阿拉伯语

我的目标是尽管使用网站的语言,但仅获取英语的对应文本。

以下功能根据网站语言获取文本。

  fGetText:function(sText){
             var oBundle = this.getView()。getModel(" i18n")。getResourceBundle();
             返回oBundle.getText(sText);

         }
  

示例:

  fGetText(country.name);
//打印"国家名称"(基于语言)。
  

我尝试更改为获取模型i18n_en而不是像这样的所有模型:

  var oBundle = this.getView()。getModel(" i18n_en")。getResourceBundle();
  

但是,它总是根据网站语言的语言来调用文本(如果网站是阿拉伯语,则称为阿拉伯语文本,否则为英语)。

有没有一种方法可以调用特定语言的文字?

感谢您的帮助!

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

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


我有两种型号的i18n:

  • i18n_en.properties为英语
  • i18n_ar.properties阿拉伯语

我的目标是尽管使用网站的语言,但仅获取英语的对应文本。

以下功能根据网站语言获取文本。

  fGetText:function(sText){
             var oBundle = this.getView()。getModel(" i18n")。getResourceBundle();
             返回oBundle.getText(sText);

         }
  

示例:

  fGetText(country.name);
//打印"国家名称"(基于语言)。
  

我尝试更改为获取模型i18n_en而不是像这样的所有模型:

  var oBundle = this.getView()。getModel(" i18n_en")。getResourceBundle();
  

但是,它总是根据网站语言的语言来调用文本(如果网站是阿拉伯语,则称为阿拉伯语文本,否则为英语)。

有没有一种方法可以调用特定语言的文字?

感谢您的帮助!

付费偷看设置
发送
3条回答
大道至简
2楼-- · 2020-08-20 13:09

哦,当然。†使用模型显然可以使您处于更好的位置。

xfwsx85
3楼-- · 2020-08-20 13:22

与Ethan相比,我过去曾使用过资源模型。

创建一个新的资源模型,如下所示:

var i18nModel = new sap.ui .model.resource.ResourceModel({bundleName:" namespace.app name.i18n.i18n",bundleLocale:" nlNL"})

Bundlelocale将加载该语言的i18n。

使用以下新资源模型更新i18n模型:
this.setModel(i18nModel," i18n")

有关资源模型的更多详细信息: https://ui5.sap.com/#/api/sap.ui.model.resource.ResourceModel

一周热门 更多>