专利名称:一种字符资源的动态管理方法
技术领域:
本发明涉及计算机和通信领域中的字符资源的管理方法。
本发明的目的在于提供一种字符资源的动态管理方法,使用该方法对字符资源进行管理,简单、方便,并且支持多语种字符资源的管理,且维护工作量小。
为达到上述目的,本发明提供的字符资源的动态管理方法,包括(1)采用文本文件格式编辑所选定语种的字符资源文件,并将不同语种的字符资源文件编译成对应的二进制字符资源文件;(2)在系统中建立不同语种的资源文件区,将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区;(3)选择对应的语种,将该语种的字符资源区定义为活动区,使系统与活动区的字符资源文件相连接,然后对系统中的不同语种的字符文件区进行实时查询、切换、导出、复制操作。
所述编辑所选定语种的字符资源文件,首先确定字符资源文件的类别级数,再将文件中的字符信息根据不同的分类级别进行分类编辑。
所述类别级数为二级,所述将文件中的字符信息根据不同的分类级别进行分类编辑,是将不同的字符信息划归为不同的小类,将不同小类的字符信息划归为不同的大类。
步骤(2)所述将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区在系统启动时完成,也可以由系统在应用不同语种的字符资源文件时实时完成。
所述方法还包括在系统中建立资源文件加载缓冲区,以便在系统运行期间加载二进制字符资源文件时,首先将该文件读入到加载缓冲区,再将加载缓冲区的文件读入到相应语种的资源文件区。
所述步骤(2)将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区,首先根据字符资源文件的类别级数将字符资源文件区划分为不同的区域,将不同类别的资源信息顺序存储到相应的区域中。
由于本发明在系统中建立不同语种的资源文件区,将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区,并选择系统应用软件对应的语种,将该语种的字符资源区定义为活动区,使应用软件与活动区的字符资源文件相连接,由应用软件完成对系统中的不同语种的字符文件区的实时查询、切换、导出、复制操作,由于字符资源与程序代码的分离,使得可以单独对字符资源文件进行配置管理,并且字符资源的更改不会引起程序的更改,使程序的目标代码也会因此而精简;也使得字符资源既可以与程序一起发布,也可以单独发布,避免产生针对不同的国际市场发布过多的程序版本的现象;另外,本发明还使得多语种字符资源的支持简单和完善,可以根据需求进行应用软件调用关系的更改,即可支持更多的语种;由于支持字符资源文件的动态加载和管理,可以实现字符信息的动态修改与替换,增加了字符资源使用的灵活性。
为了解决现有方法的字符资源的管理问题,本发明采用字符资源与系统中应用软件代码分离的方法对多语种字符资源文件进行管理,具体方法参考
图1所述的实施例。按照图1,本发明首先对字符资源文件进行处理,字符资源文件分为源文件和目标文件,源文件为文本格式文件,用于编辑字符资源文件的内容,目标文件为二进制字符资源文件,用于加载到系统的字符资源区,为系统应用软件提供不同语种的字符服务。将不同语种的目标二进制文件加载到系统的资源文件区,由应用软件对资源文件区的字符资源文件进行管理。
在本发明的步骤1,采用文本文件格式编辑所选定语种的字符资源文件,在编辑前,首先确定字符资源文件的类别级数,将文件中的字符信息根据不同的分类级别进行分类编辑。进行字符资源文件的分类编辑,是为了方便管理及索引文件中的字符信息。也就是说,字资源文件采用分级索引的方式,即,使用多级索引的方式来定位一条字符信息。分级的层次数可以根据需要自由设置,但是由于层次过多会导致索引复杂,层次过少又达不到分级的目的,因此本实施例中采用二级索引。即在本例中所述类别级数为二级,因此所述将文件中的字符信息根据不同的分类级别进行分类编辑,是将不同的字符信息划归为不同的小类,将不同小类的字符信息划归为不同的大类,所述小类就是第二级分类,所述大类就是第一级分类。本例中将第一级索引称为节(Section),第二级索引称为关键字(key),上述“节”和“关键字”可以采用数值表示。本例中采用的二级索引字符资源源文件的描述格式可以参考下述用C语言的语法格式描述/*增加一个资源字符串*/AddString(SECTION1,KEY11,″字符串1″);AddString(SECTION1,KEY12,″字符串2″);AddString(SECTION1,KEY13,″字符串3″);
上述例子说明,当向字符资源文件增加字符时,使用AddString命令,将字符串1、字符串2、字符串3分别归入关键字KEY11、KEY12、KEY13,而关键字KEY11、KEY12、KEY13都属于第1节SECTION1。
由于在不同语种的字符资源文件中,不同“节”包含的字符信息的数量难以确定,为了快速索引字符资源文件中的字符信息,需要指定各级索引的索引方式,本例中需要指定第一级,即“节”的索引方式。
对于分节,本例采用顺序编号,以便可以快速索引到每一节;对于关键字,由于关键字并不一定是连续的,可能无法都进行直接索引,所以根据具体应用指定多种索引方式,例如当关键字为由0开始的连续分布的数值,可以使用直接索引查找方式,这也是最快的方式;当关键字不连续且数目较多的,可以使用二分查找算法;当关键字不连续但数目非常少时,可以使用顺序查找算法。
下例是当应用软件引用字符资源文件中的“节2”字符串时,对于“节2”(SECTION2)采用设置搜索类型命令SetSeekType指定二分查找算法HALF_SEEK。
/*指定此SECTION中的索引方式*/SetSeekType(SECTION2,HALF_SEEK);当不同语种的字符资源文件编辑完毕后,在步骤2将它们编译成对应的二进制字符资源文件;所述二进制字符资源文件,按照二进制字符信息的类别顺序存储,这样,当编译为二进制的资源字符文件加载到内存时,可以方便字符信息的检索。接着进行步骤3,在系统中建立不同语种的资源文件加载缓冲区和资源文件区,然后在步骤4将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区。
所述的字符资源文件的加载可以有两种方式,一种是系统启动时加载,一个是实时加载。通常系统启动时加载可以将二进制字符资源文件直接加载到相应语种的字符资源文件区;而实时加载,是在应用软件运行期间将二进制字符资源文件加载到相应语种的字符资源文件区,为保证与系统中原有的其它语种的二进制字符资源文件的平滑切换,在应用软件运行期间加载二进制字符资源文件时,首先将该文件读入到加载缓冲区,再将加载缓冲区的文件读入到相应语种的资源文件区,在加载期间,优先使用加载缓冲区中的二进制字符资源文件。
在将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区时,首先根据字符资源文件的类别级数将字符资源文件区划分为不同的区域,将不同类别的资源信息顺序存储到相应的区域中。在本例中,将字符资源文件区划分为三个区域,一个区域为“节”标识区域,一个区域为“关键字”标识区域,最后一个区域为字符信息区域。上述三个区域都是排序存储的,以方便检索。实际中,在“节”标识区域和“关键字”标识区域分别存储的是指向“关键字”和字符信息的指针。参考图2。
当不同语种的字符文件区加载完毕后,在步骤5选择应用软件对应的语种,将该语种的字符资源区定义为活动区,使应用软件与活动区的字符资源文件相连接,这样使应用软件直接使用活动区的字符资源文件中的字符信息。
最后在步骤6,由应用软件按照通常的方式完成对系统中的不同语种的字符文件区的实时查询、切换、导出、复制等操作。
权利要求
1.一种字符资源的动态管理方法,包括(1)采用文本文件格式编辑所选定语种的字符资源文件,并将不同语种的字符资源文件编译成对应的二进制字符资源文件;(2)在系统中建立不同语种的资源文件区,将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区;(3)选择对应的语种,将该语种的字符资源区定义为活动区,使系统与活动区的字符资源文件相连接,然后对系统中的不同语种的字符文件区进行实时查询、切换、导出、复制操作。
2.根据权利要求1所述的字符资源的动态管理方法,其特征在于所述编辑所选定语种的字符资源文件,首先确定字符资源文件的类别级数,再将文件中的字符信息根据不同的分类级别进行分类编辑。
3.根据权利要求2所述的字符资源的动态管理方法,其特征在于所述类别级数为二级,所述将文件中的字符信息根据不同的分类级别进行分类编辑,是将不同的字符信息划归为不同的小类,将不同小类的字符信息划归为不同的大类。
4.根据权利要求2或3所述的字符资源的动态管理方法,其特征在于所述二进制字符资源文件,按照二进制字符信息的类别顺序存储。
5.根据权利要求1所述的字符资源的动态管理方法,其特征在于步骤(2)所述将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区在系统启动时完成。
6.根据权利要求1所述的字符资源的动态管理方法,其特征在于步骤(2)所述将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区,由系统在应用不同语种的字符资源文件时实时完成。
7.根据权利要求6所述的字符资源的动态管理方法,其特征在于在系统中建立资源文件加载缓冲区,以便在系统运行期间加载二进制字符资源文件时,首先将该文件读入到加载缓冲区,再将加载缓冲区的文件读入到相应语种的资源文件区。
8.根据权利要求2或3所述的字符资源的动态管理方法,其特征在于所述步骤(2)将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区,首先根据字符资源文件的类别级数将字符资源文件区划分为不同的区域,将不同类别的资源信息顺序存储到相应的区域中。
全文摘要
本发明公开了一种字符资源的动态管理方法,该方法采用文本文件格式编辑所选定语种的字符资源文件,并将不同语种的字符资源文件编译成对应的二进制字符资源文件,在系统中建立不同语种的资源文件区,将不同语种的二进制字符资源文件加载到系统中相应语种的字符资源文件区,选择应用软件对应语种的字符资源区为活动区,使应用软件与活动区的字符资源文件相连接,最后由应用软件完成对系统中的不同语种的字符文件区的实时查询、切换、导出、复制操作;采用上述方案,使得可以单独对字符资源文件进行配置管理,使程序的目标代码得到精简,多语种字符资源的支持更加完善,提高了字符资源使用的灵活性。
文档编号G06F17/28GK1437138SQ0210365
公开日2003年8月20日 申请日期2002年2月4日 优先权日2002年2月4日
发明者朱鲲鹏 申请人:华为技术有限公司