MUI 资源管理

全球化应用程序必须定义各种用户界面元素,例如菜单、对话框、帮助字符串和其他表示为本地化资源的项目。 用户界面语言将成为应用程序的设置之一。 本部分介绍 MUI 资源技术,建议将其用于创建应用程序资源。

MUI 资源技术的功能

在 Windows Vista 及更高版本中公开的 MUI 资源技术具有以下特征:

  • 特定于语言的资源文件与应用程序代码二进制文件分开存储,因此代码更改不会影响资源。
  • 多种语言的资源可以在单个安装中部署,也可以针对每种语言单独安装。
  • 根据用户设置的应用程序语言加载和显示资源。

此技术将特定语言文件中定义的资源与特定版本的非特定语言 (LN) 文件相关联。 LN 文件是一个 Win32 PE 文件,表示应用程序代码二进制和中性语言资源。 文件关联使用所有关联文件中包含的资源配置数据中反映的校验和。 资源加载程序使用校验和来验证文件是否包含相同版本的所需资源。 它还会验证语言特定文件中的语言及其文件夹名称。 如果未建立适当的关联,加载程序不会加载资源文件。

具体而言,main校验和是从版本资源获取的文件的主版本号和次要版本号和文件名 (区分大小写) 计算得出的。 此校验和不应在同一组件的 RTM 和 Service Pack 版本之间更改。 此外,服务校验和用于确定要加载的特定于语言的资源文件的相应版本。 此校验和是根据文件中的可本地化资源计算的。

MUI 提供了两个资源实用工具,可用于为应用程序准备资源文件。 特定于 MUI 的实用工具称为 MUIRCT,可用于生成 LN 文件和关联的特定于语言的资源文件。 在 Windows Vista 及更高版本上,Windows RC 编译器也进行了修改,以便根据 MUI 资源技术生成这些文件。 有关这些工具的语法和详细信息,请参阅 资源实用工具

LN 文件

MUI 应用程序的 LN 文件包含由应用程序的所有语言版本共享和安装的可执行代码和非特定语言资源。

Language-Specific资源文件

特定于语言的资源文件通常包含需要针对特定语言进行本地化的用户界面字符串和其他元素。 MUI 应用程序根据支持的语言使用一个特定于语言的资源文件。 应用程序的 LN 文件对于每个特定于语言的资源文件都是相同的。

使用 MUI 资源技术生成时,特定于语言的文件具有“.mui”扩展名,并按如下方式进行处理:

  • 与给定的 LN 文件关联的特定于语言的文件都共享相同的文件名,该文件名通过将扩展名“.mui”添加到完整文件名 (相应 LN 文件的扩展名) 而形成。 例如,名为“Myfile.dll”的 LN 文件具有名为“Myfile.dll.mui”的特定于语言的文件。
  • 特定于语言的文件驻留在包含 LN 文件的文件夹的子文件夹中。 每个文件夹名称都反映语言。

资源配置数据

为了将 LN 文件与其特定于语言的文件相关联,MUI 资源技术使用资源配置数据,包括校验和。 资源生成过程将此信息放在每个 LN 和特定于语言的文件的 RC 配置部分中。 可以通过 MUIRCT 实用工具获取此信息的可读形式。 有关详细信息,请参阅 资源实用工具

关于多语言用户界面

资源实用工具