本发明涉及计算机软件领域,尤其适用于网页语言国际化的方法和装置。
背景技术:
越来越多的企业网站需要提供不同语言的网页,以满足不同国家和地区访问用户的阅读需求,现有基于angular+seajs框架的前端网站国际化(多国语言)解决方案主要通过引入插件的方式完成,这需要额外的网站搭建成本。
技术实现要素:
为了解决上述技术问题,本发明的目的是提供一种网页语言国际化的方法及装置。
本发明所采用的技术方案是:
一种网页语言国际化的方法包括下述步骤:
将网页中的文字翻译成各国语言以一种数据结构存储在服务端的文件中,并将其中一种文字语言设置为默认语言;
网页加载时,先从浏览器中获取语言种类信息,再向服务器查询该语言信息是否存在。
若获取到的语言种类在服务器的文件中存在,则加载文件中对应的语言的数据;
若获取到的语言种类不存在,则加载默认语言数据;
通过过滤器适配网页相应内容的文本信息。
其中,各国语言信息以json格式在js文件中储存。
其中,访问请求信息中的访问对象语言信息可以从包括浏览器的cookie信息或navigator对象中读取。
本发明还包括一种网页语言国际化的装置,包括:
网页内容存储单元,用于储存网页上的各种语言版本的文字信息;
网页语言适配单元,用于解析浏览器访问请求中的语言种类信息并将相应语种的对应内容发送给浏览器。
网页语言国际化的装置中,各种语言版本的文字信息以json格式在js文件中储存。
网页语言国际化的装置中,访问请求信息中的访问对象语言信息可以从包括浏览器的cookie信息或navigator对象中读取。
本发明的有益效果是:本发明通过预先将网页所有语言版本信息存储在服务端文件中,通过解析访问请求中信息中的访问对象语言信息,加载相应的语言数据,实现网页语言国际化,克服了传统开发方式中需要引入额外插件来实现网页语言国际化,该方法不依赖具体插件,简单易行,搭建成本低。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是一种网页语言国际化的方法的一个具体实施例的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,
本技术:
中的实施例及实施例中的特征可以相互组合。
web系统通常分为前端系统和服务端系统,前端泛指使用服务的一方,后端泛指提供服务的一方。前端网站国际化一般指使用不同语言(如中文、英文等)的用户在访问网站时,浏览器自动呈现该用户语言版本(如中文、英文等)的网页。
将各个语言版本的网站文字信息以json格式储存在服务端js文件中,每一个元素的文字内容(如导航栏标题、内容等)设置一个键值用于索引,并将一种语言设置成默认语言。
当服务器收到浏览器发送的访问请求时通过解析浏览器的cookie获取用户的阅读语言信息,若没有cookie信息则从navigator对象中读取。
判断是否存在当前语言种类的文本,若存在则加载当前语言种类的文本到一个变量中缓存,若不存在,则加载默认语言种类的文本,加载方法可采用seajs中的require.async方法。
通过过滤器查找匹配需要显示的文本信息,将需要显示的元素名称与缓存变量的键值配对,筛选出网页元素中需要显示的文本单元,返回给浏览器。通过过滤器将用户当前访问的网页中所需要的文本信息加载到浏览器端。
最后启动angluar框架,完成网页整体显示。
通过本发明使得网页语言国际化更加简单,无需引用额外插件,简单易行,开发成本低。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。