CN106202066B - 网站的翻译方法和装置 - Google Patents

网站的翻译方法和装置 Download PDF

Info

Publication number
CN106202066B
CN106202066B CN201610522264.2A CN201610522264A CN106202066B CN 106202066 B CN106202066 B CN 106202066B CN 201610522264 A CN201610522264 A CN 201610522264A CN 106202066 B CN106202066 B CN 106202066B
Authority
CN
China
Prior art keywords
character string
node
source code
language
translated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610522264.2A
Other languages
English (en)
Other versions
CN106202066A (zh
Inventor
周军
陈子舜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610522264.2A priority Critical patent/CN106202066B/zh
Publication of CN106202066A publication Critical patent/CN106202066A/zh
Application granted granted Critical
Publication of CN106202066B publication Critical patent/CN106202066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种网站的翻译方法和装置。所述方法包括:获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据;查找所述脚本源码中包含指定语言字符串的源码节点,将所述源码节点中的指定语言字符串进行翻译;查找所述超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将所述超文本结构节点中的指定语言字符串进行翻译;查找所述返回数据中包含指定语言字符串的返回数据,将所述返回数据中的指定语言字符串进行翻译。上述网站的翻译方法和装置,快速翻译成其他语言的网站,降低了成本。

Description

网站的翻译方法和装置
技术领域
本发明涉及数据处理领域,特别是涉及一种网站的翻译方法和装置。
背景技术
随着计算机技术和网络技术的迅速发展,全球越来越多的用户使用网络从事社交活动。为此,提供服务的网站需要有不同国家语言版本以满足不同国家的用户需求。传统的网站提供者会针对每种语言开发对应的一套版本,需要投入大量的人力来整理和翻译增量的文本、开发或复制多套代码及校验多版本功能的一致性等,造成极大的成本消耗。
发明内容
基于此,有必要针对传统的网站针对每种语言开发一套版本,需要开发人员对每套版本进行单独维护,极大消耗成本的问题,提供一种网站的翻译方法和装置,不需要开发人员维护多套版本,降低了成本。
一种网站的翻译方法,包括:
获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据;
查找所述脚本源码中包含指定语言字符串的源码节点,将所述源码节点中的指定语言字符串进行翻译;
查找所述超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将所述超文本结构节点中的指定语言字符串进行翻译;
查找所述返回数据中包含指定语言字符串的返回数据,将所述返回数据中的指定语言字符串进行翻译。
一种网站的翻译装置,包括:
数据获取模块,用于获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据;
第一翻译模块,用于查找所述脚本源码中包含指定语言字符串的源码节点,将所述源码节点中的指定语言字符串进行翻译;
第二翻译模块,用于查找所述超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将所述超文本结构节点中的指定语言字符串进行翻译;
第三翻译模块,用于查找所述返回数据中包含指定语言字符串的返回数据,将所述返回数据中的指定语言字符串进行翻译。
上述网站的翻译方法和装置,通过获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据,查找其中的指定语言字符串进行翻译,开发人员只需维护一个语言版本的网站即可,转化成其他语言时,将网站的脚本源码、超文本标记语言结构数据和返回数据中的指定语言字符串进行翻译,即可快速翻译成其他语言的网站,降低了成本。
附图说明
图1A为一个实施例中终端的内部结构示意图;
图1B为一个实施例中服务器的内部结构示意图;
图2为一个实施例中网站的翻译方法的流程图;
图3为一个实施例中查找该脚本源码中包含指定语言字符串的源码节点,将该源码节点中的指定语言字符串进行翻译的步骤的流程图;
图4为一个实施例中网站的翻译装置的结构框图;
图5为一个实施例中第一翻译模块的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1A为一个实施例中终端的内部结构示意图。如图1A所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还包括一种网站的翻译装置,该网站的翻译装置用于实现一种网站的翻译方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的网站的翻译装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种网站的翻译方法。网络接口用于与服务器进行网络通信。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图1B为一个实施例中服务器(或云端等)的内部结构示意图。如图1B所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和网站的翻译装置,数据库中存储有各种语言之间的对应关系的翻译词典,该网站的翻译装置用于实现适用于服务器的一种网站的翻译方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的网站的翻译装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种网站的翻译方法。该服务器的网络接口用于据以与外部的终端通过网络连接通信等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图1B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图2为一个实施例中网站的翻译方法的流程图。如图2所示,一种网站的翻译方法,运行于终端或服务器上,包括:
步骤202,获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据。
本实施例中,网站是在因特网上根据一定的规则,使用HTML(Hyper TextMarkupLanguage,超文本标记语言)等工具制作的用于展示特定内容的网页集合。网站数据包括脚本源码、超文本标记语言结构数据和数据获取层接收的后端(后端是指网站后台)返回数据等。
通常网站有需要翻译的内容散落在JavaScript(脚本源码)、HTML结构数据和后端Ajax(数据获取层)返回数据中。
HTML结构数据可包含图片、链接、文本、音乐、程序等元素。超文本标记语言结构包括头部分和主体部分,头部分用于提供关于网页的信息,主体部分用于提供网页的具体内容。
步骤204,查找该脚本源码中包含指定语言字符串的源码节点,将该源码节点中的指定语言字符串进行翻译。
具体地,源码节点是指脚本源码中的节点。脚本源码中节点可包括第一节点类型的源码节点和第二节点类型的源码节点。第一节点类型可为BinaryExpression,表示包含“+”、“-”、“*”和“/”等连接运算的节点。第二节点类型可为Literal,表示单文本节点。
通过递归遍历查找脚本源码中的节点,查找到包含指定语言字符串的源码节点,再对该指定语言字符串按照词典中记载的指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言。其中,指定语言为根据需要设定的人类语言。例如,脚本源码由中国人开发设计,其中可能包含中文,该中文可作为指定语言。脚本源码由美国人开发设计,其中可能包含英文,该英文可作为指定语言。目标语言是指需要转化得到的人类语言。例如,网站显示的是中文版,需要显示英文版,则需要将中文转化为英文,则网站中的中文为指定语言,英文为目标语言,则将网站中的指定语言字符串进行翻译,得到目标语言字符串。
递归遍历是指从根目录逐级获取节点。
根据不同的翻译需求,采用不同的词典进行翻译。词典可记录各种语言之间的对应关系。
步骤206,查找该超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将该超文本结构节点中的指定语言字符串进行翻译。
本实施例中,超文本结构节点是指超文本语言结构数据中的节点。超文本语言结构数据中可包括元素节点、文本节点、属性节点、注释节点等。元素节点是指包含完整信息的节点。文本节点包含在元素节点内。属性节点是记录元素属性信息的节点。元素有一些属性,属性的作用是对元素进行详细描述,如元素名称、元素标识等。注释节点是指注释。
查找超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将该超文本结构节点中的指定语言字符串按照词典中的记载的指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言。
步骤208,查找该返回数据中包含指定语言字符串的返回数据,将该返回数据中的指定语言字符串进行翻译。
本实施例中,数据获取层中接收返回数据,在返回数据中可能包含指定语言字符串,通过递归遍历可查找到返回数据中的指定语言字符串,将指定语言字符串按照词典中的记载的指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言。
上述网站的翻译方法,通过获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据,查找其中的指定语言字符串进行翻译,开发人员只需维护一个语言版本的网站即可,转化成其他语言时,将网站的脚本源码、超文本标记语言结构数据和返回数据中的指定语言字符串进行翻译,即可快速翻译成其他语言的网站,降低了成本。
在一个实施例中,如图3所示,该查找该脚本源码中包含指定语言字符串的源码节点,将该源码节点中的指定语言字符串进行翻译的步骤包括:
步骤302,解析该脚本源码,生成抽象语法树。
具体地,抽象语法树是脚本源码抽象语法的树状表现形式。
步骤304,递归遍历该抽象语法树,得到第一节点类型的源码节点和第二节点类型的源码节点。
具体地,源码节点是指脚本源码中的节点。脚本源码中节点可包括第一节点类型的源码节点和第二节点类型的源码节点。第一节点类型可为BinaryExpression,表示包含“+”、“-”、“*”和“/”等连接运算的节点。第二节点类型可为Literal,表示单文本节点。
步骤306,递归遍历该第一节点类型的源码节点,从该第一节点类型的源码节点中查找到属于第二节点类型且节点属性中包含指定语言字符串的源码子节点时,将该源码子节点中的变量替换为占位符,将该源码子节点中的指定语言字符串与占位符形成完整字符串,为该完整字符串分配索引标识,将该源码子节点替换为函数类型节点,将该函数类型节点中的完整字符串进行翻译,在翻译之后,将该翻译后的完整字符串中的占位符替换为变量,得到翻译结果。
本实施例中,对第一节点类型BinaryExpression的源码节点进行递归遍历,若查找到类型为第二节点类型Literal且Value(节点属性)中包含指定语言字符串的源码子节点,则将源码子节点中的变量替换为占位符,将源码子节点中的指定语音字符与占位符形成完整字符串,为该完整字符串分配索引标识,在脚本源码头部为该源码子节点建立索引标识与完整字符串的映射关系。
将该源码子节点替换为函数类型节点,如callexpression类型,通过函数类型节点可以包含值为数组的arguments节点属性,用于传递函数变量。Arguments数组中的值可包括索引标识、占位符等。
第一节点类型的源码节点中包含拼接字符串,即包括指定语言字符串和变量等。
例如,指定语言字符串为:var tips=‘你输入的字符超出’+length+’个’。将指定语音字符串中的变量“+length+”替换为占位符“()”,将占位符与指定语言字符串形成完整字符串。为该完整字符串分配索引标识10001。
索引标识:10001:你输入的字符超出()个
源码:var tips=_f8e02fb18b140036(10001,[length],‘()’);
对完整字符串进行翻译得到目标语言(这里是英文)字符串The charactersyouentered are more than()。
则索引标识:10001:The characters you entered are more than()
源码:var tips=_f8e02fb18b140036(10001,[length],‘()’);
再将翻译后的完整字符串中占位符替换为对应的变量,即The charactersyouentered are more than‘+length+’。再将替换为变量后的翻译结果进行修正处理,得到修正后的翻译结果,如The characters you entered are more than length。
步骤308,获取该第二节点类型的源码节点中包含的指定语言字符串,将该指定语言字符串直接进行翻译。
本实施例中,第二节点类型Literal的源码节点中指定语言字符串,按照词典中的指定语言和目标语言之间的对应关系进行翻译,得到目标语言字符串。
上述对脚本源码进行解析得到抽象语法树,通过递归遍历抽象语法树得到第一节点类型的源码节点和第二节点类型的源码节点,针对包含指定语言字符串和变量的字符串的源码节点,通过对变量采用占位符替换,对该源码节点采用函数类型节点进行替换,在翻译后,实现函数返回,确保翻译后的语句通顺、正确。
在一个实施例中,查找该超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将该超文本结构节点中的指定语言字符串进行翻译,包括查找该超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将该超文本结构节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言字符串。
具体地,预先建立了各种词典,词典中记录有各种语言相互之间的对应关系。
在一个实施例中,该查找该返回数据中包含指定语言字符串的返回数据,将该返回数据中的指定语言字符串进行翻译,包括:查找该返回数据中包含指定语言字符串的返回数据,将该返回数据中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言字符串。
在一个实施例中,该查找该返回数据中包含指定语言字符串的返回数据,将该返回数据中的指定语言字符串进行翻译,包括:通过该数据获取层和数据处理层中插入的中间件,对该返回数据进行递归遍历,对该返回数据中的指定语言字符串进行翻译。
本实施例中,中间件是指设置在数据获取层Ajax和数据处理层之间的过滤层。通过中间件对返回数据进行递归遍历,查找到返回数据中的指定语言字符串,按照词典中指定语言与目标语言之间的对应关系进行翻译得到目标语言字符串。
此外,可根据指定语言代码自动生成或手动整理得到数据的对照表,对照表中记录有指定语音字符串到指定语言字符串的映射。在翻译过程中,将对照表中映射关系替换为指定语言字符串到目标语言字符串的映射。
在一个实施例中,上述网站的翻译方法还包括:获取待翻译的增量文件及待翻译的增量文件对应的翻译文件,将增量文件与对应的翻译文件更新到词典。
本实施例中,查找到网站的脚本源码、超文件标记语言结构数据和返回数据中的指定语言字符串,判断指定语言字符串在词典中是否存在对应的目标语言字符串,若不存在,则指定语言字符串为增量字符串,将增量字符串聚集在一起形成待翻译的增量文件,将待翻译的增量文件进行翻译得到对应的翻译文件,将增量文件和翻译文件更新到词典中。
翻译人员可在翻译项目下配置好输入、输出及词典路径,启动执行程序,程序会根据词典分析源码进行文本或变量转换,输出翻译后的网站版本。其中,输入为待翻译的源码文件存储路径,输出为完成翻译后的源码文件存储路径。有增量文件时,由翻译人员对增量文件进行翻译得到翻译文件。
翻译人员在网站入口处根据语言环境或者参数来引入对应版本的资源文件,完成网站的语言版本的切换。
图4为一个实施例中网站的翻译装置的结构框图。如图4所示,一种网站的翻译装置,包括数据获取模块402、第一翻译模块404、第二翻译模块406和第三翻译模块408。其中:
数据获取模块402用于获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据。
本实施例中,通常网站有需要翻译的内容散落在JavaScript、HTML结构数据和后端Ajax返回数据中。HTML结构数据可包含图片、链接、文本、音乐、程序等元素。超文本标记语言结构包括头部分和主体部分,头部分用于提供关于网页的信息,主体部分用于提供网页的具体内容。
第一翻译模块404用于查找该脚本源码中包含指定语言字符串的源码节点,将该源码节点中的指定语言字符串进行翻译。
具体地,源码节点是指脚本源码中的节点。脚本源码中节点可包括第一节点类型的源码节点和第二节点类型的源码节点。第一节点类型可为BinaryExpression,表示包含“+”、“-”、“*”和“/”等连接运算的节点。第二节点类型可为Literal,表示单文本节点。
第二翻译模块406用于查找该超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将该超文本结构节点中的指定语言字符串进行翻译。
本实施例中,超文本结构节点是指超文本语言结构数据中的节点。超文本语言结构数据中可包括元素节点、文本节点、属性节点、注释节点等。元素节点是指包含完整信息的节点。文本节点包含在元素节点内。属性节点是记录元素属性信息的节点。元素有一些属性,属性的作用是对元素进行详细描述,如元素名称、元素标识等。注释节点是指注释。
第三翻译模块408用于查找该返回数据中包含指定语言字符串的返回数据,将该返回数据中的指定语言字符串进行翻译。
本实施例中,数据获取层中接收返回数据,在返回数据中可能包含指定语言字符串,通过递归遍历可查找到返回数据中的指定语言字符串,将指定语言字符串按照词典中的记载的指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言。
上述网站的翻译装置,通过获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的返回数据,查找其中的指定语言字符串进行翻译,开发人员只需维护一个语言版本的网站即可,转化成其他语言时,将网站的脚本源码、超文本标记语言结构数据和返回数据中的指定语言字符串进行翻译,即可快速翻译成其他语言的网站,降低了成本。
图5为一个实施例中第一翻译模块的内部结构框图。如图5所示,第一翻译模块404包括解析单元4041、递归单元4042、第一翻译单元4043和第二翻译单元4044。其中:
解析单元4041用于解析该脚本源码,生成抽象语法树。
具体地,抽象语法树是脚本源码抽象语法的树状表现形式。
递归单元4042用于递归遍历该抽象语法树,得到第一节点类型的源码节点和第二节点类型的源码节点。
具体地,源码节点是指脚本源码中的节点。脚本源码中节点可包括第一节点类型的源码节点和第二节点类型的源码节点。第一节点类型可为BinaryExpression,表示包含“+”、“-”、“*”和“/”等连接运算的节点。第二节点类型可为Literal,表示单文本节点。
第一类翻译单元4043用于递归遍历该第一节点类型的源码节点,从该第一节点类型的源码节点中查找到属于第二节点类型且节点属性中包含指定语言字符串的源码子节点时,将该源码子节点中的变量替换为占位符,将该源码子节点中的指定语言字符串与占位符形成完整字符串,为该完整字符串分配索引标识,将该源码子节点替换为函数类型节点,将该函数类型节点中的完整字符串进行翻译,在翻译之后,将该翻译后的完整字符串中的占位符替换为变量,得到翻译结果。
本实施例中,对第一节点类型BinaryExpression的源码节点进行递归遍历,若查找到类型为第二节点类型Literal且Value(节点属性)中包含指定语言字符串的源码子节点,则将源码子节点中的变量替换为占位符,将源码子节点中的指定语音字符与占位符形成完整字符串,为该完整字符串分配索引标识,在脚本源码头部为该源码子节点建立索引标识与完整字符串的映射关系。
将该源码子节点替换为函数类型节点,如callexpression类型,通过函数类型节点可以包含值为数组的arguments节点属性,用于传递函数变量。Arguments数组中的值可包括索引标识、占位符等。
第一节点类型的源码节点中包含拼接字符串,即包括指定语言字符串和变量等。
第二类翻译单元4044用于获取该第二节点类型的源码节点中包含的指定语言字符串,将该指定语言字符串直接进行翻译。
本实施例中,第二节点类型Literal的源码节点中指定语言字符串,按照词典中的指定语言和目标语言之间的对应关系进行翻译,得到目标语言字符串。
上述对脚本源码进行解析得到抽象语法树,通过递归遍历抽象语法树得到第一节点类型的源码节点和第二节点类型的源码节点,针对包含指定语言字符串和变量的字符串的源码节点,通过对变量采用占位符替换,对该源码节点采用函数类型节点进行替换,在翻译后,实现函数返回,确保翻译后的语句通顺、正确。
在一个实施例中,该第二翻译模块406还用于查找该超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将该超文本结构节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言字符串。
具体地,预先建立了各种词典,词典中记录有各种语言相互之间的对应关系。
在一个实施例中,第三翻译模块408还用于查找该返回数据中包含指定语言字符串的返回数据,将该返回数据中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译,得到对应的目标语言字符串。
在一个实施例中,该第三翻译模块408还用于通过该数据获取层和数据处理层中插入的中间件,根据对照表,对该返回数据进行递归遍历,对该返回数据中的指定语言字符串进行翻译。
本实施例中,中间件是指设置在数据获取层Ajax和数据处理层之间的过滤层。通过中间件对返回数据进行递归遍历,查找到返回数据中的指定语言字符串,按照词典中指定语言与目标语言之间的对应关系进行翻译得到目标语言字符串。
在一个实施例中,上述网站的翻译装置还包括:更新模块,用于获取待翻译的增量文件及待翻译的增量文件对应的翻译文件,将增量文件与对应的翻译文件更新到词典。
本实施例中,查找到网站的脚本源码、超文件标记语言结构数据和返回数据中的指定语言字符串,判断指定语言字符串在词典中是否存在对应的目标语言字符串,若不存在,则指定语言字符串为增量字符串,将增量字符串聚集在一起形成待翻译的增量文件,将待翻译的增量文件进行翻译得到对应的翻译文件,将增量文件和翻译文件更新到词典中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种网站的翻译方法,包括:
获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的网站后台的返回数据;
解析所述脚本源码,生成抽象语法树,递归遍历所述抽象语法树,查找所述脚本源码中包含指定语言字符串的源码节点,将所述源码节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译;
查找所述超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将所述超文本结构节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译;
查找所述返回数据中包含指定语言字符串的返回数据,将所述返回数据中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译;
若指定字符串在词典中不存在对应的目标语言字符串,则指定字符串为增量字符串,将增量字符串聚集在一起形成待翻译的增量文件,将待翻译的增量文件进行翻译得到对应的翻译文件,并将增量文件和翻译文件更新到词典;
无增量文件时,翻译人员启动执行程序,输出翻译后的网站版本;有增量文件时,由翻译人员对增量文件进行翻译得到翻译文件,并在网站入口处根据语言环境或参数引入对应版本的资源文件,进行网站版本的切换。
2.根据权利要求1所述的方法,其特征在于,所述查找所述脚本源码中包含指定语言字符串的源码节点,将所述源码节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译的步骤包括:
递归遍历所述抽象语法树,得到第一节点类型的源码节点和第二节点类型的源码节点;
递归遍历所述第一节点类型的源码节点,从所述第一节点类型的源码节点中查找到属于第二节点类型且节点属性中包含指定语言字符串的源码子节点时,将所述源码子节点中的变量替换为占位符,将所述源码子节点中的指定语言字符串与占位符形成完整字符串,为所述完整字符串分配索引标识,将所述源码子节点替换为函数类型节点,将所述函数类型节点中的完整字符串进行翻译,在翻译之后,将所述翻译后的完整字符串中的占位符替换为变量,得到翻译结果;
获取所述第二节点类型的源码节点中包含的指定语言字符串,将所述指定语言字符串直接进行翻译。
3.根据权利要求1所述的方法,其特征在于,所述查找所述返回数据中包含指定语言字符串的返回数据,将所述返回数据中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译,包括:
通过所述数据获取层和数据处理层中插入的中间件,对所述返回数据进行递归遍历,对所述返回数据中的指定语言字符串进行翻译。
4.一种网站的翻译装置,其特征在于,包括:
数据获取模块,用于获取网站的脚本源码、超文本标记语言结构数据和数据获取层接收的网站后台的返回数据;
第一翻译模块,用于解析所述脚本源码,生成抽象语法树,递归遍历所述抽象语法树,查找所述脚本源码中包含指定语言字符串的源码节点,将所述源码节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译;
第二翻译模块,用于查找所述超文本标记语言结构数据中包含指定语言字符串的超文本结构节点,将所述超文本结构节点中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译;
第三翻译模块,用于查找所述返回数据中包含指定语言字符串的返回数据,将所述返回数据中的指定语言字符串按照词典中指定语言与目标语言之间的对应关系进行翻译;
更新模块,若指定字符串在词典中不存在对应的目标语言字符串,则指定字符串为增量字符串,将增量字符串聚集在一起形成待翻译的增量文件,将待翻译的增量文件进行翻译得到对应的翻译文件,并将增量文件和翻译文件更新到词典;
无增量文件时,翻译人员启动执行程序,输出翻译后的网站版本;有增量文件时,由翻译人员对增量文件进行翻译得到翻译文件,并在网站入口处根据语言环境或参数引入对应版本的资源文件,进行网站版本的切换。
5.根据权利要求4所述的装置,其特征在于,所述第一翻译模块包括:
递归单元,用于递归遍历所述抽象语法树,得到第一节点类型的源码节点和第二节点类型的源码节点;
第一类翻译单元,用于递归遍历所述第一节点类型的源码节点,从所述第一节点类型的源码节点中查找到属于第二节点类型且节点属性中包含指定语言字符串的源码子节点时,将所述源码子节点中的变量替换为占位符,将所述源码子节点中的指定语言字符串与占位符形成完整字符串,为所述完整字符串分配索引标识,将所述源码子节点替换为函数类型节点,将所述函数类型节点中的完整字符串进行翻译,在翻译之后,将所述翻译后的完整字符串中的占位符替换为变量,得到翻译结果;
第二类翻译单元,用于获取所述第二节点类型的源码节点中包含的指定语言字符串,将所述指定语言字符串直接进行翻译。
6.根据权利要求4所述的装置,其特征在于,所述第三翻译模块还用于通过所述数据获取层和数据处理层中插入的中间件,对所述返回数据进行递归遍历,对所述返回数据中的指定语言字符串进行翻译。
7.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现如权利要求1至3任一项所述的网站的翻译方法。
8.一种终端设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至3中任一项所述的网站的翻译方法。
CN201610522264.2A 2016-07-05 2016-07-05 网站的翻译方法和装置 Active CN106202066B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610522264.2A CN106202066B (zh) 2016-07-05 2016-07-05 网站的翻译方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610522264.2A CN106202066B (zh) 2016-07-05 2016-07-05 网站的翻译方法和装置

Publications (2)

Publication Number Publication Date
CN106202066A CN106202066A (zh) 2016-12-07
CN106202066B true CN106202066B (zh) 2019-07-05

Family

ID=57466230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610522264.2A Active CN106202066B (zh) 2016-07-05 2016-07-05 网站的翻译方法和装置

Country Status (1)

Country Link
CN (1) CN106202066B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426972A (zh) * 2017-08-21 2019-03-05 阿里巴巴集团控股有限公司 订单页面的处理方法、装置和系统
CN110019296B (zh) * 2017-09-29 2021-04-23 北京国双科技有限公司 数据库查询脚本的生成方法、装置、存储介质及处理器
CN110795915A (zh) * 2018-07-31 2020-02-14 中兴通讯股份有限公司 xml文件批量修改方法、系统、设备和计算机可读存储介质
CN111367595B (zh) * 2018-12-25 2024-03-26 阿里巴巴集团控股有限公司 数据处理方法、程序运行方法、装置及处理设备
CN109783579B (zh) * 2019-01-22 2020-06-02 南京焦点领动云计算技术有限公司 一种快速复制和翻译网站的方法
CN110413574B (zh) * 2019-07-30 2023-04-07 深圳市携众通科技有限公司 一种自动生成代码国际化资源的方法
CN110532576A (zh) * 2019-09-09 2019-12-03 深圳市元征科技股份有限公司 一种数据处理方法、装置及电子设备
CN111796833A (zh) * 2020-07-13 2020-10-20 携程计算机技术(上海)有限公司 代码语言转换方法、系统、设备及存储介质
CN111831384B (zh) * 2020-07-20 2024-01-09 北京百度网讯科技有限公司 语言切换方法和装置、设备及存储介质
CN113971028A (zh) * 2021-10-26 2022-01-25 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、存储介质及计算机程序产品
CN114154092B (zh) * 2021-11-18 2023-04-18 网易有道信息技术(江苏)有限公司 用于对网页进行翻译的方法及其相关产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086731A (zh) * 2006-06-05 2007-12-12 李钢 基于服务器的多国即时在线翻译系统
CN103678284A (zh) * 2012-08-31 2014-03-26 上海斐讯数据通信技术有限公司 页面文字翻译方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055573A (zh) * 2006-04-10 2007-10-17 李钢 世界通多国翻译系统
CN101615181B (zh) * 2008-06-27 2012-05-16 国际商业机器公司 创建国际化网络应用的系统和方法
CA2755427C (en) * 2009-03-18 2017-03-14 Google Inc. Web translation with display replacement
CN102693322B (zh) * 2012-06-01 2014-10-22 杭州海康威视数字技术股份有限公司 支持多国语言的网页处理方法、网页加载方法及其系统
CN103412857A (zh) * 2013-09-04 2013-11-27 广东全通教育股份有限公司 一种实现网页中英文翻译的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086731A (zh) * 2006-06-05 2007-12-12 李钢 基于服务器的多国即时在线翻译系统
CN103678284A (zh) * 2012-08-31 2014-03-26 上海斐讯数据通信技术有限公司 页面文字翻译方法及装置

Also Published As

Publication number Publication date
CN106202066A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN106202066B (zh) 网站的翻译方法和装置
KR101120301B1 (ko) 지속 저장 포탈
US8554800B2 (en) System, methods and applications for structured document indexing
Sahuguet et al. Building intelligent web applications using lightweight wrappers
US20080301545A1 (en) Method and system for the intelligent adaption of web content for mobile and handheld access
Head et al. Tutorons: Generating context-relevant, on-demand explanations and demonstrations of online code
CN111831384B (zh) 语言切换方法和装置、设备及存储介质
JPWO2007105759A1 (ja) 数式記述構造化言語オブジェクト検索システムおよび検索方法
Jarmul et al. Python web scraping
Uzun et al. Comparison of python libraries used for web data extraction
CN113158651A (zh) Web服务器系统以及演示应用生成方法
US10558631B2 (en) Enhancing textual searches with executables
CN110377371B (zh) 一种基于Web标签的样式表系统管理方法
US11645452B2 (en) Performance characteristics of cartridge artifacts over text pattern constructs
Valentine et al. EarthCube Data Discovery Studio: A gateway into geoscience data discovery and exploration with Jupyter notebooks
KR102531507B1 (ko) 정보 출력 방법, 장치, 기기 및 저장 매체
CN104778232A (zh) 一种基于长查询的搜索结果的优化方法和装置
Urbieta et al. A web-based model-driven platform for web augmentation
Li et al. Smartshell: automated shell scripts synthesis from natural language
Cherivirala et al. Apertium’s web toolchain for low-resource language technology
Fucíková et al. Czech-english bilingual valency lexicon online
CN118245050A (zh) 前端框架组件自动转换方法、系统、电子设备及存储介质
Kalaidopoulou et al. Similarity Texter: A Text-comparison Web Tool Based on the" sim_text" Algorithm
KR101722157B1 (ko) 정보 수집 장치 및 이를 이용한 웹 사이트의 정보 수집 방법
Zhang et al. An efficient wrapper for Web data extraction and its application

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant