SharePoint 2013: Изменение языка существующего сайта

См. также: Установка SharePoint Foundation 2013 на Windows Server 2012 R2 с SQL Server 2014

Дано: Система Windows Server 2012 R2 с установленным SharePoint Foundation 2013. На ферме SharePoint уже создан сайт, при его создании был выбран язык - английский.
Задача: Изменить язык интерфейса сайта на русский.

Предварительно: на сервере SharePoint должен быть установлен нужный языковой пакет (cм. Как установить русский языковой пакет на SharePoint 2013).

Есть три способа изменения языка на сайте:
1. легкий безвредный рекомендуемый (использование многоязыкового интерфейса)
2. средний (экспорт-импорт сайта, пересоздание на нужном языке)
3. сложный опасный нерекомендуемый (изменение языка сайта в базе данных SQL)

Рассмотрим сначала первый и третий, а затем средний.


1) Легкий способ появился не так давно (раньше все применяли только второй способ) и заключается он в использовании многоязыкового интерфейса SharePoint. Т.е. мы добавим на сайт еще один предварительно установленный язык.
Для этого переходим в Параметры сайта (Site Settings) - Языковые параметры (Language settings). В блоке Альтернативные языки (Alternate language(s)) выбираем нужный язык, например, русский (Russian):


Кстати, если Вы используете SharePoint Online, то в этом списке будут все поддерживаемые   сайтами SharePoint языки.
Что произошло, после этой настройки?
Теперь сайт может быть представлен на двух языках. Как SharePoint определяет, какой язык показывать пользователю? Для этого он использует определения по различным показателям, начиная с настроек, заданных в службе профилирования пользователей, заканчивая языком, указанным по умолчанию у пользователя в браузере. Таким образом, если SharePoint используется как корпоративный портал, достаточно произвести настройку браузера на русский язык на машинах сотрудников, и они всегда будут видеть русский интерфейс сайта SharePoint.
Преимущество этого способа в том, что при администрировании можно переключиться на отображение английского интерфейса, что существенно облегчает поиск возможных ошибок.

2) Сложный способ крайне не рекомендуется использовать, т.к. он потребует ручного вмешательства в базу SQL и может повлечь за собой трудно уловимые "глюки". Этот способ задает для сайта единственный язык, тот, который вы укажете при выполнении указанного ниже запроса.

Чтобы изменить язык сайта, откроем базу данных на SQL Server и выполним следующий запрос (1049 - код русского языка):

Предварительно рекомендуется сделать бэкап базы данных!!!

- Если нужно изменить языки на всех сайтах, то выполняем запрос:
UPDATE dbo.Webs SET Language = 1049

- Если нужно изменить языки на коллекции сайтов, то:
UPDATE dbo.Webs SET Language = 1043 WHERE SiteId = [[SiteCollectionId]]

- Если нужно изменить языки на конкретном сайте, то:
UPDATE dbo.Webs SET Language = 1043 WHERE Id = [[WebId]]

Официально этот способ Microsoft не поддерживает и не несет ответственности за возможные последствия, а они будут, т.к. встречала в сети комментарии на этот счет.

Но можно использовать этот способ, что временно изменить язык, но с возвратом к первоначальным настройкам.

3) Итак, средний способ основан функции импорта-экспорта. Если мы просто выгрузим сайт, который был на английском интерфейсе и попытаемся загрузить его на сайт с русским - ничего не получится, т.к. подобная миграция не поддерживается. Необходимо привести эти сайты к едином языковому интерфейсу.
Сначала изменим язык на нужный (русский), сделаем выгрузку сайта, затем вернем настройки языка на английский, создадим новый сайт на нужном языке и загрузим ранее выгруженный контент.

Предварительно рекомендуется сделать бэкап базы данных!!!

Изменяем язык на русский следующим SQL запросом:
UPDATE dbo.Webs SET Language = 1049

При помощи PowerShell делаем экспорт сайта в файл:
stsadm-o export -url http://xxxx.xxxx.xxx/xxx -filename russiansite

Возвращаем обратно английский язык SQL запросом:
UPDATE dbo.Webs SET Language = 1033

Далее нужно создать на ферме SharePoint новый сайт и при создании задать русский язык.
Теперь можно загрузить на этот новый сайт ранее выгруженный файл. Выполняем следующую PowerShell команду:

stsadm -o import -url http://xxxx.xxxx.xxx/yyy -filename russiansite.cmp

На новом сайте русский будет единственным языком.


(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

Комментариев нет :

Отправить комментарий