Piranha CMS 本地化
Posted
技术标签:
【中文标题】Piranha CMS 本地化【英文标题】:Piranha CMS localisation 【发布时间】:2018-09-15 02:32:31 【问题描述】:如何本地化出色的 Piranha Headless CMS 解决方案? 我希望能够允许用户选择一种语言并根据该选择显示内容。我只想显示两组页面,没有全球化。
亲切的regsrds,
卡雷尔
【问题讨论】:
【参考方案1】:由于此时 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;
使用此解决方案,您只需要一个站点和一个站点地图,但视图必须根据所选语言处理在呈现站点时使用哪些字段。
就像我之前提到的,Piranha CMS 中确实没有内置功能来支持多语言,但将来可能会添加它。 GitHub 上有一个功能请求,但在不久的将来没有计划开发它。
问候
【讨论】:
谢谢@Håkan Edling。我正在尝试不同的路径。以上是关于Piranha CMS 本地化的主要内容,如果未能解决你的问题,请参考以下文章
有人可以解释 Piranha.vNext CMS 中的“块”概念吗?