В SharePoint есть возможность задать имя колонки так, чтобы оно меняло своё значение в зависимости от языка. В представлении списка и на форме:
Для того, чтобы столбец стал переводным – необходимо задать
его имя выражением:
$Resources:fileWithDict,key;
Где:
$Resources
– признак выражения
fileWithDict
– файл словаря, должен
находиться по адресу “C:\Program Files\Common
Files\microsoft shared\Web Server Extensions\15\Resources” и
иметь имя fileWithDict.ru-ru.resx,
ru-ru это культура.
key –
ключ по которому ищется значение в файле-словаре
Задать переводное имя столбца можно даже при создании через web-интерфейс, вместо имени надо вписать выражение:
На самом деле там не словарь, а
xml. Но вы об этом не думайте и
воспринимайте как словарь.
Чтобы система показала соответствующий язык – ей надо знать
предпочтения пользователя.
Чтобы указать языковые предпочтения перейдите в раздел "Мой язык и регион" как на картинке:
Потом выбираем используемые языки. Приоритет важен:
С виду всё, но чтобы работало надо еще и включить
дополнительный язык в свойствах узла.
Переходим в настройки узла:
Выбираем языковые параметры:
Отмечаем дополнительный язык. Чтобы появился дополнительный язык, которого нет в списке - установите Language Pack.
Кстати, именно таким образом заданы встроенные поля. Проверим это созвав настраиваемый список и выведем все поля в представление:
А теперь поменяем добавим английский язык в список предпочитаемых или повысим его приоритет:
Отличный механизм. В моём случае приоритеты языков для пользователя были заданы принудительно в службе профилей на основе принадлежности к домену.
Так же можно переводить значения полей, подробнее описано в
посте от
Виталия Жукова.