当前位置: 首页 > 专利查询>微软公司专利>正文

用于为组件创建语言中立和对应的语言专用资源文件的方法和系统技术方案

技术编号:2863795 阅读:163 留言:0更新日期:2012-04-11 18:40
一种改进的应用程序体系结构包括具有一语言中立部分和一可本地化部分的分叉结构,为了效率被压缩成较大文件的较小组。该分叉结构允许应用程序的较容易的分发和更新,而减少的文件组提供了更有效的文件管理。可在编译阶段指定一资源清单以标识语言专用的元素和保持语言中立的元素。此外,可在编译后使用额外的软件以将多个可本地化元素压缩成单个文件。这一压缩软件可接收指定要压缩成较大文件的语言专用资源,以及哪些较大文件的身份。另外,可使用一种文件格式,它可包含多个语言专用资源,并可方便由相关的语言的不相关代码对个别的语言专用资源的检索和访问。

【技术实现步骤摘要】

本专利技术一般涉及计算机应用程序和操作系统,尤其涉及用于更有效地作出并使用与可本地化用户界面(UI)资源分离地储存功能代码和语言中立数据的应用程序或操作系统的系统和方法。
技术介绍
由于计算机变得在世界上越来越流行,对为不同语言和/或场所优化或本地化的不同的各种操作系统或应用程序的需求增加,而且与生产、更新和维护大量这类不同版本关联的额外开销成本也随之增加。操作系统通常在单个二进制实体中一起包括代码、数据和语言专用UI资源,使得对任一部分的修改需要对整个实体的更新。由此,必须对每一感兴趣的语言提供诸如按照安全补丁的更新。这被称为“本地化”,每一结果版本被称为“本地化”版本。由于在大多数需要变化的情况下变化出现在代码部分而非语言专用部分,生产大多数修补、更新等单独的本地化版本是浪费且昂贵的。此外,当需要快速更新响应时,如在发表安全修补中,由生成修补的许多不同的特别本地化版本的需要所导致的延迟将使用户在不能接受的时间段内处于未保护状态。通常在这种情况下,处于低优先级场所的用户负担延迟的压力,因为通常首先生成较高优先级场所的本地化版本。一种解决方案是从语言专用数据中分离语言不相关代码和数据,使得仅可对语言不相关代码和数据作出修改,包括安全补丁等。以这一方式,可快速并有效地开发单个安全补丁并在世界范围内分发,并仍允许操作系统和应用程序的本地化版本的制造保持不变。这一解决方案在2003年5月12日提交的名为“具有语言中立组件的分叉操作系统”的申请号10/435,858中有详细描述,其揭示通过整体引用结合于此。不幸的是,为单独的语言中立组件和语言专用组件提供的解决方案可对甚至是仅为相对较少的市场本地化的相对简单的应用程序快速导致大量的难以管理的文件。即使是具有大约500个组件文件的简单应用程序可需要超过5000个对应的语言专用组件,而仅为欧洲市场本地化该应用程序。如此大量的文件可显著地降低有效编译并分发新版本或补丁的能力。另外并且更值得关注的,大量的文件将不利地影响应用程序或操作系统的性能,因为它们需要加载两个或更多的文件一个语言中立文件和一个或多个语言专用文件。此外,必须扩充额外的资源以保护大量的文件免遭安全破坏或其它恶意代码。最后,由于许多现代的操作系统以64千字节的粒度分配虚拟存储器,并以4千字节的粒度分配物理存储器,加载小于64千字节的大量文件将浪费并使虚拟存储器产生碎片。小于4千字节的文件将具有更负面的效果,因为它们将影响虚拟和物理存储器两者。操作系统具有大小小于4千字节的非寻常量文件(即,大于400个)并非不常见的。
技术实现思路
本专利技术的实施例允许应用程序或操作系统及其“修补”(如,在应用程序或操作系统的发布之后分发的补丁和更新)的生产,该应用程序或操作系统具有涉及代码和不可本地化数据的语言中立部分,以及涉及应用程序或操作系统使用或令其可用的可本地化资源的语言专用部分。为将对应于语言专用部分的文件的数量最小化,多个语言专用部分可储存在单个文件结构中并从其访问。在一个实施例中,为将多个语言专用组件组合成单个二进制文件提供了一种资源工具。该资源工具可接受一配置输入,指定应当将哪些语言专用组件组合成单个文件,并可生成一适当的组合文件。在另一实施例中,为将多个语言专用组件组合成单个二进制文件提供了一种文件格式。该文件格式可规定对个别语言专用组件的访问,并维护每一语言专用组件的完整性。在又一实施例中,一种清单适用于提供语言专用资源查找服务,使得可利用语言专用资源的代码可查找适当的资源,包括查找适当的文件并查找文件中适当的资源位置。另外,该清单可向开发者提供确定并记录哪些资源可被本地化以及哪些资源应当保持语言中立的机会。在本专利技术的一个实施例中,资源加载适用于当查找并加载资源时使用清单。在再一实施例中,更新编译器,如华盛顿州雷蒙德市的微软公司的Windows资源编译器(RC.EXE),以读取清单信息并相应地将语言中立资源和语言专用资源编译成单独的资源文件,如.res文件。以这一方式,链接器然后可将语言中立资源和语言专用资源链接到单独的PE二元体(binary),其一用于语言中立数据和功能代码,另一用于可本地化资源。可本地化资源然后可被进一步组合成单个或多个文件,提供了文件管理服务和操作中的提高的效率。尽管本专利技术的描述主要着眼于创建和使用分叉操作系统,可以理解,本专利技术所描述的分叉的许多原理和好处也可应用到非操作系统的应用程序中。由此,在本专利技术的更多实施例中,考虑实质上具有语言中立部分和可本地化部分的分叉应用程序。当参考附图阅读以下说明性实施例的详细描述时,可以更清楚本专利技术的另外的特征和优点。附图说明尽管所附权利要求书以细节阐明了本专利技术的特征,当结合附图阅读以下详细描述时,可以最好地理解本专利技术及其目的和优点,附图中图1是一般示出了可实现本专利技术的实施例的示例性装置体系结构的框图;图2所示是在单个二元体中具有代码部分和资源部分的现有应用程序二元体的体系结构图;图3所示是一种应用程序配置的体系结构图,其中,该应用程序在单独的二元体中具有一语言中立代码二元体部分和一语言相关资源部分;图4所示是依照本专利技术的一个实施例的资源压缩模式的文件格式的体系结构图;图5所示是本专利技术的资源清单的示例性结构的关系图;图6所示是依照本专利技术的一个实施例在单独的二元体中创建一语言中立代码二元体部分和一语言相关资源部分的数据流的示意图;图7所示是依照本专利技术的一个实施例在单独的二元体中创建一语言中立代码二元体部分和一语言相关资源部分所采取的步骤的流程图;图8所示是依照本专利技术的一个实施例在运行时加载语言相关资源的数据流的示意图;以及图9所示是依照本专利技术的一个实施例在运行时加载语言相关资源所采取的步骤的流程图。具体实施例方式多个元素可用于最小化随操作系统或应用程序分发并由其使用的提供语言专用功能的个别语言专用文件的量。最初,可确定语言专用的数据。例如,向用户呈现的对话框可以是语言专用的,菜单选择或拼写检查选项也可以是语言专用的。这一判定可被归档在清单中,清单可作为编译阶段的部分连同语言专用数据和语言中立代码和数据一起被编译成一个或多个对象文件和资源。在编译阶段之后,对象文件和资源可通过链接工具链接在一起以创建可移植可执行文件和包含语言专用资源和信息的个别资源文件。资源工具可以个别语言专用资源仍由语言中立代码文件和可执行码引用的方式将多个语言专用文件组合成一个或多个更大的文件。资源工具也可接收外部输入,它可指定要被组合的精确的语言专用文件,并标识作为结果的更大的一个或多个文件。可将各种语言专用组件压缩成单个文件的方式可包括对编译阶段的修改,如对资源编译器的修改,并可包括额外的软件的使用,如压缩应用程序,它使用预定义的结构将指定的语言专用组件压缩成单个文件,该预定义结构被设计成令语言中立代码和数据仍引用现在压缩的语言专用文件。可将各种语言专用组件压缩成单个文件的方式还可包括对指定语言中立代码和数据以及语言专用组件之间的关系的资源清单的引用,包括该语言专用组件是否被组合成单个文件。以下描述将提供关于计算环境、代码和数据划分成语言中立和语言专用组件、多个语言专用文件压缩成单个文件、以及提供给各种机制以启用这一压缩的信息,包括这些机制使用的资源清单的描述的本文档来自技高网
...

