文本的标号系统-翻译和在运行时间的多语言支持以及设计的制作方法

文档序号:6448389阅读:138来源:国知局
专利名称:文本的标号系统-翻译和在运行时间的多语言支持以及设计的制作方法
发明的背景本发明涉及在一个企业解决方案软件中合并和开发标号。特别地,本发明涉及用于开发和合并中关于企业解决方案的模块中的标号数据库和标号对话框。
商业解决方案软件程序向一个终端用户,通常是一个公司,提供具有一个支持与用户的不同商业伙伴的连通性的,可定制、可伸缩和全球的企业资源计划解决方案。除原始产品之外,许多企业解决方案提供扩展该软件的基础功能性的能力,以进一步满足执行公司的需要。通过被写入的额外的模块该新的或额外的功能被用于获取已有特征的益处并将已有数据保存在商业解决软件中。这些附加的模块常常自动地用该企业解决方案软件的旧或新的功能性来对软件和已有数据进行同步。
有的企业解决方案软件提供管理在跨越多种语言和用多种货币的不同国家的生意的能力。通过在企业解决方案软件中提供多语言能力的使用,用收件人首选的语言来传送文档,例如发票,是可能的。但是,在当前系统中改变文档的语言需要载入新的语言到该企业解决方案软件中,并改变该系统的全部的操作语言。
该企业解决方案中不同可用语言内的通信,是通过若干标号的使用来处理的。标号是出现在一个用户接口组件上或在一个打印文档中的文本。标号可以用在菜单、按钮、对话框等上。进一步地,标号可以用在具有像“标号”、“帮助”、“题注”和“工具提示”这样的属性的控件上。在当前企业解决方案软件中,这些标号存储在分离的资源文件中,其中这些资源文件具有专用于每一个该企业解决方案软件使用的语言的一个资源文件。进一步地,企业解决方案软件中的每一个模块都具有它自己的资源文件,这不是与其它模块或该企业解决方案软件自己共享的。
贯穿企业解决方案软件的开发过程中,在开发者中曾有很强烈的愿望来重新使用已有标号。但是,已注意到重新使用已有标号不是如此有利的,因为与标号的术语相关的不同属性可以在不同的使用中改变,或一个标号的含义可以在不同的开发者之间改变。当改变一个术语时会引起问题。例如,一个标号文本可以用在一个应用程序的菜单中,以及另一个的按钮中,因此导致了关于各个标号具有不同属性。大多数开发者想要的是重新使用这些包括标号的术语或文本,以便于缩减与开发关于系统中不同模块的标号的成本。
如前所述,通常,在企业解决方案软件模块中,标号是保存在资源文件中的。但是,当前企业解决方案软件并未通过像结构化查询语言(SQL)的数据库元数据或通过万维网服务而得到的普通资源文件。通常,在企业解决方案中,这些标号是模块特定的,并且存储在专用于每一个在模块中出现的语言的一个资源文件的专有资源文件。一个与使用专有资源文件相关的问题是,当开发者想要用包含在另一个资源文件中的信息或属性来替换或编辑一个模块中标号的一部分的时候,该开发系统不会查找在该企业解决方案软件的其它模块中,具有与想要的标号相同的标号属性和/或术语的另一个标号。进一步地,由于软件解决方案中出现的巨量的标号,使用资源文件使得标号的管理极端困难。但是在一个企业解决方案环境中,需要企业解决方案软件来处理许多由多个不同厂家开发的不同解决方案。时常地,这些模块的开发者在开发,与在企业解决方案软件中为其它模块开发的标号重叠的标号。与开发标号和翻译(当想要多种语言支持的时候)标号相关的成本,是昂贵而费时的,特别是当该标号和它的译文已经存在于企业解决方案软件中其它地方的时候。因此,拥有一个使用不同模块厂家的组合贡献的系统是令人期待的,该系统与需要每一个厂家开发它自己的关于每一个想要的标号的标号的完全专有系统相反。进一步地,一个使得,在还在处理上下文时,搜索现有标号文本并提供重新使用该文本的能力成为可能的系统是令人期待的,其中,在该上下文中,所使用的标号可以不同于当该标号原始创建时的使用。
发明概述本发明致力于在企业解决方案系统中模块的开发者需要。不像在以前的系统中那样,标号(也就是显示文本)是保存在一个公用资源文件中的,其中,系统的每一个模块访问相同的资源文件,而不是关于每一个模块的专有资源文件。为了进一步地提高本发明的效率,所有语言文本作为原始语言存储在相同的资源文件或数据库中。在标号表中,用一个唯一标识符来标识每一个模块用的标号,例如全局唯一识别符(GUID)、它的使用的描述以及相关分类和名字空间。在创建一个新标号或新模块的时候,该信息在确定该数据库中的一个已有标号是否有用方面帮助开发者。
在标号文本表数据库中,每一个标号也具有一组条目,代表若干语言的该标号文本的译本,和在管理标号文本中有用的信息。识别该标号文本的原始语言作为主管语言。当用户想要改变该企业软件解决方案系统的语言、改变一个模块的语言、或用另一种语言打印一个文档,该标号文本表允许在不非得将新语言集载入到系统中并用该临时语言替换该系统的首选语言的情况下,对可用语言的访问。这使得可以在不用要求整个系统用该新语言来操作而使用户糊涂的情况下迅速地改变语言。进一步地,该系统将总是试图显示当前有效的语言。
该发明的一个实施例也致力于开发者正开发一个新模块或编辑关于该企业解决方案软件的一个已有模块的这种情况。本发明允许开发者通过标号对话框开发工具来识别一个已有标号。首先,在开发显示屏中开发者打开的用户接口。这个显示屏向开发者展示一个功能,允许贯穿标号文本数据库的搜索和对所有可用标号的访问。开发者然后将想要的标号的文本输入到该搜索引擎中。使用常规表达式,可以完整地或作为想要的标号的一部分地输入这个文本。在另一个实施例中,开发者可以指示当前文本标号的想要的使用、该文本标号的语言、或其它帮助识别想要的标号的使用的其它信息。
基于输入的数据,搜索引擎搜索该标号文本数据库,并识别最接近地匹配想要的文本的那些标号文本,以及任何提供的名字空间和分类。在该搜索引擎显示屏中将该识别的文本返回开发者,而且能够以数据表格的形式来显示该文本。根据预定的方法排列结果,例如,其中首先显示具有和该想要的文本最接近的分类和语言的标号文本,而最后显示没有相同的分类的那些。然后开发者可以在返回结果中找到包含想要文本的结果。如果这些结果中的一个包含关于该新标号的想要的文本,那么开发者可以从结果中选择该想要的标号。
通过选择结果,向开发者给出了更多关于包含在该数据库中的指定标号的信息。如果该选中的标号文本的使用与新标号相同,那么开发者可以使用所需目标符号的所选标号。但是,如果该选中的标号的使用与新标号不同,那么开发者可以复制该标号为新标号。
当将选中的标号复制为新标号时,为新标号生成一个GUID,并生成一个在新标号的记录中的条目,指示被复制到这个标号的标号的GUID。提供这个条目来使得能够在改变父标号的文本时更新新标号的文本。进一步地,当将一个标号复制为新标号时,将所有相关的译文都复制到关于新标号的标号文本表中。这在不招致任何与将新标号翻译为可用语言的附加成本的情况下,允许该企业解决方案软件系统的全部语言能力转移到新标号中。在另一个实施例中,当更新该标号的一个被翻译的译本时,用被翻译的标号的新译本来对所有共享相同主管标号的相关标号进行更新。
当将选中的标号复制为新标号时,该标号的文本信息复制到新标号,以及除了该主管标号的标号ID之外的其它信息。如果没找到关于该标号的想要的文本,那么开发者必须创建关于想要的标号的新标号。进一步地,开发者将必须生成关于该新标号的文本的新译文。换句话说,如果开发者在系统中找到一个标号,那么复制该标号。但是,如果开发者改变标号上的信息,那么,该标号将作为关于该系统的新标号出现。
附图的简要说明

