gpt4 book ai didi

javascript - i18n 模型不能正常工作

转载 作者:行者123 更新时间:2023-11-30 12:25:16 26 4
gpt4 key购买 nike

我有一个代码可以检查来自服务器的响应并根据收到的信息显示消息框。我有 2 种语言的这些消息(用户在登录期间选择一种语言)。这是示例:

if(sResponse == 'IDfail'){
sap.m.MessageBox.alert
("{i18nResourceModel>idnotnine}",
{icon: sap.m.MessageBox.Icon.ERROR,
title: "{i18nResourceModel>error}"}
);
}

这是 i18n 模型声明(当然是在我使用模型之前声明的):

var oResourceModel = new sap.ui.model.resource.ResourceModel
({bundleUrl: "i18n/i18n.properties", bundleLocale: "en"});
sap.ui.getCore().setModel(oResourceModel, "i18nResourceModel");

我有 2 个 .properties 文件:i18n.properties(英语)和 i18n_iw.properties(希伯来语)。

奇怪的是,消息框的 title 被正确翻译,但我看到的不是消息本身,而是文本:“i18nResourceModel>idnotnine”。

之前它运行良好,但我无法弄清楚发生了什么。

可能是什么原因导致了这个问题,我该如何解决?

谢谢。

最佳答案

数据绑定(bind)在函数调用中通常不起作用,如 sap.m.MessageBox.alert()。您必须手动获取文本,例如:

var resourceModel = sap.ui.getCore().getModel("i18nResourceModel");
var alertText = resourceModel.getProperty("idnotnine");
var alertTitle = resourceModel.getProperty("error");

sap.m.MessageBox.alert(alertText, {
icon: sap.m.MessageBox.Icon.ERROR,
title: alertTitle
}
);

此外,您还可以查看有关如何使用 ResourceBundle 的最新指南 here .

关于javascript - i18n 模型不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29632022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com