我正在研究2sxc应用程序,它将用于多种语言。有许多内容类型字段具有标签(名称)和值(内容)。我知道如何使用多语言选项的值(内容),它的工作非常好。 我想知道是否有任何方法可以在Razor视图中翻译内容类型字段的标签。可以选择使用2sxc后端来翻译这些名称,但我找不到如何在我的视图中编写该文件(cshtml文件)。
答案 0 :(得分:0)
最好的方法是检查类型。所以基本上每个实体在使用AsEntity(...).Type
时都会给你一个类型对象。它具有AttributeDefinition
类型的属性,其具有Name
- 官方名称 - 和元数据。
对于您想要做的事情,您是否想要选择正确名称的属性,然后在元数据中查找将为您提供翻译名称的项目。这有点复杂,但直截了当。
这里是伪代码:
function getTranslatedName(IEntity entity, string field)
{
var attribs = entity.Attributes.First(a => a.Name == field);
var basicMeta = attrib.Metadata
.FirstOrDefault(d => d.Type.StaticName == "@All");
return basicMeta?.GetBestValue("Name");
}