sitecore 中多语言网站的最佳设计

best design for a multilingual site in sitecore

刚开始使用 Sitecore。我在一个多语言网站上工作,想知道其信息架构的标准设计。该站点具有两种语言(英语和日语)的通用设计。图片/产品报价会更改几页。

用户将从网站的下拉菜单中选择语言。网址为

http://www.example.com/en/index.html
http://www.example.com/ja/index.html

经过一些研究,这是我想出的一个结构,可以继续。

Sitecore
 Content
  en
    index
    gallery
    products
  ja
    index
    gallery
    products

在我们开始构建之前,想知道是否还有其他更好的方法。谢谢。

除非您的 JA 和 EN 网站计划采用完全不同的结构,否则您不需要它们。相反,我会建议类似:

Sitecore
    Content
        SiteName
            Home
                Gallery 
                Products

然后为每个页面创建一个英语和一个日语版本。然后,Sitecore 将在 URL 中包含该语言。

两种方法都完全有效。我们两者都用过,在某些网站上甚至是两者的组合。

需要注意的事项:如果您建立了例如基于树中项目的导航,在第二个版本(语言版本)中,你总是需要在渲染之前检查每个项目是否有一个版本,例如

foreach(var child in parent.Children)
{
    if (child.Versions.Count > 0) { //do something with child

如果您采用建议的方法,那么我建议您查看 <sites> 配置,因为这允许您将一个 url 指向一个节点,另一个指向另一个节点。

每个实现都可以共享模板之类的东西。如果您要设置语言版本,则需要考虑每种语言的 __standard values

我们经常根据每个站点之间的差异来决定其中之一。如果您有很多页面使用一种语言而不是另一种语言,那么您的第一种方法可能会更好。您始终可以在站点之间共享公共内容,但是编辑者会更难知道在哪里编辑:content/en vs content/ja vs content/common.