среда, февраля 22, 2012

Сюрпризик от локализации.

Делал программку генерации списков на узле Sharepoint 2010. В предыдущем проекте такие же действия (создание списка, добавление нужных полей, присвоение русских значений title’ов и т.п.) делал при активации features на узле. Теперь же удобнее было выполнять подобные действия в консольной утилите. Собственно, всё и выполняется без всяких изменений в коде, однако результат получается совсем неожиданным: при просмотре перечня списков в браузере (“весь контент сайта”) видны английские названия, с которыми они создавались методом web.Lists.Add(<EngName>,…), а при просмотре через объектную модель, напр., при помощи PowerShell, видны русские названия, которые присваивались через свойство newList.Title = <RuTitle>; Такая же ситуация с полями списков.
Загадка разрешилась просто – ОС, в которой запускалась утилита – английская, а локализация сайта, на котором генерились списки – русская. Для согласования локалей достаточно в начале программки выполнить присваивание Thread.CurrentThread.CurrentUICulture = web.UICulture;
Собственно, к вопросу о пользе чтения документации.
Technorati Теги: