我刚刚开始在我的网站上添加对多种语言的支持......遇到麻烦。以下是我到目前为止采取的步骤:
在控制面板中 - >全球化,增加了一种新语言(德语)
在<site>
Web.config
和hostName="localGerman.com"
中添加了新的language="de"
定义。还在我的hosts文件中为localgerman.com添加了一个别名,指向localhost并在IIS中添加了主机头。
去了我树上的一个项目并为德语添加了一个新版本。发布整个网站。
现在,主机/站点设置似乎正常。什么时候去http://localgerman.com/
我得到了我的主页,有很多缺少的数据...没有德语版...所以似乎使用了正确的语言。
然而......当我去项目时我添加了德语版本,我仍然得到空白数据。在调试器中,我可以看到Sitecore.Context.Item
是德语版本...但所有字段都是空白的。 Item["Content"]
返回一个空字符串。如果我在URL(http://localgerman.com/myitem.aspx?sc_lang=en
)上手动将语言设置为“en”,那么我会获得包含数据的英文版本。
我在这里缺少什么?
另外......加载德语主页时......我的菜单是空白的。大概是因为生成此内容的项目没有德语版本。我假设当无法加载给定项目的特定于语言的版本时,会使用默认语言版本吗?但事实似乎并非如此。我错了吗?
答案 0 :(得分:4)
好的,看起来我的语言代码错了。将网站语言设置为“de-DE”而不仅仅是“de”工作。
这有点令人困惑,因为默认网站使用language =“en”而不是en-US。
答案 1 :(得分:0)
您添加了项目的德语版本,但是您是否填写了德语字段?创建新版本时,默认情况下,任何可本地化的字段(非共享)都将为空。听起来你正确地做了其他部分。
预期菜单为空白:当您尝试获取不存在的项目的语言版本时,Sitecore将返回null
。