Asp.net core 食人鱼CMS定位

Asp.net core 食人鱼CMS定位,asp.net-core,localization,content-management-system,piranha-cms,Asp.net Core,Localization,Content Management System,Piranha Cms,如何定位优秀的食人鱼无头CMS解决方案? 我希望能够允许用户选择一种语言,并在该选择的功能中显示内容。我只想显示两组页面,没有全球化 善良的人 Karel由于CMS本身在这一点上不是多语言的,您最好的选择是添加两个不同的站点,每种语言一个。例如,在站点的主机名字段中,您可以将其设置为: mydomain.com // For the default site mydomain.com/lang // For the translated site 当然,这方面的缺点是必须管理两个不同

如何定位优秀的食人鱼无头CMS解决方案? 我希望能够允许用户选择一种语言,并在该选择的功能中显示内容。我只想显示两组页面,没有全球化

善良的人


Karel

由于CMS本身在这一点上不是多语言的,您最好的选择是添加两个不同的站点,每种语言一个。例如,在站点的主机名字段中,您可以将其设置为:

mydomain.com      // For the default site
mydomain.com/lang // For the translated site
当然,这方面的缺点是必须管理两个不同的站点地图

另一个选项是创建一个
TranslationRegion
,您可以在其中翻译页面的所有基本字段,例如:

public class PageLocalization {
    [Field]
    public StringField Title { get; set; }
    [Field]
    public StringField NavigationTitle { get; set; }
    [Field]
    public StringField Keywords { get; set; }
    [Field]
    public TextField Description { get; set; }
}
您还可以为HTML内容创建一个可重用区域,如下所示:

public class HtmlLocalization {
    [Field]
    public HtmlField Body { get; set; }
    [Field]
    public HtmlField TranslatedBody { get; set; }
}
然后在构建页面类型时使用这些选项

[PageType(Title = "My Page")]
public class MyPage : Page<MyPage> {
    [Region]
    public PageLocalization PageLocalization { get; set; }
    [Region]
    public HtmlLocalization MainContent { get; set; }
}
[页面类型(Title=“我的页面”)]
公共类MyPage:第页{
[地区]
公共页面本地化页面本地化{get;set;}
[地区]
公共HtmlLocalization主内容{get;set;}
}
使用此解决方案,您只需要一个站点和一个站点地图,但视图必须根据choosen语言处理呈现站点时要使用的字段

正如我前面提到的,食人鱼CMS中确实没有内置多语言支持的功能,但将来可能会添加。GitHub对它提出了一个功能要求,但在不久的将来还没有计划开发它


问候

谢谢你@Håkan Edling。我正在尝试不同的途径。