Локализация приложений ClickOnce
Локализация — это процесс настройки приложения под определенный язык и указанные региональные параметры. Этот процесс включает перевод текста пользовательского интерфейса на используемый в регионе язык, применение правильного формата даты и валюты, корректировку размера элементов управления на форме и при необходимости зеркальное отображение элементов управления справа налево.
Результатом локализации приложения является создание одной или более вспомогательных сборок. Каждая сборка содержит строки, изображения и другие ресурсы пользовательского интерфейса, характерные для заданного языка и региональных параметров. (Главный исполняемый файл приложения содержит строки для языка и региональных параметров, установленных по умолчанию для приложения.)
В этой статье описываются три способа развертывания приложения ClickOnce для других языков и региональных параметров:
Включение всех вспомогательных сборок в одно развертывание.
Создание одного развертывания для каждго языка, с одной вспомогательной сборкой, включенной в каждое развертывание.
Загрузка вспомогательных сборок по требованию.
Включение в развертывание всех вспомогательных сборок
Вместо публикации нескольких развертываний ClickOnce можно опубликовать одно развертывание ClickOnce, содержащее все вспомогательные сборки.
Этот метод используется по умолчанию в Visual Studio. Чтобы использовать этот метод в Visual Studio, не требуется выполнять какую-нибудь дополнительную работу.
Чтобы использовать этот метод с MageUI.exe, необходимо установить значение регтональных параметров для приложения равным neutral в MageUI.exe. Далее, необходимо вручную включить все вспомогательные сборки в развертывание. В MageUI.exe можно добавить вспомогательные сборки, нажав кнопку Заполнить на вкладке Файлы манифеста приложения.
Преимущество этого подхода состоит в том, что создается одно развертывание, и упрощается процедура локализованного развертывания. Во время выполнения используется подходящая вспомогательная сборка, зависящая от языка и региональных параметров, установленной по умолчанию в пользовательской операционной системе Windows. Недостаток данного подхода заключается в том, что каждый раз, когда приложение устанавливается или обновляется на клиентском компьютере, загружаются все вспомогательные сборки. Если приложение имеет большое количество строк, или у клиентов пользователя медленное сетевое подключение, этот процесс может влиять на производительность работы во время обновления приложения.
Примечание
В этом подходе предполагается, что приложение автоматически изменяет высоту, ширину и положение элементов управления, чтобы вместить разные по размеру текстовые строки в разных языках.Windows Forms содержит разнообразные элементы управления и технологии, которые позволяют разрабатывать форму простой для локализации, включая элементы управления FlowLayoutPanel и TableLayoutPanel, а также свойство AutoSize.Дополнительные сведения см. в следующем разделе. Практическое руководство. Обеспечение поддержки локализации в Windows Forms с помощью элементов управления AutoSize и TableLayoutPanel. и Практическое руководство. Обеспечение поддержки локализации в Windows Forms с помощью элементов управления AutoSize и TableLayoutPanel. и Практическое руководство. Обеспечение поддержки локализации в Windows Forms с помощью элементов управления AutoSize и TableLayoutPanel..
Создание одного развертывания для каждго языка
В этой стратегии развертывания создается несколько развертываний. В каждое развертывание включают только вспомогательную сборку, необходимую для конкретного языка, и развертывание помечается как относящееся к этому языку и региональным параметрам.
Чтобы использовать этот метод в Visual Studio, установите свойство Язык публикации на вкладке Публикация равным требуемому региону. Visual Studio автоматически включит вспомогательную сборку, необходимую для выбранного региона, и исключит из развертывания все другие вспомогательные сборки.
То же самое можно реализовать, используя средство MageUI.exe в Microsoft Пакет средств разработки программного обеспечения (SDK) для Windows. Нажмите кнопку Заполнить на вкладке Файлы манифеста приложения, чтобы исключить все остальные вспомогательные сборки из каталога приложения, а затем установите значение поля Язык и региональные параметры на вкладке Имя для манифеста развертывания в средстве MageUI.exe. Выполнение этих шагов позволяет не только включить правильную вспомогательную сборку, но и установить атрибут language элемента assemblyIdentity в манифесте развертывания равным соответствующему языку и региональным параметрам.
После публикации приложения необходимо повторить этот шаг для каждого дополнительного языка, поддерживаемого приложением. Каждый раз необходимо убедиться, что публикация выполняется в другой каталог веб-сервера или каталог общего файлового ресурса, так как каждый манифест приложения ссылается на отличную от других вспомогательную сборку, и каждый манифест развертывания будет иметь свое, отличное от других, значение атрибута language.
Загрузка вспомогательных сборок по запросу
Если решите включить все вспомогательные сборки в одно развертывание, можно улучшить производительность путем использования загрузки по запросу, которая позволяет маркировать сборки как факультативные. При установке или обновлении приложения помеченные сборки не будут загружаться. Сборки можно установить тогда, когда они потребуются, вызвав для этого метод DownloadFileGroup класса ApplicationDeployment.
Загрузка вспомогательных сборок по запросу несколько отличается от загрузки по запросу других сборок. Дополнительные сведения и примеры кода, демонстрирующие способ включения данного сценария с помощью средств SDK для Windows для ClickOnce, см. в разделе Пошаговое руководство. Загрузка вспомогательных сборок по требованию с помощью интерфейса API технологии развертывания ClickOnce.
Этот сценарий можно также включить в Visual Studio. Дополнительные сведения см. в следующем разделе. Пошаговое руководство. Загрузка вспомогательных сборок по требованию с помощью API развертывания ClickOnce с использованием конструктора и Пошаговое руководство. Загрузка вспомогательных сборок по требованию с помощью API развертывания ClickOnce с использованием конструктора и Пошаговое руководство. Загрузка вспомогательных сборок по требованию с помощью API развертывания ClickOnce с использованием конструктора.
Тестирование локализованных приложений ClickOnce перед развертыванием
Вспомогательная сборка используется для приложения Windows Forms только в том случае, если свойство CurrentUICulture главного потока приложения установлено равным культуре вспомогательной сборки. Клиенты на местных рынках, возможно, уже работают с локализованной версией Windows, в которой их региональные параметры установлены в качестве значения по умолчанию.
Имеется три варианта тестирования локализованных развертываний перед тем как сделать приложение доступным для клиентов:
Приложение ClickOnce можно запускать в среде соответствующих локализованных версий Windows.
Свойство CurrentUICulture можно задать программным способом в приложении. (Это свойство должно быть задано до вызова метода Run.)
Если установлен пакет многоязыкового пользовательского интерфейса (MUI, Multilanguage User Interface) Windows, в операционной системе можно переключать языки и региональные параметры. Однако пакет MUI поддерживает только подмножество всех возможных языков и региональных параметров, поэтому этот вариант может быть не применим к конкретному проекту.
Дополнительные сведения о пакете многоязыкового пользовательского интерфейса (MUI) см. на веб-узле Глобальный портал разработки и обработки корпорации Майкрософт.
Примечание
В Windows Vista можно переключать языки и региональные параметры без установки пакетов многоязыкового пользовательского интерфейса (MUI).
См. также
Ссылки
Элемент <assemblyIdentity> (развертывание ClickOnce)
Основные понятия
Развертывание и безопасность технологии ClickOnce