Поделиться через


Работа с решениями фермы для языковых пакетов

Дата последнего изменения: 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-файл).

Создание языкового пакета

  1. Создайте в Microsoft Visual StudioПустое решение SharePoint. Присвойте решению то же имя, что и локализуемому решению, добавив к имени код языка, чтобы указать язык, поддерживаемый новым решением. (Настраиваемый языковой пакет может поддерживать только один язык.)

  2. В обозревателе решений дважды щелкните PACKAGE-файл, чтобы открыть окно Свойства.

  3. Измените автоматически созданный идентификатор решения на идентификатор исходного решения.

  4. Добавьте в решение локализованные файлы с учетом приведенных ниже рекомендаций.

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

    • В целом структура папок в обозревателе решений должна соответствовать структуре папок исходного решения, если открыть его в виде проекта Visual Studio (при этом не следует дублировать папки, содержащие только нелокализуемые файлы). Например, если в исходном решении присутствовала сопоставленная папка SharePoint %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\IMAGES, она должна присутствовать и в решении языкового пакета. (Исключением из этого правила являются ресурсы, связанные с компонентами. См. ниже раздел Ресурсы, связанные с компонентами.)

    • Следует включить все локализуемые ресурсы. Некоторые из наиболее распространенных типов ресурсов перечислены ниже.

      • Файлы ресурсов (RESX-файлы), которые можно развернуть глобально, только для конкретного веб-приложения, только для конкретного компонента или только для конкретной веб-части.

      • Вспомогательные сборки.

      • Файлы определений сайтов для конкретного языка (webtemp*.xml). Дополнительные сведения об этих файлах см. в статье Практическое руководство. Создание локализованных версий настраиваемых определений сайтов.

      • Страницы приложений для конкретного языка.

      • Файлы изображений, CSS-файлы и HTML-файлы для конкретной культуры.

  5. Постройте решение Visual Studio, упакуйте его и разверните в среде разработки для последующего тестирования. При этом исходное решение уже должно быть развернуто.

  6. Повторите эту процедуру для каждого языка. Каждому языку должен соответствовать отдельный пакет решения.

Ресурсы, связанные с компонентами

Если какой-либо из файлов локализации применяется только к конкретному компоненту исходного решения, необходимо отойти от общего правила сохранения структуры папок, как у исходного решения. Причина заключается в том, что ресурсы для дополнительного языка необходимо развернуть во вложенную папку каталога %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.

См. также

Концепции

Создание решения вручную

Localization of Farm Solutions in SharePoint 2010