【问题标题】:How to get multiple language sites set up in Sitecore?如何在 Sitecore 中设置多语言网站?
【发布时间】:2011-07-02 06:19:56
【问题描述】:

我刚刚开始在我的网站上添加对多种语言的支持...遇到了一些问题。以下是我目前采取的步骤:

  1. 在控制面板 -> 全球化中,添加了一种新语言(德语)

  2. Web.config 中添加了一个新的<site> 定义hostName="localGerman.com"language="de"。还在我的 hosts 文件中为 localgerman.com 添加了一个别名以指向 localhost,并在 IIS 中添加了主机头。

  3. 转到我的树中的一个项目,并为德语添加了一个新版本。发布整个网站。

现在,主机/站点设置似乎工作正常。什么时候去http://localgerman.com/ 我得到我的主页,有很多缺失的数据...没有德语版本...所以似乎使用了正确的语言。

但是...当我转到添加了德语版本的项目时,我仍然得到空白数据。在调试器中,我可以看到Sitecore.Context.Item 是德文版本……但所有字段都是空白的。 Item["Content"] 返回一个空字符串。如果我在 URL (http://localgerman.com/myitem.aspx?sc_lang=en) 上手动将语言设置为“en”,那么我会得到带有数据的英文版本。

我在这里错过了什么?

另外...加载德语主页时...我的菜单是空白的。大概是因为生成此内容的项目没有德语版本。我假设当无法加载给定项目的特定语言版本时,使用默认语言版本?但情况似乎并非如此。我错了吗?

【问题讨论】:

  • 我不确定,但你有增量发布吗?这样的改变可能至少需要智能出版。只是一个想法......

标签: sitecore sitecore6


【解决方案1】:

好的,看来我只是语言代码有误。将网站语言设置为“de-DE”,而不仅仅是“de”。

这有点令人困惑,因为默认站点使用 language="en" 而不是 en-US。

【讨论】:

    【解决方案2】:

    您添加了德语版本的项目,但您是否用德语填写了字段?创建新版本时,任何可本地化的字段(非共享)默认为空。听起来你做的其他部分是正确的。

    菜单应为空白:当您尝试获取不存在的项目的语言版本时,Sitecore 将返回 null

    【讨论】:

    • 从您的描述看来,安装或设置中似乎有问题。尝试使用德语 API (Sitecore.Context.Database.GetItem) 获取项目并检查字段是否有内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 2011-09-01
    相关资源
    最近更新 更多