Pull to refresh

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

Reading time 2 min
Views 4.1K
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
Tags:
Hubs:
+5
Comments 2
Comments Comments 2

Articles