对网站页面进行国际化的方法和装置制造方法及图纸

技术编号:11611903 阅读:71 留言:0更新日期:2015-06-17 12:17
本发明专利技术公开了一种对网站页面进行国际化的方法,该方法包括:判断所述页面中脚本的国际化资源是否已经被加载;如果没有加载,则获取语言信息和网站域名;以及根据所获取的语言信息和所获取的网站域名来初始化相应的脚本国际化组件,从而加载国际化资源。本发明专利技术还公开了一种对网站页面进行国际化的装置。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是涉及一种对网站页面进行国际化的方法和装置
技术介绍
目前业界对于网站国际化的操作都是在服务端进行。该国际化技术的原理如下:浏览器和服务端程序进行交互,它们之间交互的协议是HTTP协议,每次浏览器向服务端发送请求,浏览器都会组装一个HTTP报文。该HTTP报文包含报文头和报文体,报文头里会带有用户电脑环境的国家、语言等相关信息。服务端会根据该信息将需要国际化处理的文字进行语言翻译,并将翻译好的文字嵌入到网页里,最后发送给浏览器进行展示。另外,对于有语言国际化要求的网站,一般都会在页面上让用户选择浏览网页所使用的语言类别,并且会保留用户对语言的设置,这种方法实现原理是用户在浏览器选择好浏览语言的类别后,会向服务端发送一个改变页面显示语言的HTTP请求,服务端程序获得请求后会修改需要国际化操作文字的语言翻译,并将新的翻译文字嵌入到页面里,为了保证这种语言类别变更的有效性,一般浏览器的Cookie文件里会保留语言类别的设置,因为Cookie是一个被持久化存储的文件,因此用户下次访问网站时候,网站会首先从Cookie提取国际化语言的设置并发送给服务端程序,从而保证网站国际化语言设置的有效性。服务端国际化实现基本上可以满足大部分网站国际化的需求。但是现在出于对网站加载效率的考虑,网站前端页面的开发技术发生了很大的变化,高性能的网页往往页面本身所带的脚本代码(例如Javascript代码)会越来越少,因为脚本代码往往会被写成单独的脚本文件与页面进行分离,页面则是加载外部的脚本文件来实现脚本语言所带来的功能,这样做的好处会使网页页面的大小变小,提升网页HTTP请求处理效率,而且外部的脚本文件利于缓存操作,也能保证不同页面之间资源的共享减少网站开发里的重复性劳动,这些做法对网站性能的提升起到了非常大的作用。但是服务端的国际化功能只能解决页面内部的国际化问题,却没办法解决外部脚本文件国际化的问题。对于外部脚本文件国际化的操作,目前的做法主要有两种: 第一种方式还是通过服务端国际化的方式实现,具体方式是在页面里把需要国际化的文字用脚本变量存储下来,在调用外部脚本文件里提供的方法时候,将这些存储国际化信息的变量传入到这些方法里。这是一种笨拙、吃力的解决方案,使用该方案开发人员不得不在每个页面里定义大量国际化的变量,这样会增加页面里脚本代码的书写量,这就违背了把脚本代码独立成单独文件减少页面本身大小的原则,同时该方案会改变脚本外部文件提供的方法的参数设计,增加了方法设计的复杂度和可维护性,此外该方式将服务端编程语言和客户端编程语言做了一个紧耦合的操作,不利于整个网站的可维护性和稳定性,增加系统出错的风险。第二种方式是在外部脚本文件内部实现脚本语言的国际化,这种方案会将国际化功能模块和脚本业务功能模块紧耦合,从而导致整个外部脚本文件代码的质量的降低,一般而言,国际化的资源要先于业务功能模块的加载,但是该方案将国际化功能和业务代码功能耦合,对于国际化资源加载时机的控制增加了难度,从而会导致某些情况下国际化资源不能被正常的加载。
技术实现思路
为解决上述问题,本专利技术提出一种针对页面里脚本语言国际化的解决方案,该方案能自动判断用户使用哪种语言浏览网页,然后对页面里需要国际化的文字进行翻译。该方案还支持用户自己选择语言种类,让用户自主地选择想看到自己选择语言的页面并且这种个性化选择会被保存下来,在用户下次访问时候,页面仍然可以保持用户上次对语言的选择,同时脚本的语言国际化会和服务端编程语言的国际化保持同步。根据本专利技术的一个方面,提供了一种对网站页面进行国际化的方法。该方法可包括:步骤A,判断所述页面中脚本的国际化资源是否已经被加载;步骤B,如果没有加载,则获取语言信息和网站域名;以及步骤C,根据所获取的语言信息和所获取的网站域名来初始化相应的脚本国际化组件,从而加载国际化资源。上述方法还可包括:步骤D,至少根据所获取的网站域名来加载业务组件。上述方法还可包括:步骤E,如果判断出所述国际化资源已经被加载,则直接加载业务组件而不加载国际化资源。在上述方法中,步骤A可包括:通过标志位的设置来判断用于存储国际化资源的对象是否存在并且被加载,其中每次加载所述国际化资源之后在所述标志位中进行记录。在上述方法中,步骤B可包括:读取网站Cookie中所记录的网站语言类别信息;以及获取网站域名。在上述方法中,步骤B还可包括:在Cookie中没有包含所述网站语言类别信息时,读取浏览器默认的语言信息。上述方法还可包括:步骤F,在初始化相应的脚本国际化组件之后,将所读取的浏览器默认的语言信息记录到网站对应的Cookie中。在上述方法中,步骤D可在步骤C之后执行。在上述方法中,步骤D可包括:在加载所述业务组件之前,判断所述业务组件是否已经被加载。在上述方法中,所述脚本为Javascript文件。根据本专利技术的另一个方面,提供了一种对网站页面进行国际化的装置,所述装置包括:判断部件,用于判断所述页面中脚本的国际化资源是否已经被加载;获取部件,用于在判断出没有加载的情况下获取语言信息和网站域名;以及第一加载部件,用于根据所获取的语言信息和所获取的网站域名来初始化相应的脚本国际化组件,从而加载国际化资源。上述装置还可包括:第二加载部件,用于至少根据所获取的网站域名来加载业务组件。上述装置还可包括:第三加载部件,用于在判断出所述国际化资源已经被加载时,直接加载业务组件而不加载国际化资源。在上述装置中,所述判断部件配置成通过标志位的设置来判断用于存储国际化资源的对象是否存在并且被加载,其中每次加载所述国际化资源之后在所述标志位中进行记录。在上述装置中,所述获取部件配置成读取网站Cookie中所记录的网站语言类别信息;以及获取网站域名。在上述装置中,所述获取部件还配置成在Cookie中没有包含所述网站语言类别信息的情况下读取浏览器默认的语言信息。上述装置还可包括:记录部件,用于在初始化相应的脚本国际化组件之后,将所读取的浏览器默认的语言信息记录到网站对应的Cookie中。在上述装置中,所述第二加载部件在所述第一加载部件之后执行。在上述装置中,所述第二加载部件配置成在加载所述业务组件之前,判断所述业务组件是否已经被加载。在上述装置中,所述脚本为Javascript文件。【附图说明】在参照附图阅读了本专利技术的【具体实施方式】以后,本领域技术人员将会更清楚地了解本专利技术的各个方面。本领域技术人员应当理解的是:这些附图仅仅用于配合【具体实施方式】说明本专利技术的技术方案,而并非意在对本专利技术的保护范围构成限制。图1是根据本专利技术的一个实施例、对网站页面进行国际化的方法示意图; 图2是根据本专利技术的一个实施例、对网站页面进行国际化的装置示意图; 图3是根据本专利技术的一个实施例、Javascript国际化安装模型的调用关系示意图; 图4是根据本专利技术的一个实施例、Javascript国际化安装模型的执行流程图。【具体实施方式】下面介绍的是本专利技术的多个可能实施例中的一些,旨在提供对本专利技术的基本了解,并不旨在确认本专利技术的关键或决定性的要素或限定所要保护的范围。容易理解,根据本专利技术的技术方案,在不变更本专利技术的实质精神下,本领域的一般技术人员可以提本文档来自技高网
...

【技术保护点】
一种对网站页面进行国际化的方法,所述方法包括:A: 判断所述页面中脚本的国际化资源是否已经被加载;B: 如果没有加载,则获取语言信息和网站域名;以及C: 根据所获取的语言信息和所获取的网站域名来初始化相应的脚本国际化组件,从而加载国际化资源。

【技术特征摘要】

【专利技术属性】
技术研发人员:夏俊孙战平夏智佟志臣张兴尧
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1