MUI 资源管理

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

MUI 资源技术的功能

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

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

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

具体来说,主要校验和是从文件的主要版本号和文件名(区分大小写)计算的,这些版本号是从版本资源获取的。 此校验和不应在同一组件的 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 实用工具获取此信息的人类可读形式。 有关详细信息,请参阅 资源实用工具

关于多语言用户界面

资源实用工具