You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绕过自动语言检测获取指定英文I18n文本?

获取特定语言(英文)I18n文本的方法

当然可以实现!在SAP UI5中,你完全不需要依赖自动检测的语言,直接创建指定语言的资源包实例就能稳定拿到对应文本。下面是具体的实现方案:

方案一:手动构造英文资源包

你可以用sap.ui.core.resource.ResourceBundle.createBundle()方法,直接生成英文版本的资源包,摆脱自动语言检测的限制。可以修改原有函数,或者新增一个专属函数:

fGetEnglishText: function(sText) {
  // 手动创建英文资源包,指定语言为"en"
  var oEnglishBundle = sap.ui.core.resource.ResourceBundle.createBundle({
    url: this.getView().getModel("i18n").getProperty("/url"), // 复用原i18n模型的资源文件路径
    locale: "en" // 强制指定英文区域设置
  });
  return oEnglishBundle.getText(sText);
}

方案二:复用现有i18n模型配置

如果你的i18n模型已经配置好了正确的资源基础路径,也可以直接通过传入目标语言参数获取对应资源包:

fGetEnglishText: function(sText) {
  var oI18nModel = this.getView().getModel("i18n");
  // 直接传入英文语言代码,获取对应资源包
  var oEnglishBundle = oI18nModel.getResourceBundle("en");
  return oEnglishBundle.getText(sText);
}

小提示

  • 确保i18n_en.properties文件的路径和自动检测时的路径一致,避免找不到资源文件
  • 如果之后需要固定获取其他语言的文本,只要把locale参数改成对应的语言代码(比如阿拉伯语是"ar")就行

这样不管当前页面检测到的是什么语言,都能稳定获取到英文的i18n文本啦!

内容的提问来源于stack exchange,提问作者Abdulelah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 12:22:33