图1是一个可以使用本发明的示范性的环境的框图。
图2是说明包括本发明的标号系统的表的框图。
图3A和3B是标号ID表和标号文本表中的字段的示意图。
图4是说明标号对话的组件之间的关系的框图。
图5是说明创建一个新标号时所执行的步骤的流程图。
图6是一个开发和搜索标号数据库时用户调用的一个用户接口的实例。
说明性的实施例的详细说明图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框架中成为可能。本发明允许适合已知(或未知)翻译工具的指定译文文件的生成。通过导入日期信息到译文文件中,在导入该译文文件时检验日期是可能的。这是为了保证正在进行的翻译处理是直到具有系统中上一次改动的日期的。具有一个更新了的交叉引用系统,了解一个指定标号使用在哪里是可能的。了解对一个指定标号的改动也是可能的。对于翻译者来说,这些特征是与赋予他们确定对一个指定标号的改动是否是简单的(例如,在该行的尾部加入“.”)可能性是相关的。
尽管已参考特定实施例说明本发明,本领域的技术人员可以认识到,可以在不偏离本发明的精神和范围的情况下,在形式和细节上做出改变。
权利要求
1.一种在商业综合系统中创建新标号的方法,包括步骤在一个表示怎样使用该新标号的接口中接收数据;在标号数据库中搜索匹配想要的文本的文本;以及向用户返回在该标号数据库中查找到的匹配的列表。
2.如权利要求1所述的方法进一步包括步骤选择这些匹配中的一个作为关于新标号的文本。
3.如权利要求1中所述的方法,其中,向用户返回匹配物的列表返回包括至少该想要的文本的一部分的匹配。
4.如权利要求1中所述的方法进一步包括步骤为该新标号在该标号数据库中创建一个新对象。
5.如权利要求4中所述的方法,其中,创建一个新对象进一步包括步骤为该新标号指定一个GUID;以及为与该新标号相关的文本在标号文本数据库中创建一个记录。
6.如权利要求5所述的方法,其中,接收数据到一个接口中进一步包括步骤接收关于该新标号的分类编码;以及接收关于该新标号的描述。
7.如权利要求6所述的方法,其中,接收描述包括接收一个名字空间和一个描述。
8.如权利要求6所述的方法,进一步包括步骤接收一个用来写入新标号的原始语言的标志。
9.如权利要求4所述的方法进一步包括步骤在标号数据库中存储该新标号。
10.如权利要求9所述的方法进一步包括步骤在一个标号文本数据库中的一个记录中存储关于该标号的文本译本。
11.如权利要求2所述的方法,其中在该标号数据库中搜索匹配该想要的文本的文本进一步包括步骤选择在标号数据库中具有该想要的文本的至少一部分的记录;在这些选中的记录中识别一个怎样使用该选中记录的标志;将该选中的记录的指示的使用与该新标号的指示的使用进行比较;以及用想要的文本和该新标号的表示的使用,对这些基于一个匹配的选中的记录进行排序。
12.如权利要求11所述的方法进一步包括步骤在用户接口上显示匹配物的列表。
13.如权利要求12所述的方法进一步包括步骤对该匹配的列表进行排序,其中优先显示具有对该想要的文本最接近的匹配的匹配。
14.如权利要求12所述的方法进一步包括步骤接收一个在该匹配物的列表中的一个记录是想要的条目的标志;以及选择那个条目作为该新标号的文本。
15.如权利要求11所述的方法进一步包括步骤将该选中的标号的分类和该标号的分类进行比较。
16.如权利要求15所述的方法,其中,如果该选中的标号的分类不同于该新标号的分类,那么就进一步包括步骤在标号数据中复制该选中的标号到该新标号中。
17.如权利要求16所述的方法,进一步包括步骤将一个标号文本数据库中的所有译文复制到关于该新标号的标号文本数据库中的记录中。
18.如权利要求16所述的方法进一步包括步骤在新标号中创建一个条目,指示该选中的标号的ID。
19.如权利要求15所述的方法,其中,如果该选中的标号的分类与新标号的分类相同,那么进一步包括步骤使用关于该新标号的选中的标号。
20.如权利要求11所述的方法,其中,如果没有一个选中的记录包括该想要的文本的话,就进一步包括步骤输入该想要的文本到该新标号中;确定离开关于该系统的当前控件的新标号的分类和描述;生成该标号的文本的新译文;以及接收该新译文到标号文本数据库中的关于该标号的记录中。
21.一种代表一个标号的数据结构包括一个标识符(ID);以及一个包括若干语言形式的文本的文本。
22.如权利要求21所述的数据结构,其中,该标号ID包括一个唯一ID;一个名字空间;以及一个分类。
23.如权利要求22所述的数据结构,其中,该标号ID进一步包括一个表示怎样使用该标号的描述字段;以及一个表示该标号是否是另一个标号的复制的复制字段。
24.如权利要求22所述的数据结构,其中,该分类进一步包括一个节点类型;一个对象类型;以及一个属性名字。
25.如权利要求21所述的数据结构,其中,该标号文本包括一个原始语言的文本短语条目;该文本短语的若干语言中的至少一种的译文;一个在标号文本中关于每一个条目的编辑日期字段,至少表示创建该条目的日期;一个保存在标号文本中每一个条目的唯一ID字段;一个保存关于该主管标号的标号ID表中一个标号的ID的字段;以及一个历史字段,指示关于该标号文本的历史的信息。
26.如权利要求21所述的数据结构进一步包括一个主管标志,表示一个标号具有一个主管标号;以及一个语言标志,表示创建该标号的语言。
全文摘要
一种在具有多语言的企业解决方案软件中存储和使用标号的方法。不是具有关于每一种语言的单独的资源文件,而是与该标号相关的信息存储在一个数据库中。在一个标号数据结构中,每一个标号都指定了它自己的唯一标识符,该数据结构也包括关于在该系统中如何使用该标号的信息。关于该标号的文本存储在一个单独的标号文本结构中。该标号文本结构包含所有可用语言的该标号的文本。当写入一个新标号的时候,开发者可以搜索当前标号来查找一个匹配预定用途的标号。如果找到了该想要的标号文本的相应匹配,那么复制该标号为新标号。如果没有找到相应匹配,那么必须生成一个新标号。
文档编号G06F9/44GK1619546SQ20041010478
公开日2005年5月25日 申请日期2004年7月30日 优先权日2003年9月30日
发明者R·比茨克, J·S·汉森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1