2011-02-22 40 views
1

我刚刚开始在我的网站上添加对多种语言的支持......遇到了麻烦。这里是我到目前为止所采取的步骤:如何在Sitecore中设置多个语言网站?

  1. 在控制面板 - >全球化,增加了新的语言(德语)

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

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

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

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

我在这里错过了什么?

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

+0

我不确定,但是您是否增量发布?这种变化可能至少需要智能发布。只是一个想法... – 2011-02-22 20:00:13

回答

4

好吧,看起来我只是有语言代码错误。将网站语言设置为“de-DE”而不是“de”即可。

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

0

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

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

+0

是的,我用一些德国文字填写了字段。 – Bryan 2011-02-22 19:50:39