【技术实现步骤摘要】
【国外来华专利技术】对资源数据的有效存储和取回
[0001]本公开总体涉及数据压缩,更具体涉及用于压缩软件资源的经改进的方法和系统。
技术介绍
[0002]许多软件应用包括大量的资源数据(例如,资源字符串)。例如,许多应用存储需要在应用的用户界面中显示的字符串。资源文件通常被用于存储针对应用或应用套件的资源字符串。当需要特定的资源字符串或字符串集以用于在用户界面中显示时,可以由应用的其他组件在运行时访问资源文件。由于在复杂软件应用中使用多个资源文件,因此资源文件的总大小可能对最终应用的大小做出显著贡献。这对于为给定菜单标签或其他用户界面元素提供语言本地化支持的应用尤其如此。如果字符串必须以许多种不同的语言可用,则资源文件的数量和/或大小可能显著增加,从而导致更大的应用。因此,使用压缩技术来减少在应用中所使用的资源文件的大小可能是有利的。
[0003]当供应和交付应用时面临带宽和存储约束时,减小大小的资源文件可能是特别有用的。例如,减小的文件大小可能使下载应用包的速度比以其他方式更快。另外,减小的文件大小一旦被下载到本地环境后可能需要更少
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种数据处理系统,包括:处理器;以及与所述处理器通信的存储器,所述存储器包括可执行指令,所述可执行指令当由所述处理器运行时使得所述数据处理系统执行以下功能:接收软件资源,所述软件资源是采用第一语言的;接收用于压缩的本地化软件资源,所述本地化软件资源是采用第二语言的,采用所述第一语言的所述软件资源是所述本地化软件资源的对应体;至少部分地基于所述软件资源中的一个或多个第一语言词语并且基于来自全局词典的数据来创建针对所述本地化软件资源的第一本地词典;以及基于所述本地词典来压缩所述本地化软件资源。2.根据权利要求1所述的数据处理系统,其中,所述可执行指令当由所述处理器运行时还使得所述设备执行以下功能:通过以下操作来创建针对应用的所述全局词典:检查所述应用中的多个本地化软件资源;将所述多个本地化软件资源中的每个本地化软件资源划分为组成每个本地化软件资源的一个或多个词语;将所述一个或多个词语中的每个词语与来自对应的第一语言软件资源的相应的第一语言词语进行配对以获得多个配对;启动针对每个配对的计数器并且将所述计数器设置为一;如果配对是重复配对,则将所述计数器加一;按照出现率对所述多个配对进行排序;选择具有最高出现率的所述配对;通过将来自所述配对的所述本地化词语添加到所使用的本地化词语的列表,并且将所述相应的第一语言词语添加到所使用的第一语言词语的列表,来将具有所述最高出现率的所述配对添加到所述全局词典;以及选择具有最高出现率的下一配对,并且针对所述多个配对中的每个配对来重复将所述下一配对添加到所述全局词典的过程,除非所述本地化词语在所使用的本地化词语的所述列表中或者所述相应的第一语言词语在所使用的第一语言词语的列表中。3.根据权利要求2所述的数据处理系统,其中,创建所述第一本地词典包括:将所述第一语言软件资源划分为组成所述第一语言软件资源的一个或多个词语;将所述一个或多个词语中的每个词语与从所述全局词典获得的翻译进行配对以获得多个配对来创建所述本地词典中的词语列表;对所述多个配对进行索引;将所述本地化软件资源划分为组成所述本地化软件资源的一个或多个本地化词语;确定所述一个或多个本地化词语中的每个本地化词语是否被包含在所述多个配对中的至少一个配对中;当所述一个或多个本地化词语中的一个本地化词语未被包含在所述多个配对中的至少一个配对中时,在所述全局词典中定位针对所述一个或多个本地化词语中的所述一个本地化词语的索引;以及
将所述一个或多个本地化词语中的所述一个本地化词语与所述索引一起添加到所述第一本地词典中的所述词语列表。4.根据权利要求1所述的数据处理系统,其中,基于所述第一本地词典来压缩所述本地化软件资源包括:将经压缩的本地化资源中的起始位的预定数量设置为存储本地索引所需的位数量;将所述本地化软件资源划分为组成所述本地化软件资源的一个或多个本地化词语;针对所述一个或多个本地化词语中的每个本地化词语,在所述第一本地词典中定位所述词语,并且将来自所述第一本地词典的、与所述词语相对应的本地索引添加到所述经压缩的本地化资源;确定所述本地索引是否指示所述词语不包括所述本地词典中的第一语言对应体;以及在确定了所述本地索引指示所述词语不包括所述本地词典中的所述第一语言对应体时,将来自所述全局词典的、针对所述词语的全局索引添加到所述经压缩的本地化资源。5.根据权利要求4所述的数据处理系统,其中,所述可执行指令当由所述处理器运行时还使得所述设备通过以下操作来执行对所述经压缩的本地化资源进行解压缩以获得经解压缩的本地化资源的功能:根据采用所述第一语言的所述软件资源来创建第二本地词典;从所述经压缩的本地化资源读取位元信息以确定用于所述经压缩的本地化资源中的每个词语的特定数量的位;从所述经压缩的本地化资源读取下一特定数量的位以确定所述经解压缩的本地化资源中的词语的数量;从所述经压缩的本地化资源读取所述下一特定数量的位以确定所述下一特定数量的位是否与所述第二本地词典中的索引相对应;当所述下一特定数量的位与所述索引相对应时,将来自所述本地词典的、与所述索引相对应的翻译添加到所述经解压缩的本地化资源;当所述下一特定数量的位与所述索引不对应时,读取所述经压缩的本地化资源中的全局索引,在所述全局词典中定位所述全局索引,并且在所述经解压缩的本地化资源中插入与所述全局索引相对应的翻译;以及将语言规则应用于所述经解压缩的本地化资源。6.根据权利要求1所述的数据处理系统,其中,所述可执行指令当由所述处理器运行时还使得所述设备执行移除重复内容的功能。7.根据权利要求1所述的数据处理系统,其中,所述可执行指令当由所述处理器运行时还使得所述设备执行移除所述本地化软件资源中的第一语言副本的功能。8.一种用于压缩本地化软件资源的方法,包括:接收软件资源,所述软件资源是采用第一语言的;接收用于压缩的所述本地化软件资源,所述本地化软件资源是采用第二语言的,采用所述第一语言的所述软件资源是采用所述第二语言的所述本地化软件资源的对应体;至少部分地基于所述软件资源中的一个或多个第一语言词语并且基于来自全局词典的数据来创建针对所述本地化软件资源的本地词典;以及基于所述本地词典来压缩所述本地化软件资源。
9.根据权利要求8所述的方法,还包括通过以下操作来创建所述全局词典:检查所述应用中的多个本地化软件资源;将所述多个本地化软件资源中的每个本地化软件资源划分为组成每个本地化软件资源的一个或多个词语;将所述一个或多个词语中的每个词语与来自对应的第一语言资源的相应的第一语言词语进行配对以获得多个配对;启动针对每个配对的计数器并且将所述计数器设置为一;如果配对是重复配对,则将...
【专利技术属性】
技术研发人员:A,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。