Работа с многоязычными сайтами в Sitecore 6.2 Я бы хотел, чтобы Sitecore заменял "" (пустое место, традиционно заменяется на% 20) в URL-адресах с дефисом.
Например, www.MySite.com/Hello World> www.MySite.com/Hello-World
Пока проблем нет, мы просто добавляем еще одну запись в encodeNameReplacements
<replace mode="on" find=" " replaceWith="-" />
Затем, чтобы наши авторы контента не могли создавать элементы с дефисом в именах (который при чтении их URL-адресов Sitecore понимал бы как пробел, в результате чего 404 Not Found), мы можем добавить дефис в список символов, запрещенных вимена элементов, используя
<setting name="InvalidItemNameChars" value="\/:?"<>|[]-"/>
Это все работает нормально - пока я не попытаюсь создать новое определение языка.Для языков в Sitecore можно использовать простой код языка (например, en, da, de и т. Д.) Или код языка и региона (ISO), например en-GB, da-DK, de-DE и т. Д. Для наших сайтов нам понадобитсярегиональные коды, поскольку мы намереваемся поддерживать региональные языковые различия (например, швейцарский французский и швейцарский немецкий).Но, конечно, я теперь запретил дефис в именах элементов (и языки, как и все остальное в Sitecore, определяются как элементы).На самом деле Sitecore требует, чтобы имя языка было правильно сконструировано как идентификатор культуры, поэтому я не могу присвоить языку описательное имя (например, американский английский) с кодом iSO, указанным в поле кода ISO шаблона.
Может кто-нибудь предложить подходящее решение для этого?Должен ли я удалить дефис из узла InvalidItemNameChars и написать собственный фрагмент кода, который прерывает попытку создания имен элементов с переносами i?Если да, то как мне узнать событие создания?
Мне не хочется настраивать интерфейс там, где он не нужен, особенно потому, что я обеспокоен тем, что это может создать проблемы для обновлений версии Sitecore, поэтому, если есть другие решения, я бы хотел их услышать.
Заранее спасибо.