Я только начинаю добавлять поддержку нескольких языков на свой сайт... возникли проблемы. Вот шаги, которые я предпринял до сих пор:
В Панели управления -> Глобализация добавлен новый язык (немецкий).
Добавлено новое определение
<site>
вWeb.config
сhostName="localGerman.com"
иlanguage="de"
. Также добавил псевдоним в файл hosts для localgerman.com, чтобы указать на localhost, и добавил заголовок хоста в IIS.Перешел к элементу в моем дереве и добавил новую версию для немецкого языка. Опубликован весь сайт.
Теперь настройка хоста/сайта работает нормально. Когда я перехожу к http://localgerman.com/
, я получаю свою домашнюю страницу с большим количеством недостающих данных... немецкой версии нет... так что, кажется, используется правильный язык.
Однако... когда я перехожу к элементу, для которого я добавил немецкую версию, я все равно получаю пустые данные. В отладчике я вижу, что Sitecore.Context.Item
это немецкая версия... но все поля пусты. Item["Content"]
возвращает пустую строку. Если я вручную установлю язык «en» в URL-адресе (http://localgerman.com/myitem.aspx?sc_lang=en
), я получу английскую версию с данными.
Что мне здесь не хватает?
Кроме того... при загрузке домашней страницы на немецком языке... мое меню пусто. Предположительно, потому что элементы, которые генерируют этот контент, не имеют немецких версий. Я исходил из того, что, когда языковая версия для данного элемента не может быть загружена, используется языковая версия по умолчанию? Но, похоже, это не так. Я ошибся?