【技术保护点】
一种为组件创建语言中立和对应的语言专用资源文件的方法,其特征在于,所述方法包括:获取一资源清单文件;依照包含在所述资源清单文件中的可本地化资源信息创建一语言中立文件和一语言专用资源文件;创建一校验和数据;以及 用所述校验和数据更新一所述资源清单文件中的字段。

【技术特征摘要】
US 2003-10-23 10/692,0491.一种为组件创建语言中立和对应的语言专用资源文件的方法,其特征在于,所述方法包括获取一资源清单文件;依照包含在所述资源清单文件中的可本地化资源信息创建一语言中立文件和一语言专用资源文件;创建一校验和数据;以及用所述校验和数据更新一所述资源清单文件中的字段。2.如权利要求1所述的方法,其特征在于,所述资源清单文件被指定。3.如权利要求1所述的方法,其特征在于,所述资源清单文件未指定,并且使用一默认资源清单文件。4.如权利要求1所述的方法,其特征在于,所述资源清单文件是基于可扩展标记语言(XML)的说明性文件。5.如权利要求1所述的方法,其特征在于,所述可本地化资源信息驻留在一压缩的资源文件中。6.一种包含用于执行一种为组件创建语言中立和对应的语言专用资源文件的方法的指令的计算机可读媒质,其特征在于,所述方法包括获取一资源清单文件;依照包含在所述资源清单文件中的可本地化资源信息创建一语言中立文件和一语言专用资源文件;创建一校验和数据;以及用所述校验和数据更新一所述资源清单文件中的字段。7.一种在其上储存了一资源清单模式数据结构的计算机可读媒质,其特征在于,所述数据结构包括第一数据字段,包含表示指示所述模式包含资源本地化信息的元素的数据;第二数据字段,包含表示与用户接口资源关联的元素的数据;第三数据字段,包含表示所述第二数据字段的用户接口资源元素的语言依赖性的数据;以及第四数据字段,包含表示与用户接口资源类型关联的元素的数据。8.如权利要求7所述的计算机可读媒质,其特征在于,所述第二数据字段表示未被管理的资源。9.如权利要求7所述的计算机可读媒质,其特征在于,所述第二数据字段表示被管理的资源。10.如权利要求7所述的计算机可读媒质,其特征在于,所述第三数据字段表示语言中立资源。11.如权利要求7所述的计算机可读媒质,其特征在于,所述第三数据字段表示本地化的资源。12.如权利...

【专利技术属性】
技术研发人员:FN褚JD贝内特MG艾尔贾马尔S叶S邱W吴
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1