Internationalization 为数据绑定组织i18n源文件

Internationalization 为数据绑定组织i18n源文件,internationalization,sapui5,Internationalization,Sapui5,我有一个用英语编写的SAPUI5 SplitApp应用程序。需要将翻译添加到另一种语言中 我已经使用文档对所有详细视图进行了更改,并且使用了第一种方法jQuery.sap.resources。所有翻译都位于WebContent>i18n>i18n.properties文件和另一种语言的.properties文件中。它是有效的 有问题的部分是位于母版页上的我的主菜单。为了构建主菜单,我使用数据绑定方法。以下是菜单的元素以及如何绑定它们: 我仍然希望对母版页使用数据绑定 创建/组织包含菜单元素的文件

我有一个用英语编写的SAPUI5 SplitApp应用程序。需要将翻译添加到另一种语言中

我已经使用文档对所有详细视图进行了更改,并且使用了第一种方法jQuery.sap.resources。所有翻译都位于WebContent>i18n>i18n.properties文件和另一种语言的.properties文件中。它是有效的

有问题的部分是位于母版页上的我的主菜单。为了构建主菜单,我使用数据绑定方法。以下是菜单的元素以及如何绑定它们:

我仍然希望对母版页使用数据绑定


创建/组织包含菜单元素的文件和包含这些元素翻译的文件的最佳方法是什么?

我不太明白你的问题

您想为控件和i18n使用数据绑定—这不是问题,只需使用两个模型并为其中一个命名即可

var oModel = [The model with the data]
var oModeli18n = [The i18n model]

sap.ui.getCore().setModel(oModel);
sap.ui.getCore().setModel(oModeli18n, "i18n");
现在,您可以仅使用路径绑定普通数据,例如在XML视图中:

<Text text="{title}" />
只需在路径前面加上您之前设置的模型名称,即可绑定到i18n模型:

<Text text="{i18n>SOME_TEXT}" />
您可以将此方法用于任何类型的模型,并选择您想要的任何名称

如果我没有回答你的问题,请更详细地解释你的问题

更新:

我使用您的代码制作了一个简单的基本绑定示例:
您只需添加bundle…

菜单的JSON是否来自服务器?如果是这样,您需要将区域设置/语言传递给服务器端代码并在那里处理翻译。@stpc,不,JSON不是动态的,它在项目的一个文件夹中。我不太理解带有菜单和transtation的源文件应该是什么样子的。你能给他们两个举个小例子吗?我的意思是,我的JSON文件在主菜单中应该是什么样子的,如果它看起来与现在的不同,翻译文件应该是什么样子的,应该放在哪里,应该有什么后缀?为什么不使用JSON呢。将其放入menu.json中,并通过文件的URL将数据加载到JSONModel中。请参阅关于如何使用资源束的说明。对于另一个模型,您可以选择要填充的数据类型,但JSON将是最简单的解决方案。如果我理解正确的话,我应该有一个名为translations的.properties文件,在您的示例中为i18n模型翻译成另一种语言。主要问题是:该文件应该是什么样子?您能否显示第一个菜单项“添加报告”的示例?其格式如下: