Управление ресурсами MUI

Глобальное приложение должно определять различные элементы пользовательского интерфейса, такие как меню, диалоговые окна, строки справки и другие элементы, представленные в виде локализованных ресурсов. Язык пользовательского интерфейса становится одним из параметров приложения. В этом разделе описывается технология ресурсов многоязыкового интерфейса пользователя, которую рекомендуется использовать для создания ресурсов приложения.

Возможности технологии ресурсов MUI

Технология ресурсов MUI, доступная в Windows Vista и более поздних версиях, имеет следующие характеристики.

  • Файлы ресурсов для конкретного языка хранятся отдельно от двоичного кода приложения, поэтому изменение кода не влияет на ресурсы.
  • Ресурсы для нескольких языков можно развернуть в одной установке или отдельной установке для каждого языка.
  • Ресурс загружается и отображается в соответствии с языком приложения, заданным пользователем.

Эта технология связывает ресурсы, определенные в файлах для конкретного языка, с определенной версией файла, не зависят от языка (LN). LN-файл — это PE-файл Win32, представляющий двоичные и не зависящие от языка ресурсы кода приложения. Сопоставление файлов использует контрольную сумму, отраженную в данных конфигурации ресурсов, содержащихся во всех связанных файлах. Загрузчик ресурсов использует контрольную сумму, чтобы убедиться, что файлы содержат одну и ту же версию необходимых ресурсов. Он также проверяет язык в файле для конкретного языка по имени папки. Загрузчик не загружает файл ресурсов, если соответствующая связь не установлена.

В частности, контрольная сумма main вычисляется на основе основного и дополнительного номеров версий файла и имени файла (с учетом регистра), полученных из ресурса версии. Эта контрольная сумма не должна меняться между версиями RTM и пакета обновления одного и того же компонента. Кроме того, контрольная сумма службы используется для определения подходящей версии файла ресурсов для конкретного языка для загрузки. Эта контрольная сумма вычисляется на основе локализуемых ресурсов в файле.

MUI предоставляет две служебные программы ресурсов, которые можно использовать для подготовки файлов ресурсов для приложения. Служебная программа MUI, называемая MUIRCT, позволяет создавать LN-файл и связанные файлы ресурсов для конкретного языка. В Windows Vista и более поздних версиях компилятор windows RC также был изменен для сборки этих файлов в соответствии с технологией ресурсов MUI. Синтаксис и подробные сведения об этих средствах см. в разделе Служебные программы ресурсов.

LN-файл

LN-файл для приложения MUI содержит исполняемый код и ресурсы, не зависящие от языка, которые совместно используются и устанавливаются всеми языковыми версиями приложения.

Файл ресурсов Language-Specific

Файл ресурсов для конкретного языка обычно содержит строки пользовательского интерфейса и другие элементы, требующие локализации для определенного языка. Приложение MUI использует один файл ресурсов для каждого поддерживаемого языка. Файл LN для приложения одинаков для каждого файла ресурсов для конкретного языка.

При сборке с использованием технологии ресурсов MUI файлы для конкретного языка имеют расширение .mui и обрабатываются следующим образом:

  • Все языковые файлы, связанные с определенным LN-файлом, имеют одно и то же имя файла, которое формируется путем добавления расширения .mui к полному имени файла (с расширением) соответствующего LN-файла. Например, файл LN с именем "Myfile.dll" содержит файлы для конкретного языка с именем "Myfile.dll.mui".
  • Файлы для конкретного языка находятся во вложенных папках папки, содержащей файл LN. Имя каждой папки отражает язык.

Данные конфигурации ресурсов

Чтобы связать LN-файл с файлами, зависящими от языка, технология ресурсов MUI использует данные конфигурации ресурсов, включая контрольную сумму. Процедура сборки ресурсов помещает эти сведения в раздел конфигурации rc каждого LN и файла для конкретного языка. Удобочитаемая форма этой информации доступна через служебную программу MUIRCT. Дополнительные сведения см. в разделе Служебные программы ресурсов.

Сведения о многоязыковом пользовательском интерфейсе

Служебные программы ресурсов