说明性的实施例的详细说明
图1说明了一个可以在其上实现本发明的适合的计算系统环境100的实例。计算系统环境100仅仅是适合的计算环境的一个实例,而不是用来提出对该发明的用途和功能性的范围的任何限制。也不应将计算系统环境100解释为具有涉及在示范性的操作系统100中任何一个组件或组件的结合的所有从属性或需要。
本发明是和许多其他通用或专用计算系统环境或配置一起操作的。可能适合于与本发明一起使用的,众所周知的计算系统、环境和/或配制的实例包括,但不限于,个人电脑,服务器计算机,手提式或膝上式设备,多处理器系统,基于微处理器的系统,机顶盒、可编程消费电子产品,网络PC,小型计算机,主计算机,包括所有上述系统或装置的分布计算环境,等等,。
本发明可以用计算机可执行指令的通用上下文来说明,例如计算机执行的程序模块。一般说来,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。也可以在分布计算环境中执行本发明,其中,由通过通信网络链接的远程处理设备来执行任务。在分布计算环境中,程序模块可以置于包括存储器装置的本地和远程计算机存储介质中。
根据图1,一个用于实现该发明的示范性系统包括一个计算机110形式的通用计算设备。计算机110的组件可以包括,但不限于一个处理装置120、一个系统存储器130以及一个系统总线121,,其中,该总线将包括包含系统存储器在内的不同系统组件与处理装置120连接在一起。系统总线121可以是若干类型的总线结构中的任何一种,这些类型包括存储器总线或存储器控制器、外围总线,以及使用多种总线结构中任何一种的局部总线。作为实例而非限制,这样的结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强的工业标准结构(EISA)总线、视频电子标准协会(VESA)局部总线以及被称为Mezzanine总线的外设部件互连(PCI)总线。
计算机110通常包括多种计算机可读介质。计算机可读介质可以是任何一种可以被计算机110访问,包括易失的和非易失性的介质、可移动和不可移动介质的现有介质。作为实例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储媒介包括以任何方法或技术实现的易失的和非易失性的、可移动的和不可移动的介质,用于像计算机可读指令、数据结构、程序模块或其它数据这样的信息的存储。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪速存储器或其它存储技术、CD-ROM、数字通用光盘(DVD)或其他光盘存储器,磁带盒、磁带、磁盘存储器或其它磁存储设备、或可以用来存储想要的信息并可以被计算机110访问的其它介质。通信介质典型地包括有计算机可读指令、数据结构、程序模块或在像载波或其它传送机构这样的调制数据信号中的其它数据,并包括任何信息输送介质。术语“调制数据信号”是指具有被以关于信号中编码信息的方式调整或改变的一个以上的其特征的信号。作为实例而非限制,通信介质包括像有线网或直接有线连接这样的有线介质,以及像声、RF、红外线或其它无线介质这样的无线介质。
系统存储器130包括易失的和/或非易失性的存储器形式的计算机存储介质,例如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)通常存储在ROM131中,其包含帮助在计算机110内的部件之间传送信息的基础例程,例如在启动的时候。RAM132通常包含即刻就可由处理装置120访问的和/或目前正被处理装置120操作的数据和/或程序模块。作为实例而非限制,图1说明了操作系统134、应用程序135、其它程序模块136以及程序数据137。
计算机110还可以包括其它可移动/不可移动、易失的/非易失性的计算机存储介质。仅作为实例,图1说明了读写不可移动的、非易失性磁介质的硬磁盘驱动器141,读写可移动、非易失性的磁盘152的磁盘驱动器151,以及读写像CDROM或其它光学介质这样的可移动、非易失性的光盘156光盘驱动器155。其它可以用在该示范性的操作环境中的可移动/不可移动、易失的/非易失性的计算机存储介质包括,盒式磁带、闪速存储器卡、数字通用光盘、数字视频带、固态RAM、固态ROM,等等,但并不局限于这些。通常通过像接口140这样的不可移动存储器接口将硬磁盘驱动器141连接到系统总线121,而通常用像接口150这样的可移动存储器接口将磁盘驱动器151和光盘驱动器155连接到系统总线121。
上面图1中论述和说明的驱动器和它们相关的计算机存储器介质,提供用于计算机110的计算机可读指令、数据结构、程序模块以及其它数据的存储。在图1中,例如,将硬磁盘驱动器141图解为存储操作系统144、应用程序145、其它程序模块146以及程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136以及程序数据137相同或不同。这里给予操作系统144、应用程序145、其它程序模块146以及程序数据147不同的编号来说明,至少,它们是不同的副本。
用户可以通过输入设备,例如键盘162、麦克风163以及像鼠标、轨迹球或触摸垫这样的指示设备161,输入命令和信息到计算机110中。其它输入设备(未示出)可以包括游戏杆、游戏垫、圆盘式卫星电视天线、扫描仪,等等。常常通过与系统总线相连的用户输入接口160将这些以及其它的输入设备连接到处理装置120,但也可以用其它接口和总线结构来连接,例如并行端口、游戏端口或通用串行总线(USB)。也可以经由一个像视频接口190这样的接口,将监视器191或其它类型的显示设备也连接到系统总线121。除了监视器之外,计算机也可以包括其它外围输出设备,例如可以通过输出外设接口195来连接的扬声器197和打印机196。电脑110可以在对一台或多台像远程计算机180这样的远程计算机使用逻辑连接的联网环境里工作。远程计算机180可以是一台个人电脑、手提设备、服务器、路由器、网络PC、对等装置或是其它通用的网络节点,并且通常包括许多或所有前面描述的关于计算机110的部件。图1中画出的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但逻辑连接也可以包括其它网络。这样的联网环境在办公室、企业内部计算机网络、内联网和因特网中是常见的。
当在LAN网络环境中使用的时候,计算机110通过网络接口或适配器170连接到LAN171。当在WAN网络环境中使用的时候,个人电脑通常包括调制解调器172或其它用于在像因特网这样的WAN173中建立通信的装置。调制解调器172可以是内置或外置的,可以经由用户输入接口160连接到系统总线121。在网络环境中,所述的与计算机110相关的程序模块或其部分可以存储在远程存储器装置中。作为实例而非限制,图1将远程应用程序185图示为驻留在远程计算机180中。可以理解,所示出的网络连接是示范性的,在计算机间可以使用其它的建立通信链路的装置。
在一个实施例中,系统100包括具有特定应用程序模块的用于生成企业管理解决方案的软件,该方案可以集成一般财务处理和企业机能。这些模块可以包括关于财政、贸易、后勤、生产、客服、工程项目和人力资源的模块。然而,其它模块类型也可以用在该企业管理解决方案中。可以配置本发明的解决方案来支持多样的货币(欧元、美元、日元、Wan,等等)、多样的语言(英语、德语、法语、丹麦语、俄语、日语、中文,等等)以及多样的征税形式(为了被应付多样的税务当局的终端用户所使用)。
在企业管理解决方案中使用的模块可以从多种源中开发出来。在一个实施例中,一种所有这些模块之间的公共链接是标号的使用。标号是由标识符表示的文本。可以将标号使用在任何具有标号属性的对象上,其中,这标号属性包括对话框、文本串或任何用来传送信息给用户的文本。通常通过一个像图形用户接口或GUI这样的资源来提供标号给用户。但是,也可以通过其它任何提供文本给用户的手段来提供标号给用户。更进一步地,可以在具有像“标号”、“帮助”、“题注”和“工具提示”这样的标号属性的控件上使用标号。在以前的企业解决方案软件中,每一个模块的标号是保存在分离的资源文件中的。但是,这些资源文件通常是保存在一个属于特定模块的平面文件体系结构中的。常常,在模块的开发过程中,开发者知道在另一个模块中有一个符合当前正要创建的标号的要求的标号。但是,现有技术的系统的专有文件源结构,防碍了开发者在另一个模块中使用来自一个模块中的标号,也不可能搜索标号。
图2是说明根据该发明的一个实施例,在企业解决方案系统200中,其包括标号的不同集合之间的关系的的实体关系图。图2的实体关系图包括语言表210(或该系统内可用语言的其它标)、主管220、标号ID表230以及标号文本表240。在一个实施例中,将这些集合作为结构化查询语言(SQL)元数据存储排列到表中。但是,也可以使用关于该集合的其它排列和其它数据库。参考3A & 3B来非常具体地说明标号ID表230和标号文本表240。
语言表210是一个包括至少两个子字段的表。语言表210中的两个子字段是语言ID字段211和语言名字字段212。语言ID字段211保存表示特定语言的编码,并且是可被企业解决方案软件程序理解的。语言名字字段212是一个保存语言的名字的文本字段。例如,如果可用语言中的一种是英联邦国家的,如果使用ASCII标准,用作说明地,那么语言ID字段211可以是“01”,或它可以是“en-us”。不过,语言ID字段211内也可以使用其它ID类型。例如,用于该条目的源数据表的语言名字字段212是“English-US”。换句话说,如果这个解决方案是用特定解决方案提供的,这个条目可以是一个该具有特定语言文本的标号。
当用户想要查看或改变该系统的操作语言的时候,可以在标号对话框画面中,向用户展示存储在语言表210中的信息。语言表210和标号文本表240符合1∶n的关系。这个关系(1∶n)的产生是由于,在每一个可用于系统200的语言中,可以有若干代表不同标号的标号文本。
主管220是一个实施例,一个包括系统200中每个标号的一个版本的表。在一个实施例中,主管220以原始语言和格式来保存标号的原始版本。但是,也可以在主管220中存储标号的其它译本。例如,如果使用了最好方法准则,那么系统200可以在主管220中以英联邦国家的语言和格式来存储标号。最好方法准则是一组用特定分类类型、描述和语言来标准化标号导出的步骤。在主管220中,系统200中的每一个标号都有一个相关的条目。当更新一个标号的译文,还没有将标号翻译成当前选中的(活动的)语言,或因为任何原因标号变成对于系统200来说是不能访问的时候,使用该主管标号。但是,在另一个实施例中,可以将存储在主管220中的信息作为一个字段或一些字段存储在标号表230或指示主管标号的标号ID的语言240中。进一步地,主管220可以是一个保存关于创建哪种语言标号的信息的简单字段。这个字段可以位于系统200中任何一个表中。
每一个主管表条目221对应于标号ID表230中的一个条目。标号ID表230包括在正确地翻译该标号方面帮助(正在翻译该文本的)翻译者的不同特性。这些特性也在正确地使用该标号方面帮助开发者。因为多个标号ID可以共享相同的主管标号,主管表条目条目221和标号ID表230的关系是1∶n。
标号文本表240包括这样的的条目,它们包含关于用一个标号ID标识的每一个标号的文本。标号文本表240也包括这样的条目,它们包含关于不同语言的每一个标号ID的译文。标号ID表230和标号文本表240之间的关系,以及语言表210和标号文本表230之间的关系,都是1∶n。这是因为,在关于一个标号的标号ID表230中有一个条目,但是该标号的文本可以多种语言存在。但是,在本发明的另一个实施例中,标号ID和标号文本的关系可以是1∶1(或1∶0如果没有文本存在),其中,在标号ID表230中,每一个主管标号的译文都有它自己唯一标号ID以及条目。
根据本发明的一个实施例,图3A说明了组成标号ID表230的字段。标号ID表230包括一个ID字段23 1、一个名字空间字段232、一个分类字段234以及一个描述字段235。在其它实施例中,标号ID表230可以包括字段236,其表示标号ID表中的该条目是从另一个标号复制的,还是已经复制为该表中的另一个条目的。
通常,标号保存在资源文件中。现有的企业解决方案系统不使用在象SQL表这样的数据库元数据存储内是可用的类属资源文件。在现有企业解决方案系统中,这些标号是存储在专有资源文件中的。与使用专有资源文件相关的一个问题是,当开发者想要用一个具有关于该文件的专有资源的文件来替换系统中标号的一部分的时候,系统不会寻找该系统内与当前标号具有相同标号特性或术语的另一个文件。但是,在一个企业解决方案环境中,企业解决方案系统需要处理许多不同的相同或相似问题的解决方案,这些问题是由多个厂家开发的。因此,本发明的标号系统200可以使用由不同厂家所做的所有贡献的总和。
ID231字段是用来识别系统200中的一个特定标号的。在一个实施例中,这个ID是一个全局唯一标识符或GUID。GUID是用来消除因为两个厂家已为两个不相关的标号选择了相同的标识编号而产生问题的。在一个实施例中一个GUID是一个128位整数(16字节),只要需要一个唯一标识符,这个整数就可以跨越所有计算机和网络地使用。这样的标识符系统的使用减少了两个标号会具有相同ID的可能性。在一个实施例中,GUID被表示为一个字符串并根据下面的模式被格式化:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
其中,GUID的值被表示为一系列在8、4、4、4和12个数字的组中十六进制数字,并且由连字符分开。例如,返回关于行301的条目的GUID可以是382c74c3-721d-4f34-80e5-57657b6cbc27。但是,其它格式类型也可以用于该ID字段231。每一次生成新标号时,就给该标号分配一个新的GUID。在一个实施例中,新标号被定义为一个对于系统200来说是新的的标号,而不仅仅是现有标号的译文。但是,在其它实施例中,为现有标号的译文生成了在ID字段231中的新条目。
GUID的使用提供了更多优于当前系统的好处。第一,不需要将每一个标号分成若干语言。进一步地,GUID容许唯一地标识每一个标号,而不需要用其它方式来控制唯一性,例如通过行编号的使用。第二,GUID允许将标号的物理存储器从专有资源文件变为普通资源文件,例如在一个环球网服务上的元数据库。
标号ID表230中的名字空间字段232是一个加入到标号ID中的特殊字段,以在将该标号文本从主管语言翻译成目标语言的时候,在获得关于该标号的正确项的方面帮助翻译者。在当前的标号系统中,不可能容易地了解在程序中哪里使用了一个特定的标号。因此,对于翻译者来说,要从该标号获取正确的项,是非常困难的,如果不是不可能,除非这个程序是安装在他们计算机中,而且他们能够了解在哪里使用了该标号。名字空间字段232使得不非得将该程序安装在翻译者得机器上,就了解使用该标号的区域,成为可能。当创建新标号时(或自动或手动),开发者提供包含在名字空间字段中的信息,并提供关于该特定标号的使用的信息。例如,在图3A的行302的条目中,名字空间字段232告诉翻译者,这个字段是用在记账模块中的。
标号ID表230中的分类字段234是一个特殊字段,说明该标号使用在该程序的哪一个组件中。进一步地,分类字段234的使用在创建标号文本来以正确的方式写入该标号时帮助开发者。分类是节点类型和关于该标号的特性的组合。节点类型是标号的特定特性。这些标号特性中的一些可以包括“标号”、“帮助”、“题注”,等等。因此,分类字段234使得保证以用于想要的程序的适当方式来使用标号成为可能。进一步地,分类是一个所有系统中出现的控件的映射。因此,可以基于想要的标号的类型或标号来搜索现有标号数据库。在本发明中,为每一个规则或控件创建一个分类,其中,控件是由系统200来执行的。在开发一个模块的过程中,如果对于特定标号文本需要一个特定规则,可以创建另外的分类。例如,节点字段234可以是一个条目,表明在条目303中的标号是用在模块的菜单栏中来指引用户到模块中的另一点。将每一个分类映射为系统200中的特定函数。
描述字段235是一个表230中的条目,向用户或开发者描述该标号是如何使用的。例如,描述字段235可以是一个表明在条目303中的标号是用于在账目型案例的条目。这个说明可以是以词(纯文本)的形式的,或者可以依照预定编码列表对它进行编码。
复制字段236表示,是否已经从标号系统中另一个标号复制了该条目的相关标号。如果已经从另一个标号复制了该标号,那么复制字段236包括来自父或主管标号220的ID。在一个实施例中,这个ID是符的GUID。但是,其它的ID的也可以用在字段236中。如果该标号不是另一个标号的复制译本,那么复制字段236是空的或设为空值。进一步地,如果在复制之后标号本文由主管标号的文本变化了,那么复制字段236设为空值,因此消除该主管标号220和这个特定子标号之间的所有链接。但是,对该条目的其它改变会导致重置该复制字段236。在另一个实施例中,图3A的标号ID表230包括,表示什么标号ID的包含复制的标号的字段。
图3B说明了组成特定标号的标号文本表240的字段。标号文本表240条目包括至少三个不同字段:标号ID字段244、标号文本字段241和编辑日期242。在本发明的另一个实施例中,可以加入另外的字段到该标号文本表240。这些字段包括表示写该文本所用的语言的字段243,或标识标号文本表中每一个译本的文本的条目标识符的字段。
标号文本表240的文本字段241包括,用于该系统、以所有可用语言形式的、关于标号的文本的最新译本。在关于该标号的标号文本表240中的第一条目351,用的是写该标号所用的原始或主管语言。如果根据最好方法准则来开发该标号,就会用英联邦国家的语言来写主管文本。但是,也可以使用其它语言作为主管语言,而且不必遵循最好方法准则。
当将该标号文本从主管语言翻译成另一种语言时,在标号文本表中,例如322和323,就获得了一个新标号文本条目。这些条目包含原始标号文本的以它们各自语言形式的已翻译的译本。例如,如果标号的原始文本是“你想保存你所做的改动吗?”,将这个文本存储在标号文本表240的第一行321。随后,当将该文本翻译为德语、丹麦语和法语的时候,在主管文本条目下面的条目中,将这些译本加入到标号文本表。这些加入的译本用条目352、353和354来表示。因要开发者知道上一次用语标号文本表中那个特定条目相关的语言改动该标号的文本是在什么时候,在该标号文本表240中提供编辑日期字段242。进一步地,也可以加入包含有效性信息的其它字段,例如,“用......修改”字段。这个日期帮助保证,如果提供关于一个文本的译文,它不替换该译文的已经更新译本。当自动地将译文载入系统的时候,比较译文日期,如果该条目中的译本比提出的条目更加新,就不把该提出的条目加入到表中。
编辑日期字段242也允许开发者用主管文本条目的最新译本来检查该译文是否是最新的。在一个实施例中,主管文本条目的321编辑日期理想地是在关于特定标号的标号文本表240中最旧日期。
在有的实施例中,标号文本表240包括一个语言字段条目243。语言字段条目243向开发者指示该标号文本表中特定条目的指定语言,即使开发者不说或不懂该语言。这个在语言字段条目243中的语言指示符可以是该语言的数值表示,或者可以将它写作为该语言的名字,或者任何种类的语言标识符。
如果用数值表示来标识该语言,那么直观地,关于该语言的引用号或条目可以遵照一个已知标准,例如ASCII语言编码或ISO639。但是,也可以用其它编码来标识该文本条目的语言。如果把该语言的名字加入到字段243中,那么直观地可以根据已知的标准(即,英语的语言名字)来写入该语言的名字。但是,也可以使用其它格式。
标号文本表240也包括一个条目字段244,标识关于该特定标号文本的标号ID231。这个条目允许开发者知道当前文本是相关与哪个标号ID231。该标号文本表240的另外的实施例包括关于一个文本ID245的条目。这个文本ID245是用来在标号文本表240中单独地标识每一个文本标号作为它自己的条目。文本ID245条目可以是GUID,或者它可以是任何与该标号文本表的结构一致的其它标识方法。在一个可选实施例中,可以将标号文本表240和标号ID表230合并成一个表或数据库。在这个实施例中,便会需要一个附加的字段组来管理标号,并保证在运行该模块时显示正确的标号语言文本。进一步地,便会加入一个索引来管理该标号的载入。
图4是一个说明组成该标号系统接口400的组件的框图。该标号系统接口400是一个将开发者401连接到该元数据存储409的接口,并且在开发关于系统200的新模块的时候,允许开发者操纵现有标号。标号系统接口400包括一个标号对话框402、一个标号对话框逻辑组件403、一个扩展语言接口404以及一个标号接口405。
开发者通过标号对话框402与标号系统接口400互动。标号对话框402是一个用户接口,它使得开发者能够使用该标号系统接口的功能部件。在一个实施例中,标号对话框402是一个允许用户查看和管理指定标号的使用的窗口。标号对话框402对元数据存储使用这个接口来处理标号,和访问关于在所有可用语言中的标号的完整命令集合。为了提供这些功能部件,标号对话框接口402需要使用所有关于标号系统400中每一个标号的可用语言。
但是,标号对话框402不包含任何逻辑来确定一个标号是否能够用在一个指定状态。所有控件都被传给一个控制标号接口或标号对话框逻辑组件403的类。标号对话框逻辑组件403是设计来与标号对话框402一起使用的,但是,因为其包含所有关于标号对话框402的逻辑,该标号对话框逻辑的某些特性部件可以在其它区域再使用。进一步地,标号对话框逻辑组件403保证,每一个标号都以与关于该标号的正确名字空间和分类的组合一致的方式使用。这个逻辑防止了在一个不同区域中没有先创建一个新的主管标号,因疏忽所致的标号使用。
扩展语言接口404规定标号对话框接口400使用系统中所有可用语言。扩展语言接口404使用另一个类来使多种语言对于标号对话框逻辑组件403和标号对话框402可用。扩展语言接口404仅具有对于系统中一个以上的语言来说是通用的方法(返回一个所有可用语言的列表,而且也返回关于当前语言的ID)。仅与一种语言相关的方法正好位于标号类405。标号类使得在元数据中连接到标号成为可能。那儿在每一个可用语言中有一个标号类的样品,但是,在一些情况下,可能会没有关于特定类的实例。
语言接口组件404也控制对可用语言的访问。语言接口组件404包含标号的样品的映射。语言接口组件404也是对每一个关于当前标号的可用额外语言类的接口。
图5是说明,在根据本发明的一个实施例的模块的一部分的开发的过程中,当创建关于一个模块的新标号时所执行的步骤流程图。例如,如果开发者想要在模块中产生一个代表一个关于“顾客”的输入的标号。开发者必须决定在该模块中将怎样使用该标号。术语“顾客”具有许多不同的意思。例如,顾客可以指向你购买货物和服务的一个人,或者它可以指和你来往的一个“谁”。在其它语言中,这个词的用途将会冲突。这是在图5的模块501中说明的。
接下来,开发者打开标号对话框程序。直观地,被打开的标号对话框类似于图6中说明的标号对话框600。但是,也可以使用其它接口。该给出的接口允许开发者加入他们想要的关于该标号的指定文本。该标号对话框的打开在图5的模块502中说明了。
一旦标号对话框已打开,开发者就可以在行602加入想要的关于该标号的文本。换句话说,开发者可以在行602进入用于该标号的所需的文本部分。例如开发者能加入文本部分“顾客”或可以加入“cust”。进一步地,在行603和604,开发者输入一个数据到接口中来表示,该新标号将怎样使用。这个数据可以用于搜索系统中的现有标号,或者可以在创建一个新标号时使用。例如,如果开发者正在创建一个关于管理销售的模块,并且想使用术语“顾客”来生成一个关于买方的标号,那么在行604,开发者便会加入关于一个买方的分类编码。这个编码可以手动加入,通过一个下拉菜单,或是通过使用当前系统设置来自动地加入。这个分类编码控制这个函数使用的处理的复位。一般说来,标号对话框中的分类编码和名字空间条目遵循标号系统的当前设置。这个数据的条目在图5的模块504中说明了。这个数据时作为一个正规表达式加入的。进一步地,在另一个实施例中,开发者可以通过一个限制对选中分类的搜索的选择框来控制该搜索。
开发者用一个选择按钮650来激活搜索函数。但是也可以使用其它技术来激活该标号搜索函数。该搜索引擎的激活在图5的模块505中说明了。
然后本发明在数据库中搜索来查找在该数据库中符合输入的文本的条目。在该搜索过程中,可以向用户展示一个处理指示符。在图6中用参考编号640说明了一个处理指示符。当该搜索结束的时候,该处理指示消失,并且该对话框向开发者返回一个所有以选中语言匹配初始查询的标号的显示画面。这在模块506中说明了。
在一个实施例中,象图6中说明的那样,接口600扩大来显示所标识的匹配。在这个实施例中,显示的匹配的标号的列表可以包括包含在标号ID表230中的信息,及来自标号文本表240中的一些信息。结果视图以选中的语言,与通过与表230关联而可用的额外信息一起显示文本。用GUID以递增的顺序将该搜索的结构给予开发者。结果的一个实例在图6的区域610中显示。但是,也可以使用其它排序技术,例如按照文本匹配的递增的顺序。开发者然后检查以便了解是不是任何标号文本都匹配该想要的文本。这在模块520中说明了。如果找到一个匹配想要的关于新标号的文本,那么开发者高亮显示它,或相反指示,匹配该想要的标号文本的指定标号。这在模块507中说明。该标号的译文也可以在620显示,如果想这样的话。
接下来该系统检查以便了解该选中的标号分类和名字空间是否与新标号的分类相同。这在模块508中说明了。如果在选中的标号和该新标号之间,该标号分类和名字空间是相同的,那么将选中的标号的信息用于该新标号。这在图5的模块509中说明了。
如果该标号的名字空间和分类与想要的关于该新标号的使用不同,那么必须复制该标号。这复制的信息也包括该选中标号的所有翻译译本。当将该标号复制为新的标号时,在关于该新标号的标号ID表230中产生一个条目,指示从中复制该标号的标号的GUID。这在模块510中说明了。这使得当主管标号文本改变的时候,容易地更新新标号的文本成为可能。这个在改变上的更新可以通过执行一个典型的查找和替换协议或通过其它任何自动化方法来进行。
如果在该搜索中没有找到匹配的,那么开发者必须生成一个关于新标号的新对象。该新对象的生成在模块521中说明了。在该标号的生成期间,将该标号的特性存储在标号ID表230和标号文本表240中。如果该标号的文本不是完整的,那么开发者在标号对话框600中加入想要的文本的剩余部分。基于该标号系统的当前设置来加入名字空间和分类编码。开发者也必须以所有想要的语言生成关于该标号文本的译文。而且将关于该关于该标号的当前操作语言的ID存储作为主管语言。这些标号特性的译文和条目的增加和生成在模块522中说明了。
总之,本发明提供一种在企业解决方案软件程序中存储和使用标号的新方法。该信息改为分成1∶∶n关系,而不是具有关于每一种语言的单独资源文件。关系式的‘1’这边保存标号标识符和其它实际通用标号信息。关系式的‘n’这边保存涉及指定语言的标号文本。以这种方式安排标号使得在运行期中访问涉及所有语言的标号成为可能。
在新标号的生成过程中,可以使用一个系统中已有的标号来复制该标号,或者通过从无到有地创建新标号。当在搜索标号时,输入一个表达式是可能的(例如,‘<Ledger>’给出所有用Ledger开头可用标号。但是,依据该系统是在哪里执行,也可以使用不同的语法。)。通过选择特定的要搜索的名字空间或分类来缩减命中是可能的。该搜索也可以通过使用术语数据库来完成。新标号也可以通过使用该数据数据库(万维网服务)来创建。当进入术语数据库时,用额外的标准来接合当前搜索标准,来描述要使用该标号的实际状态是可能的。这是为了保证使用正确的术语。当在术语数据库中找到一个标号的时候,就将这个标号复制为一个新标识符。术语数据库具有关于所有支持的语言的译文。当要使用一个标号时,该标号必须是出现在该搜索结果中的,匹配实际的名字空间和分类。如果这个是这样的情况,就不可能选择该指定标号。如果这个不是这样的情况,就可以通过用手写入该标号,或是通过从术语数据库的另一个名字空间/分类复制该标号来创建一个新标号。复制一个标号给出了一个与当前名字空间和分类相关的标识符的新标识符。
该标号的管理是通过使用一个标号对话框来完成的,该对话框是直接从指定标号特性调用的。对话框使得保存标号并选择一个用在指定特性上的指定标号成为可能。通过一个给出需要的特征的Label接口来发生的编码来使用该标号系统。这使得改变标号存储的方式成为可能。该存储可以是SQL元数据存储、资源文件或万维网服务。事实上,它可以是所有类型存储的组合,这取决于对该网的特定访问。
该标号对话框保证该标号在正确的状态下使用。引进分类到该标号系统中,保证该标号被正确使用。但是该特征还具有另外的目的。当翻译标号的时候,通过名字空间信息和分类的组合了解标号要用在哪里是可能的。这使得找到要用的正确术语成为可能。知道标号用在哪里使得加入更多Best Practice检验到Best Practice框架中成为可能。本发明允许适合已知(或未知)翻译工具的指定译文文件的生成。通过导入日期信息到译文文件中,在导入该译文文件时检验日期是可能的。这是为了保证正在进行的翻译处理是直到具有系统中上一次改动的日期的。具有一个更新了的交叉引用系统,了解一个指定标号使用在哪里是可能的。了解对一个指定标号的改动也是可能的。对于翻译者来说,这些特征是与赋予他们确定对一个指定标号的改动是否是简单的(例如,在该行的尾部加入“.”)可能性是相关的。
尽管已参考特定实施例说明本发明,本领域的技术人员可以认识到,可以在不偏离本发明的精神和范围的情况下,在形式和细节上做出改变。