支持多国语言的网页处理方法、网页加载方法及其系统的制作方法

文档序号:6370958阅读:163来源:国知局
专利名称:支持多国语言的网页处理方法、网页加载方法及其系统的制作方法
技术领域
本发明涉及计算机网络应用领域,特别涉及ー种支持多国语言的网页实现技木。
背景技术
国际化的必要条件是设计和开发容易适应不同区域要求产品。对于可通过网络访问的产品,它要求万维网(World Wide Web,简称“WWW”)页面可以方便地实现多国语言的切换显示。这种方便包括两个方面I. Web页面多国语言的添加维护;2.用户使用Web页面的交互体验。前者要求Web页面支持多国语言的方法需要尽量減少添加新语言和维护现有语言时的工作量,后者要求该方法具有较高的响应速度。
为了实现Web页面支持多国语言,现有技术通常采用以下三种方案之一I.每ー个Web页面针对每一国语言编写ー个HTM L文件,在切换语言时重新载入对应国语言的文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件;2.每ー个Web页面对应ー个HTML文件和一个翻译文件,翻译文件通常但不限于为可扩充标记语言(extensible Markup Language,简称“XML”)文件(以下均使用XML文件作为翻译文件,以示说明),XML文件中针对每一国语言建立一个节点集合,将HTML文件中或通过Web脚本代码动态插入的与各国语言有差异的字符串(以下简称“语言字符串”)抽离,并通过索引与XML文件中各国语言节点集合的字符串关联,在加载Web页面或切換语言时从XML文件对应国语言节点集合中通过索引替换HTML文件中的字符串;3.每ー个Web页面对应ー个HTML文件,针对每一国语言编写ー个XML文件,将HTML文件中语言字符串抽离并通过索引与各XML文件中的字符串关联,在加载Web页面或切换语言时从对应国语言的XML文件中通过索引替换HTML文件中的字符串。对于Web页面支持多国语言的可维护性上述方案2优于方案1,方案3又优于方案2。对于用户切换Web页面语言时的响应速度上述方案2和方案3均优于方案I。而方案2和方案3的比较则要视具体情况而定对于遍历算法的时间复杂度二者相同,都是当前Web页面语言字符串个数(η)的平方(次),对于Web前端(浏览器)与Web后端(服务器)的交互速度方案2在加载ー个Web页面时只需获取ー个HTML文件和ー个XML文件(或称为XMLII ),切換语言时无需获取;方案3在加载ー个Web页面时需获取ー个HTML文件和ー个XML (或称为XMLIII)文件,每次切换语言时需获取另ー个对应国语言的XML文件(或称为XMLIir )。当支持语言种类(L)较少时(L< 2),XMLII与XMLIII的文件长度相近,影响用户体验的主要因素是Web前后端的交互次数,因此方案2优于方案3。当支持语言种类较多时(L > 2),XMLII是XMLIII文件长度的L倍,影响用户体验的主要因素变为Web前后端的交互时间,方案3可将每次加载ー个新Web页面时的交互时间平分到毎次切换语言吋,而用户重新切换语言的频率要比用户加载ー个新Web页面的频率低得多,因此方案3优于方案2。随着产品的国际化,要求Web页面支持的语言种类越来越多,所以目前Web页面支持多国语言的实现方法多采用方案3。但方案2和方案3均普遍存在以下缺点I.虽然Web页面中的语言字符串采用软编码的设计方式(即语言字符串与HTML文件分离),但产品所支持的语言种类则是硬编码的方式存在于Web脚本代码,因此每次提供支持不同国语言种类集合的产品时,需要修改源代码;2.目前已知的3种方案均是以HTML文件中包含语言字符串的标签(以下简称“语言标签”)的id属性作为与XML文件间的索引键,而万维网联盟标准要求ー个HTML文件中所有标签的id属性不可重复,导致在ー个HTML文件中显示在不同位置的同一个语言字符串所在的标签必须赋以不同的位置属性,同时在对应的XML文件中重复多次;3.当多个HTML文件具有相同的语言字符串时,要在对应的多个XML文件中各保留ー份;4.对于某些语言字符串个数较少同时关系较密切(可能会被用户频繁地相互间来回切換)的Web页面,每次加载ー个新HTML文件的同时还必须加载ー个XML文件,势必增大 Web前后端交互的压カ;5.当用户选择切換语言时,无法替换以Web脚本代码方式动态插入到Web页面中的语言字符串(以下简称“动态语言字符串”,指并非通过HTML文件中的语言标签与XML文件节点相关联的语言字符串),或者只能在切换语言的同时刷新Web页面。综上,缺点1、2、3増大了添加新语言和维护现有语言时的工作量,増加了语言字符串间的冗余;缺点4、5则降低了用户切换Web页面或切換语言时的响应速度。

