Welcome to TechNet Blogs Sign in | Join | Help

Создание многоязычных сайтов на Sharepoint

Sharepoint позволяет быстро и без написания кода создавать и поддерживать различные локализации сайтов.

В Sharepoint есть такое понятие как Variations – варианты сайтов на различных языках. То есть вы можете через веб-интерфейс создать сайт на любом необходимом вам языке, или несколько сайтов на разных языках. При этом сайты могут иметь как одинаковую, так и разную структуру, то есть дублировать друг друга или являться независимыми друг от друга сайтами.

Для того, чтоб это было возможно необходимо:

1.      Установить Language Pack для нужного вам языка

2.      Зайти на страницу администрирования Variations и сделать что-то похожее на картинку ниже. Создать сопоставления для разных языков. При этом надо указать какая из локализаций будет основной и по какому шаблону сайта необходимо содавать локализованные копии сайтов.

 

После нажатия на кнопку “Create Hierarchies” на портале создадутся узлы для каждого из указанных вами языков.

Для того, чтобы поддержка локализации была более полной можно положить различные логотипы для версий сайтов на различных языках в библиотеку Style Library в папку с кодом языка и начать показывать разные логотипы в записимости от языка сайта.

 

Например, положив логотип в папку с кодом языка мы можем добавить его на страницу или мастер страницу следующим образом:

<img src=”<% $SPUrl:~SiteCollection/Style Library/~language/logo.gif %>” border=0 />

Таком образом можно использовать на страницах и  мастер страницах не только изображения, но и например CSS файлы:

<SharePoint:CssRegistration name=”<% $SPUrl:~SiteCollection/Style Library/~language/Core Styles/Band.css%>” runat=”server”/>

После создания локализованной копии сайта, на всем портале в правом верхнем углу появится элемент управления для перехода между языками.

 

Его можно модифицировать, создав свой элемент управления по аналогии со стандартными VariationRootLanding и VariationLabelMenu:

 

А теперь представим, что у нас есть элементы управления, мастер страницы, страницы и веб части. Как заставить их поддерживать многоязычность? Ответ прост. Пользуемся изобретением ASP.NET, то есть ресурсными файлами (.resx)

Пример использования в коде выглядит следующим образом:

Label1.Text = Resources.devtraining_event.devtraining_EventContentFieldName;

Если вы хотите использовать данные из ресурсных файтов в xml файлах фич и шаблонов узлов Sharepoint, сделать это можно следующим образом:

 

Устанавливать ресурсные файлы надо  в папку 12\Resources:

 

Вот такого результата можно достигнуть если долго стараться.

 

Language Packs можно скачать тут:

·         MOSS 2007: скачать (104.1 MB)

·         WSS 3.0: скачать (9.8 MB)

Более подробную информацию по теме можно найти на MSDN:

·         Customizing and Branding Web Content Management-Enabled SharePoint Sites (Part 3 of 3): Creating and Configuring WCM-Enabled Sites

·         How to: Customize the Variation Root Landing Logic

·         How to: Customize the Variations Label Control Logic

Published Wednesday, March 25, 2009 12:08 AM by tvsmetanina

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Создание многоязычных сайтов на Sharepoint

Я создал метки вариантов и иерархию следую иструкции в этом посте. У меня было 2 варианта: Русский и английский, русский по-умолчанию. При заходе на главную страницу портала, он переходит в коллекцию Russian автоматически. Как мне теперь удалить все изменения и вернуться к варианту с одной локалью? Что бы автоматом загружалась страница site\default.aspx ?

Wednesday, March 25, 2009 2:58 AM by Renthon

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker