Как локализовать названия пунктов меню в Sitecore?

Я занимаюсь локализацией на испанском и китайском языках для сайта Sitecore. Язык оригинала английский. Я научился создавать свои языковые версии страниц. Но я не знаю, как изменить названия самих элементов навигации. Например, когда я просматриваю свои страницы на испанском языке (http://content.example.com/?sc_lang=es), содержимое страницы отображается на испанском языке, но сами элементы навигации (например, «Главная», «О программе», «Продукты» и т. до сих пор на английском языке. Где в редакторах контента или страниц я могу это исправить?


person jamesnotjim    schedule 05.12.2012    source источник


Ответы (4)


Вам необходимо изменить «отображаемое имя» элемента на ленте «Главная». Имейте в виду, что это также влияет на URL элемента для выбранного языка.

Редактировать: возможно, я поторопился с ответом, возможно, я что-то перечитал, потому что мое предложение меняет URL-адрес (если у вас есть настройка «useDisplayName=true», например исправлена ​​jammykam) и имя элемента в дерево контента для конкретного языка.

Если ваши имена, отображаемые в навигации, основаны на именах элементов, то вы можете сделать, как я предложил, изменить имя отображаемого элемента для текущего языка и заставить код смотреть на отображаемое имя вместо имени элемента.

Другой вариант — использовать отдельное поле для заголовка меню, если вы хотите, чтобы ваши заголовки отличались от URL-адресов.

person Martijn van der Put    schedule 05.12.2012
comment
Это решение сработало для меня. В редакторе контента я выбираю узел, выбираю язык/версию (т. е. значок флага в правом верхнем углу), затем выбираю вариант «Главная» -> «Переименовать» -> «Отображаемое имя». Это немного сбивает с толку, так как Sitecore также временно меняет узел (в дереве навигации слева), но это не влияет на URL-адрес (который, в моем случае, остается на английском языке). Спасибо за вашу помощь! - person jamesnotjim; 11.12.2012

Когда вы говорите, что сами элементы навигации все еще на английском языке, что вы имеете в виду? Например, меню вверху страницы?

Если это так, вам нужно выяснить, где в дереве контента находятся эти элементы, а затем добавить соответствующие языковые версии/переводы и убедиться, что они не являются «общим» контентом.

@Martijn, я полагаю, что это влияет только на URL-адрес, если вы установили «useDisplayName = true» в настройке linkManager в config.

person jammykam    schedule 05.12.2012

Обычно мы добавляем поле под названием MenuTitle в базовый шаблон контента, а затем указываем нашим элементам навигации читать из этого поля.

person Christian Hagelid    schedule 05.12.2012

Для меню мы обычно используем разные поля для заголовка страницы и навигационного заголовка страницы. Это позволяет автору указать более короткую версию меню.

Когда у вас это есть, вам просто нужно убедиться, что вы создали код в своем элементе управления заголовком, чтобы найти целевой элемент ссылки меню (я предполагаю, что это общая ссылка или какая-либо другая ссылка на элемент) и вытащить заголовок навигации целевого элемента.

Когда код сделает это, он должен автоматически получить версию этого целевого элемента на основе текущего языка, что будет означать, что вы получите свой навигационный заголовок на правильном языке.

person Jay S    schedule 06.12.2012