发明内容
本发明的目的在于提供ー种支持多国语言的网页处理方法、网页加载方法及其系统,当添加或修改某一国语言时,減少人工投入的时间和成本,节省网页服务器的存储容量,提高页面加载和翻译渲染的速度,以及降低翻译文件集的冗余度。为解决上述技术问题,本发明的实施方式公开了ー种支持多国语言的网页处理方法,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTM L文件有对应的翻译文件,包括以下步骤扫描翻译文件集中所有的翻译文件;将不同翻译文件或同一翻译文件不同节点集合中的相同的语言字符串提取出来,并插入到该不同翻译文件的最小公共祖先翻译文件或该同一翻译文件的公共节点集合;将原始翻译文件或节点集合中的相同语言字符串删除。本发明的实施方式还公开了ー种支持多国语言的网页加载方法,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,其特征在于,包括以下步骤从服务器中下载当前HTML文件对应的翻译文件及该翻译文件对应的所有祖先翻译文件;将所述翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串合井;将合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切換。本发明的实施方式还公开了ー种支持多国语言的网页处理系统,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,包括以下模块
扫描模块,用于扫描翻译文件集中所有的翻译文件;提取模块,用于将扫描模块所扫描的不同翻译文件或同一翻译文件不同节点集合中的相同的语言字符串提取出来;插入模块,用于将提取模块所提取的相同的语言字符串插入到该不同翻译文件的最小公共祖先翻译文件或该同一翻译文件的公共节点集合;删除模块,用于将原始翻译文件或节 点集合中且上述提取模块所提取的相同语言字符串删除。本发明的实施方式还公开了ー种支持多国语言的网页加载系统,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,包括以下模块下载模块,用于从服务器中下载当前HTML文件对应的XML文件及该XML文件对应的所有祖先XML文件;合并模块,用于将下载模块所下载的XML文件的语言字符串与其所有祖先XML文件公共的语言字符串合并;翻译渲染模块,用于将合并模块所合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切換。本发明实施方式与现有技术相比,主要区别及其效果在于通过合并不同的翻译文件或同一翻译文件不同节点集合中相同的字符串到最小公共祖先翻译文件或同一翻译文件的公共节点集合,再将原始翻译文件或节点集合中的相同字符串删除,当添加或修改某一国语言时,減少人工投入的时间和成本,可以节省网页服务器的存储容量,提高页面加载和翻译渲染的速度,以及降低翻译文件集的冗余度。通过从服务器中下载并合并当前HTML文件对应的翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串,并将合并的语言字符串翻译渲染,可以节省网页服务器的存储容量,提高页面加载和翻译渲染的速度,以及降低翻译文件文件集的冗余度。进ー步地,根据语言文件中查询到的网页处理时所支持的语言类型,将产品支持的语言种类集合和缺省语言以软编码的方式保存在単独的XML文件,将各国语言的XML文件集保存在各自的文件夹中。毎次需要提供支持不同国语言种类集合或不同缺省语言的产品时,无需修改Web页面和脚本的源代码,只需修改此XML文件,同时移除或添加对应的文件夹即可。进ー步地,为字面值相同的语言字符串设置具有相同name属性的标签,再将该属性名称写入到相同的语言字符串的键名,可以在网页切换时将标签的name属性作为索引,以关联扫描查找可扩展标记语言XM L文件集中的相同语言字符串,同时进一歩降低了可扩展标记语言XML文件集中语言字符串的冗余度。进ー步地,通过采用回调队列技术,当用户选择切換语言时或者网页加载时,只需执行队列中的少量回调函数即可,从而提高了用户选择切换语言时网页或Web页面的响应速度,同时解决了当用户选择切換语言时,无法替换动态语言字符串或者只能在切换语言的同时刷新网页的问题。


