Работа с решениями фермы для языковых пакетов
Дата последнего изменения: 2 февраля 2011 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Что такое настраиваемые языковые пакеты?
Создание языкового пакета
Ресурсы, связанные с компонентами
Добавление и развертывание языкового пакета
В этом разделе показано, как создать и установить локализацию Microsoft SharePoint Foundation фермы с помощью пакетов решения, назначенных в качестве языковых пакетов.
![]() |
---|
Термин языковой пакет, используемый в этом разделе, не относится к языковым пакетам SharePoint Foundation и Microsoft SharePoint Server 2010 корпорации Майкрософт, предназначенным для локализации встроенного пользовательского интерфейса SharePoint Foundation и SharePoint Server 2010. Языковые пакеты Майкрософт представляют собой EXE-файлы, загружаемые в Центре загрузки Майкрософт и устанавливаемые на каждый интерфейсный веб-сервер. Дополнительные сведения см. в статьях Подготовка к созданию локализованных решений SharePoint, Языковые пакеты для SharePoint Foundation 2010 и Языковые пакеты для SharePoint Server 2010, Project Server 2010, Search Server 2010 и Office Web Apps 2010. |
Что такое настраиваемые языковые пакеты?
Настраиваемый языковой пакет представляет собой пакет решения (WSP-файл), содержащий только ресурсы, используемые для поддержки дополнительных языков в существующем решении фермы. Идентификатор решения для таких пакетов (GUID) совпадает с идентификатором исходного решения. Языковой пакет можно добавить и развернуть на ферме значительно позже развертывания исходного решения. Настраиваемый языковой пакет не нужен, если ресурсы локализации, например строки, доступны до распространения пакета решения. Такие ресурсы можно включить в исходный пакет решения. Основное назначение настраиваемых языковых пакетов — предоставить разработчикам возможность локализации для дополнительных языков после развертывания исходного решения без необходимости обновления исходного пакета.
Если необходимо, можно создать языковые пакеты для нового решения и включить их в состав исходного решения. Однако для простоты в данной статье предполагается, что языковые пакеты распространяются после развертывания исходного решения.
![]() |
---|
Настраиваемые языковые пакеты не поддерживаются в для песочницы. Сведения о локализации для песочницы см. в статье Локализация изолированных решений. |
В самом WSP-файле нет элементов, указывающих на то, что он является языковым пакетом. Это указывается в записи базы данных конфигурации для языкового пакета. Эти данные записываются при добавлении решения языкового пакета в хранилище решений фермы и при его развертывании.
![]() |
---|
За правильное добавление и развертывание решения, а также за указание его в качестве языкового пакета с помощью SharePoint или объектной модели отвечает администратор фермы. Сведения о том, как это сделать, приведены ниже. Чтобы облегчить администраторам эту задачу, разработчикам рекомендуется указывать в имени WSP-файла код языка. |
Изучите приведенные ниже рекомендации по разработке языковых пакетов и убедитесь, что администраторы фермы, которым предоставляются языковые пакеты, также ознакомлены с этими рекомендациями.
Исходное решение фермы может содержать ресурсы локализации для любого количества языков (в том числе ни для одного языка). Языковые пакеты добавляют ресурсы для дополнительных языков.
Языковой пакет может быть связан только с одним языком.
Языковой пакет может быть связан только с одним исходным решением.
Языковой пакет нельзя добавить в хранилище решений, если исходное решение, для которого он предназначен, не добавлено в это хранилище.
Языковой пакет нельзя развернуть, пока не развернуто исходное решение, с которым он связан.
Решение нельзя отозвать, пока не отозваны все связанные с ним языковые пакеты.
Создание языкового пакета
Языковой пакет создается точно так же, как и любой другой пакет решения (WSP-файл).
Создание языкового пакета
Создайте в Microsoft Visual StudioПустое решение SharePoint. Присвойте решению то же имя, что и локализуемому решению, добавив к имени код языка, чтобы указать язык, поддерживаемый новым решением. (Настраиваемый языковой пакет может поддерживать только один язык.)
В обозревателе решений дважды щелкните PACKAGE-файл, чтобы открыть окно Свойства.
Измените автоматически созданный идентификатор решения на идентификатор исходного решения.
Добавьте в решение локализованные файлы с учетом приведенных ниже рекомендаций.
Не добавляйте в пакет файлы с кодом и другие нелокализуемые файлы.
В целом структура папок в обозревателе решений должна соответствовать структуре папок исходного решения, если открыть его в виде проекта Visual Studio (при этом не следует дублировать папки, содержащие только нелокализуемые файлы). Например, если в исходном решении присутствовала сопоставленная папка SharePoint %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\IMAGES, она должна присутствовать и в решении языкового пакета. (Исключением из этого правила являются ресурсы, связанные с компонентами. См. ниже раздел Ресурсы, связанные с компонентами.)
Следует включить все локализуемые ресурсы. Некоторые из наиболее распространенных типов ресурсов перечислены ниже.
Файлы ресурсов (RESX-файлы), которые можно развернуть глобально, только для конкретного веб-приложения, только для конкретного компонента или только для конкретной веб-части.
Вспомогательные сборки.
Файлы определений сайтов для конкретного языка (webtemp*.xml). Дополнительные сведения об этих файлах см. в статье Практическое руководство. Создание локализованных версий настраиваемых определений сайтов.
Страницы приложений для конкретного языка.
Файлы изображений, CSS-файлы и HTML-файлы для конкретной культуры.
Постройте решение Visual Studio, упакуйте его и разверните в среде разработки для последующего тестирования. При этом исходное решение уже должно быть развернуто.
Повторите эту процедуру для каждого языка. Каждому языку должен соответствовать отдельный пакет решения.
Ресурсы, связанные с компонентами
Если какой-либо из файлов локализации применяется только к конкретному компоненту исходного решения, необходимо отойти от общего правила сохранения структуры папок, как у исходного решения. Причина заключается в том, что ресурсы для дополнительного языка необходимо развернуть во вложенную папку каталога %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES\MyOriginalFeature. Например, RESX-файл обычно развертывается в папку %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES\MyOriginalFeature\Resources. Однако повторное использование имени компонента и идентификатора из исходного решения при этом невозможно. (Это может привести к ошибке при развертывании решения.) Вместо этого для указания пути развертывания файла воспользуйтесь элементом RootFile из манифеста пакета решения. Пример приведен ниже.
<Solution ... >
<RootFiles>
<RootFile Location="TEMPLATE\FEATURES\MyOriginalFeature\Resources\Resources.fr-ca.resx" />
</RootFiles>
</Solution>
Добавление и развертывание языкового пакета
Администраторы фермы развертывают языковые пакеты в хранилище решений фермы с помощью SharePoint (или с помощью собственного кода развертывания на основе объектной модели SharePoint Foundation).
Для добавления решения в хранилище решений фермы используется команда Add-SPSolution в SharePoint. Для указания языка используется параметр -Language. Например, приведенная ниже команда добавляет языковой пакет для французского языка (Канада). Обратите внимание, что для удобства администраторов в имя файла решения включен код языка.
Add-SPSolution -LiteralPath C:\MySharePointSolutions\OriginalSolution_3084.wsp -Language 3084
Для развертывания решения используется команда Install-SPSolution с параметром -Language.
Install-SPSolution -Identity OriginalSolution_3084.wsp -Language 3084
Администраторы также должны использовать параметр -Language при отзыве и удалении языкового пакета, как показано в приведенных ниже командах. Это важно, поскольку для исходного пакета решения и всех его языковых пакетов используется один и тот же идентификатор решения.
Uninstall-SPSolution -Identity OriginalSolution_3084.wsp -Language 3084
Remove-SPSolution -Identity OriginalSolution_3084.wsp -Language 3084
Для программной установки и развертывания используются указанные ниже классы.
SPSolution представляет решение в ферме серверов.
SPSolutionCollection представляет коллекцию объектов SPSolution.
SPSolutionLanguagePack представляет решение, обозначенное при установке как языковой пакет.
SPSolutionLanguagePackCollection представляет коллекцию объектов SPSolutionLanguagePack.