图I是本发明第一实施方式中ー种支持多国语言的网页处理方法的流程示意图2是该支持多国语言的网页处理方法语言种类、HTML文件和XML文件之间的关系不意图;图3是该支添加Web页面支持的第一国语言的工作流程示意图;图4是该该添加Web页面支持的第二国及以上语言的工作流程示意图;图5是本发明第三实施方式中ー种支持多国语言的网页加载方法的流程示意图;图6是本发明第五实施方式中ー种支持多国语言的网页处理系统的结构示意图;图7是本发明第六实施方式中ー种支持多国语言的网页处理系统的结构示意图;图8是本发明第七实施方式中ー种支持多国语言的网页加载系统的结构示意图;图9是本发明第八实施方式中ー种支持多国语言的网页加载系统的结构示意图。
具体实施例方式在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进ー步地详细描述。本发明第一实施方式涉及ー种支持多国语言的网页处理方法。图I是该支持多国语言的网页处理方法的流程示意图。该支持多国语言的网页处理方法基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件。具体地说,如图I所示,该支持多国语言的网页处理方法包括以下步骤在步骤101中,扫描翻译文件集中所有的翻译文件。此后进入步骤102,将不同翻译文件或同一翻译文件不同节点集合中的相同的语言字符串提取出来。此后进入步骤103,将提取出来的相同的语言字符串插入到该不同翻译文件的最小公共祖先翻译文件或该同一翻译文件的公共节点集合。此后进入步骤104,将原始翻译文件或节点集合中的相同语言字符串删除。此后结束本流程。通过合并不同的翻译文件或同一翻译文件不同节点集合中相同的字符串到最小公共祖先翻译文件或同一翻译文件的公共节点集合,再将原始翻译文件或节点集合中的相同字符串删除,当添加或修改某一国语言时,減少人工投入的时间和成本,可以节省网页服务器的存储容量,提高页面加载和翻译渲染的速度,以及降低翻译文件集的冗余度。当添加或修改某一国语言时,如本来交给技术支持或翻译公司翻译的字符串有5000条,但其中有2000条可能是重复的字符串。经过本发明的处理方法后,只剩下3000条需要人工翻译了。此外,可以理解,超文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件与可扩充标记语言(extensible Markup Language,简称“XML”)文件之间的关系可以是一対一的关系,也可以是多对ー的关系,HTML文件与XML文件之间“ー对一”的关系为对于某一国语言,ー个HTML文件中的语言字符串保存在对应的一个翻译文件中。HTML文件与翻译文件之间“多对一”的关系为对于某一国语言,多个HTML文件中的语言字符串分别保存在同一个翻译文件不同的节点集合中。本发明中,语言字符串为超文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件中与各国语言有差异、当网页切換语言时需要被替换的字符串,也包括通过网页脚本代码动态插入页面的字符串。本发明第二实施方式涉及ー种支持多国语言的网页处理方法。图2是该支持多国语言的网页处理方法的语言种类、HTML文件和XML文件之间的关系示意图,图3和图4是该支持多国语言的网页处理方法的流 程示意图。第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于通过一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应,可以减少了产品开发过程中添加新语言和维护现有语言时的工作量。根据语言文件中查询到的网页处理时所支持的语言类型,将产品支持的语言种类集合和缺省语言以软编码的方式保存在単独的XML文件,将各国语言的XML文件集保存在各自的文件夹中。毎次需要提供支持不同国语言种类集合或不同缺省语言的产品时,无需修改Web页面和脚本的源代码,只需修改此XML文件,同时移除或添加对应的文件夹即可。为字面值相同的语言字符串设置具有相同name属性的标签,再将该属性名称写入到相同的语言字符串的键名,可以在网页切换时将标签作为索引,以关联扫描查找可扩展标记语言XML文件集中的相同语言字符串,同时进一歩降低了可扩展标记语言XML文件集中语言字符串的冗余度。通过采用回调队列技术,当用户选择切换语言时或者网页加载时,只需执行队列中的少量闭包即可,从而提高了用户选择切换语言时网页或Web页面的响应速度,同时解决了当用户选择切换语言吋,无法替换动态语言字符串或者只能在切换语言的同时刷新网页的问题。具体地说翻译文件为可扩展标记语言XML文件;一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应。本发明中的技术方案是以可扩展标记语言XML文件作为翻译文件的ー个特例进行撰写,在本发明的其他某些实施例中,翻译文件也可以为用了 JSON(用来标记数据对象或数组的ー种数据交換格式)或自定义格式等的翻译文件,作为本发明的ー个优选实施例,如图2所示,语言类型L2对应ー个树状结构的可扩展标记语言XML文件{XMLx,L2 I X e {A, B, CDE, p (A, B),p (A, B, CDE)}}。翻译文件为可扩展标记语言XML文件,在扫描翻译文件集中所有的翻译文件的步骤之前,还包括以下步骤在语言文件中查询网页切换时所支持的语言类型,其中该语言文件用于保存网页支持的语言类型的集合和缺省语言;根据网页所支持的语言类型,选取对应的树状结构的可扩展标记语言XML文件集。翻译文件为可扩展标记语言XML文件,在扫描翻译文件集中所有的翻译文件的步骤之前,还包括以下步骤将对应于XML文件中的相同字符串所在HTML文件的标签设置具有相同name属性;将所述相同name属性写到所述相同的语言字符串的键名中。
此外,可以理解,简而言之,该支持多国语言的网页处理(或称为“合并上提”)操作就是将多个XML文件之间相同的语言字符串删除,同时只保留ー份到它们的公共最小祖先级XML文件的公共节点集合或者公共祖先的操作。或将同个XML文件中不同节点集合之间相同的语言字符串删除,同时只保留ー份到公共节点集合或者公共祖先的操作。由于以超文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件中语言标签的名称name属性作为与可扩充标记语言(extensible Marku p Language,简称“XML”)文件间的索引键、及经过该支持多国语言的网页处理(或称为“合并上提”)操作,相较于现有技术方案I和现有技术方案2中以HTML文件中语言标签的识别号id属性作为与XML文件间的索引键、及未经过合并上提操作的方法,当大容量的网页进行语言切换时或者网页加载时而言,需要进行修订的语言字符串个数将明显減少,语言字符串之间的冗余度几乎为0,即几乎不存在相同重复的语言字符串需要进行修订,其中,需要进行修订的语言字符串的减少量与网页或Web页面个数、Web页面内部和Web页面之间重复的字符串个数有关,以30个HTML文件的网页产品为例,r%通常可达到20-40%。在将原始翻译文件或节点集合中的相同语言字符串删除的步骤之后,还包括以下 步骤预先为所述HTML文件中的动态语言字符串相关的各代码段创建对应的闭包;将闭包压入到预先创建的回调队列中,以在网页语言切换时,按照先进回调队列先执行的原则,执行回调队列中各闭包对应的代码段。在网页脚本代码中创建回调队列CbQueue,如果网页(A)存在动态语言字符串SdA,则将SdA相关的代码段CodeSegA以闭包FuncA的形式压入CbQueue,将CodeSegA的上下文信息添加为FuncA的属性,方便FuncA内部代码调用。当用户切换语言吋,按照队列顺序依次执行CbQueue中的所有回调函数,其中,动态语言字符串为以Web脚本代码方式动态插入到网页中的语言字符串。作为本发明的ー个优选实施方式,如图3所示,该添加Web页面支持的第一国语言的工作流程包括以下步骤在步骤301中,确认Web页面支持的第一国语言L1,编写语言文件XMU文件,以L1作为缺省语言U。此后进入步骤302,为每个HTML文件中的相同的语言字符串标签添加name属性。此后进入步骤303,为每个HTML文件编写对应的XML文件组(因为此时Web页面只支持一国语言,所以每个XML文件组只有ー个XML文件)。此后进入步骤304,合并上提相同的语言字符串。此后进入步骤305,对语言字符串进行修订或者翻译,对于第一国语言此过程只有修订字符串,对于第二国及以上语言此过程主要为翻译字符串。此后进入步骤306,将L1的XML文件集保存在以L1标识的文件夹中,此后结束本流程。作为本发明的另ー个优选实施例,如图4所示,该添加Web页面支持的第二国及以上语言的工作流程包括以下步骤在步骤401中,以Web页面支持的第η国语言Ln扩充语言文件XMK文件,并确认
缺省语言。
此后进入步骤402,在每个XML文件组中添加新语言Ln的XML文件(XMLx,to)。此后进入步骤403,对语言字符串进行修订或者翻译,由于添加Web页面支持的第一国语言时已经过合并上提操作,在添加第二国及以上语言Ln时无需重复进行,只需按照现有的L1的XML文件集对L2的语言字符串进行翻译即可。因此,需翻译的语言字符串个数将减少(相对于现有技术方案I和现有技术方案2)。此后进入步骤404,将Ln的XML文件集保存在以Ln标识的文件夹中,此后结束本流程。同样,在Web页面的维护过程中,如果发现某一国语言(Ln)的字符串S有误需修改吋,只需修改S所在XML中的ー处即可,避免由于S在Web页面中多处出现,导致部分遗漏而未修改的问题。本发明第三实施方式涉及ー种支持多国语言的网页加载方法。图5是该支持多国语言的网页加载方法的流程示意图。该支持多国语言的网页加载方法基于ー个树状结构的 翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件。具体地说,如图5所示,该支持多国语言的网页加载方法包括以下步骤在步骤501中,从服务器中下载当前HTML文件对应的翻译文件及该翻译文件对应的所有祖先翻译文件。此后进入步骤502,将翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串合井。此后进入步骤503,将合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切換。此后结束本流程。通过从服务器中下载并合并当前HTML文件对应的翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串,并将合并的语言字符串翻译渲染,可以节省网页服务器的存储容量,提高页面加载和翻译渲染的速度,以及降低翻译文件文件集的冗余度。此外,可以理解,超文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件与可扩充标记语言(extensible Markup Language,简称“XML”)文件之间的关系可以是一対一的关系,也可以是多对ー的关系,HTML文件与XML文件之间“ー对一”的关系为对于某一国语言,ー个HTML文件中的语言字符串保存在对应的ー个XML文件中。HTML文件与XML文件之间“多对一”的关系为对于某一国语言,多个HTML文件中的语言字符串分别保存在同一个XML文件不同的节点集合中。本发明中,语言字符串为超文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件中与各国语言有差异、当网页切換语言时需要被替换的字符串,也包括通过网页脚本代码动态插入页面的字符串。这里,服务器也可以称为网页服务器,当称为网页服务器时,客户端为浏览网页的浏览器。本发明第四实施方式涉及ー种支持多国语言的网页加载方法。第四实施方式在第三实施方式的基础上进行了改进,主要改进之处在于通过ー个树状结构的可扩展标记语言XML文件集与ー种语言类型对应,可以减少了产品开发过程中添加新语言和维护现有语言时的工作量。在网页语言切换时或网页加载时将具有相同name属性的标签的属性值作为索引键,以关联扫描查找可扩展标记语言XML文件集中的相同的语言字符串,同时进一歩降低了可扩展标记语言XML文件集中语言字符串的冗余度。网页加载采用回调队列技术,只需执行队列中的少量闭包即可,从而提高了用户选择切換语言时网页或Web页面的响应速度,同时解决了当用户选择切換语言时,无法替换动态语言字符串或者只能在切换语言的同时刷新网页的问题。具体地说翻译文件为可扩展标记语言XML文件;一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应。在从服务器中下载当前HTML 文件对应的翻译文件及该翻译文件对应的所有祖先翻译文件的步骤之前,还包括以下步骤加载ー个语言文件,其中该语言文件用于保存网页支持的语言类型的集合和缺省
イ五古
レロロ ο在语言文件中查询加载的网页所支持的语言类型。根据网页所支持的语言类型,选取对应的树状结构的可扩展标记语言XML文件集。翻译文件为可扩展标记语言XML文件,在将翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串合并的步骤中,还包括以下子步骤将XML文件及其所有祖先XML文件组合为ー个文档结构;在合并后的文档结构中,扫描语言字符串的键名;将扫描的键名作为索引,插入或替换HTML文件的语言标签内容。此外,可以理解,由于以超文本标记语言(Hyper Text Makeup Language,简称“HTML”)文件中语言标签的名称name属性作为与可扩充标记语言(extensible MarkupLanguage,简称“XML”)文件间的索引键、及经过该支持多国语言的网页处理(或称为“合并上提”)操作,相较于现有技术方案I和现有技术方案2中以HTML文件中语言标签的id属性作为与XML文件间的索引键、及经过合并上提操作的方法,当大容量的网页进行语言切换时或者网页加载时而言,需要进行修订的语言字符串个数将明显減少,语言字符串之间的冗余度几乎为0,即几乎不存在相同重复的语言字符串需要进行修订,其中,需要进行修订的语言字符串的减少量与网页或Web页面个数、Web页面内部和Web页面之间重复的字符串个数有关,以30个HTML文件的网页产品为例,r%通常可达到20-40%。将合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切換(或渲染)的步骤,还包括以下子步骤按照先进回调队列先执行的原则,执行回调队列中各闭包对应的代码段,其中闭包由HTML文件中的动态语言字符串相关的对应代码段创建而成,回调队列可为空。作为本发明的另ー个优选实施例,本发明的技术方案可由以下过程实现I.建立ー个XML文件(XMU),保存产品支持的语言类型集合(CJ和缺省语言(Ld)。通过Web页面访问产品时,首先判断浏览器的当前语言(LB),如果Lb e 4,则以Lb作为Web页面的缺省语言显示,否则以Ld作为Web页面的缺省语言显示。2.根据Web页面的HTML文件建立对应的XML文件组,组中的每ー个XML文件保存一国语言(L1, L1 e Cl)的字符串,以HTML文件中语言标签的name属性作为与XML文件间的索引键。保存相同语言L1的XML文件组成ー个XML文件集({XMLU}),保存在以L1标识的文件夹中。3.每ー个XML文件(XMLa)至少包含ー个以本文件名(A)命名的节点集合(XMLa<A> )和ー个公共节点集合(XMLA〈com> )。XML文件之间具有层级关系。加载ー个Web页面(A)或切換语言时(语言为L1),首先将该HTML文件(HTMLa)关联的XML文件(XMLA,u)的本节点集合(XMLa,u〈A>)、XMLa,u的公共节点集合(XMLA,u〈Com>)、XMLa, L1的父级XML文件(XMLp(a),u)的公共节点集合(XMLp(a),u〈com>)、XMLa, u的祖父级XML文件(XMLP2(A), u)的公共节点集合(XMLP2(A), u〈Com>)……和XMLa,u的根父级XML文件(XMLp1Vu)的公共节点集合(XMLPn(A),u〈Com>)组合为ー个XML文档结构(XMLDtx^1 ),然后通过索引键,从XMLDtx^1中查找并替换HTMLa中的字符串。如果XMLa与XMLb具有相同祖先(可能XMLa与XMLb同级,也可能XMLa与XMLb的祖先同级或相反,也可能XMLa即是XMLb的祖先或相反),且XMLa与XMLb中具有相同的字符串Sa和SB,则在XMLA与XMLB的公共最小祖先级XML文件(XMLp (AB))的公共节点集合(XMLp(AB)〈Com>)中添加字符串SabCSab = Sa = Sb),并将XMLa中的Sa和XMLb中的Sb删除(此 操作以下简称为“合并上提”)。4. HTML文件与XML文件之间并非必须--对应(以下简称“一対一”的关系),也
可以多个HTML文件关联同一组XML文件(以下简称“多对一”的关系)。例如三个HTML文件(HTMLC、HTMLd 和 HTMLe)关联同一组 XML 文件({XMLCDE,Li I Li e Cj ),HTMLc, HTMLd 和HTMLe的语言字符串分别保存在XMLqie的节点集合XMLmE〈C>、节点集合XMLmE〈D>和节点集合XMLmE〈E>中,同时在XMLqie中建立公共节点集合XMLmE〈COm>。如果XMLmE〈C>和XMLmE〈D>中具有相同的字符串S。和SD,则在XMLmE〈com>中添加字符串Sm (Scd=Sc=Sd),并将XMLmE〈C>中的S。和XMLmE〈D>中的Sd删除(此操作以下简称为“合并上提”);如果XMLqie与另ー个XML文件(XMLf)具有相同祖先,且XMLqie与XMLf中具有相同的字符串Sqie和SF,则将Sqie和Sf合并上提至XMLqie与XMLf的公共最小祖先级XML文件(XMLP(CDE,F))的公共节点集合 XMLp(CDE,F)〈COm> 中。5.在Web脚本代码中创建回调队列CbQueue,如果Web页面(A)存在动态语言字符串SdA,则将SdA相关的代码段CodeSegA以闭包FuncA的形式压入CbQueue,将CodeSegA的上下文信息添加为FuncA的属性,予FuncA内部代码调用。当用户切换语言时,按照队列顺序依次执行CbQueue中的所有闭包。如上图2所示,语言类型集合包含三种语言类型(Cf (L17L27L3I ),其中L1为缺省语言;共有5个Web页面(5个HTML文件,HTMLa HTMLe),如图I中以斜条纹背景标出的3个XML文件({XMLa,u I Li e Cj )构成技术方案2所述的ー个XML文件组,其中HTMLA、HTMLb与各自对应的XML文件组({XMLa,u}、{XMLb;lJ )之间是“一対一”的关系,HTMLc、HTMLd、HTMLe与共同的XML文件组({XMLmE,u I Li e Cj )之间是“多对一”的关系;如图I中实线框包围的 5 个 XML 文件({XMLx’L2 I Xe {A, B, CDE, p (A, B),p (A, B, CDE)}})构成技术方案 2 所述的ー个XML文件集,其中文件集{XMLx,u}、{XMLx;L2}、{XMLx;L3}分别保存在以L1. L2, L3标识的文件夹中。以语言L1为例,文件集{XMLx,u}共包括3个层级。其中,XMLp(A;B);L1为XMLjPXMLb 的父级 XML, XMLp(a;b;cde);l1 为 XMLP(A,B),U 和 XMLqie 的父级 XML。对于“一対一”关系的叶子 XML (XMLA,^jPXM Lb;l1)的公共节点集合(XMLA,u〈Com> 和 XMLB,u〈Com>)为空集0。对于非叶子XML (XMLp(a,b),u和XMLp(a,b,_,u)的非公共节点集合《11^,_〈?(4,B) >和XMLp(A,B,mE),u〈p(A,B, CDE) >)可能为0,也可能非0。以XMLP(A,B),U为例,当存在主框架(HTMLab),而HTMLa和HTMLb作为HTMLab的包含另外ー个文档的内联框架iframe或通过在浏览器与Web服务器之间使用异步数据传输(Asynch ronous JavaScript and XML,简称“ Ajax”)动态插入 HTMLab 吋,XMLp(a;b);l1 与 HTMLab 对应,即 XMLp(A,B),u〈p (A,B) > 中保存XMLp(a;b);l1 中的语言字符串,此 Ν·ΧΜ _ρ(Λ,!^ι<Ρ(Α,Β)>#0。当 HTMLa 和 HTMLb 作为独立文档时,XMLp(a,b),l1<P(A,B)>=0,XMLp(a,b),u只作为用f保存从XMLa和XMLb合并上提的字符串的ー个虚拟层级XML文件。除非作为根父级的虚拟层级XML文件,否则不建议保留。以语言L1为例,XML之间的合并上提关系(以符号“}夂>”表示)如
xmlat1<a>-’XMLt^amT,<com>
XMLbxi <B> JP(A'B)X1
XMLaxi <A> IXMLp(A3)X1<p(A,B)>| ^ XMLp(A3XL1<com> xmlal1<a> I’ _ > =^> XML .. R r 11 くcom〉
XMLcdexi <C>JP(AiBiCDL)iLlXMLp(A_<P(A,B), I ^ XML ABCDE)L1<com>
XMLc即 <C> JP(AACDE)JJ
XMLaxi <A>I
XMLp(i,aCDEXL1<p(A,B,CDE)>J ^ XML脚’卿 <com>p(ん),^XML w くcom〉
XMLpcwdexli <p(A,B,CDE)>j幽し導1
XMLcdejj <C> I
XMLp(AACDE)!L1<P(A,B,CDE)>| ^ XMLP(A,BiCDEXLl <com>等。XML之间的合并上提不仅可在两个XML间进行,也可在多个XML间进行,如(以3个XML间为例)
XMLaxi <A>
XMLb li <B> > XMLp(AiB)X1 <com>
XMLp(入B),L1 <p(A,B)>
权利要求
1.ー种支持多国语言的网页处理方法,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,其特征在于,包括以下步骤 扫描所述翻译文件集中所有的翻译文件; 将不同翻译文件或同一翻译文件不同节点集合中的相同的语言字符串提取出来,并插入到该不同翻译文件的最小公共祖先翻译文件或该同一翻译文件的公共节点集合; 将原始翻译文件或节点集合中的相同语言字符串删除。
2.根据权利要求I所述的支持多国语言的网页处理方法,其特征在干, 所述翻译文件为可扩展标记语言XML文件; 一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应。
3.根据权利要求I所述的支持多国语言的网页处理方法,其特征在干, 所述翻译文件为可扩展标记语言XML文件; 在所述扫描所述翻译文件集中所有的翻译文件的步骤之前,还包括以下步骤 在语言文件中查询网页切换时所支持的语言类型,其中该语言文件用于保存网页支持的语言类型的集合和缺省语言; 根据网页所支持的语言类型,选取对应的树状结构的可扩展标记语言XML文件集。
4.根据权利要求I所述的支持多国语言的网页处理方法,其特征在干, 所述翻译文件为可扩展标记语言XML文件; 在所述扫描所述翻译文件集中所有的翻译文件的步骤之前,还包括以下步骤 将对应于XM L文件中的相同字符串所在HTML文件的标签设置具有相同name属性; 将所述相同name属性写到所述相同的语言字符串的键名中。
5.根据权利要求I所述的支持多国语言的网页处理方法,其特征在于,在所述将原始翻译文件或节点集合中的相同语言字符串删除的步骤之后,还包括以下步骤 预先为所述HTML文件中的动态语言字符串相关的各代码段创建对应的闭包; 将所述闭包压入到预先创建的回调队列中,以在网页语言切换时,按照先进回调队列先执行的原则,执行回调队列中各闭包对应的代码段。
6.ー种支持多国语言的网页加载方法,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,其特征在于,包括以下步骤 从服务器中下载当前HTML文件对应的翻译文件及该翻译文件对应的所有祖先翻译文件; 将所述翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串合井; 将合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切换。
7.根据权利要求6所述的支持多国语言的网页加载方法,其特征在干, 所述翻译文件为可扩展标记语言XML文件; 一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应。
8.根据权利要求6所述的支持多国语言的网页加载方法,其特征在于,在所述从服务器中下载当前HTML文件对应的翻译文件及该翻译文件对应的所有祖先翻译文件的步骤之前,还包括以下步骤 加载ー个语言文件,其中该语言文件用于保存网页支持的语言类型的集合和缺省语言; 在所述语言文件中查询加载的网页所支持的语言类型; 根据网页所支持的语言类型,选取对应的树状结构的可扩展标记语言XML文件集。
9.根据权利要求6所述的支持多国语言的网页加载方法,其特征在干, 所述翻译文件为可扩展标记语言XML文件; 在所述翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串合并的步骤中,还包括以下子步骤 将XML文件及其所有祖先XML文件组合为ー个文档结构; 在合并后的文档结构中,扫描语言字符串的键名; 将扫描的键名作为索引,插入或替换HTML文件的语言标签内容。
10.根据权利要求6所述的支持多国语言的网页加载方法,其特征在于,所述翻译文件为可扩展标记语言XML文件; 所述将合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切換的步骤,还包括以下子步骤 按照先进回调队列先执行的原则,执行回调队列中各闭包对应的代码段,其中闭包由所述HTML文件中的动态语言字符串相关的对应代码段创建而成,回调队列可为空。
11.ー种支持多国语言的网页处理系统,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,其特征在于,包括以下模块 扫描模块,用于扫描所述翻译文件集中所有的翻译文件; 提取模块,用于将所述扫描模块所扫描的不同翻译文件或同一翻译文件不同节点集合中的相同的语言字符串提取出来; 插入模块,用于将所述提取模块所提取的相同的语言字符串插入到该不同翻译文件的最小公共祖先翻译文件或该同一翻译文件的公共节点集合; 删除模块,用于将原始翻译文件或节点集合中的所述提取模块所提取的相同语言字符串删除。
12.根据权利要求11所述的支持多国语言的网页处理系统,其特征在于,所述翻译文件为可扩展标记语言XML文件; 一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应。
13.根据权利要求11所述的支持多国语言的网页处理系统,其特征在于,所述翻译文件为可扩展标记语言XML文件; 所述系统还包括以下模块 查询模块,用于在语言文件中查询网页切换时所支持的语言类型,其中该语言文件用于保存网页支持的语言类型的集合和缺省语言; 选择模块,用于根据所述查询模块所查询到的网页所支持的语言类型,选取对应的树状结构的可扩展标记语言XML文件集。
14.根据权利要求11所述的支持多国语言的网页处理系统,其特征在于,所述翻译文件为可扩展标记语言XML文件; 所述系统还包括以下模块 设置模块,用于为对应于XML文件中的相同字符串所在HTML文件的标签设置具有相同name属性; 写入模块,用于将所述设置模块所设置的相同name属性写到所述相同的语言字符串的键名中。
15.根据权利要求11所述的支持多国语言的网页处理系统,其特征在于,还包括以下模块 队列模块,用于预先为所述HTML文件中的动态语言字符串相关的各代码段创建对应的闭包,并将闭包压入到预先创建的回调队列中; 回调模块,用于在网页语言切换时,按照先进回调队列先执行的原则,执行回调队列中各闭包对应的代码段。
16.ー种支持多国语言的网页加载系统,基于ー个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,其特征在于,包括以下模块 下载模块,用于从服务器中下载当前HTML文件对应的翻译文件及该翻译文件对应的所有祖先翻译文件; 合并模块,用于将所述下载模块所下载的翻译文件的语言字符串与其所有祖先翻译文件公共的语言字符串合并; 翻译渲染模块,用于将所述合并模块所合并的语言字符串插入或替换HTML文件的语言标签内容,进行多语言的显示或切換。
17.根据权利要求16所述的支持多国语言的网页加载系统,其特征在于,所述翻译文件为可扩展标记语言XML文件; 一个树状结构的可扩展标记语言XML文件集与ー种语言类型对应。
18.根据权利要求16所述的支持多国语言的网页加载系统,其特征在于,还包括以下模块 加载模块,用于加载一个语言文件,其中该语言文件用于保存网页支持的语言类型的集合和缺省语言; 语言查询模块,用于在所述加载模块所加载的语言文件中查询加载的网页所支持的语言类型; 选取模块,用于根据所述语言查询模块所选取的网页所支持的语言类型,选取对应的树状结构的可扩展标记语言XML文件集。
动态翻译渲染模块,用于按照先进回调队列先执行的原则,执行回调队列中各索引函数对应的代码段,其中索引函数由所述HTML文件中的动态语言字符串相关的对应代码段创建而成,回调队列可为空。
全文摘要
本发明涉及计算机网络应用领域,公开了一种支持多国语言的网页处理方法、网页加载方法及其系统。当添加或修改某一国语言时,减少人工投入的时间和成本。节省网页服务器的存储容量,提高页面加载和翻译渲染的速度,以及降低翻译文件集的冗余度。本发明中,基于一个树状结构的翻译文件集,其中,每个超文本标记语言HTML文件有对应的翻译文件,包括以下步骤扫描翻译文件集中所有的翻译文件;将不同翻译文件或同一翻译文件不同节点集合中的相同的语言字符串提取出来,并插入到该不同翻译文件的最小公共祖先翻译文件或该同一翻译文件的公共节点集合;将原始翻译文件或节点集合中的相同语言字符串删除。
文档编号G06F17/28GK102693322SQ20121018282
公开日2012年9月26日 申请日期2012年6月1日 优先权日2012年6月1日
发明者万鹏, 向晓, 吴飏, 张小媛, 石炎明 申请人:杭州海康威视数字技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1