用于万维网文档翻译的条件性翻译头的制作方法

文档序号:6349423阅读:183来源:国知局
专利名称:用于万维网文档翻译的条件性翻译头的制作方法
技术领域
本说明书涉及万维网(web)文档中的文本的翻译。
背景技术
互联网的迅速发展使多种不同语言的web文档可被用户容易地得到。有多种web 文档翻译机制可协助用户阅读以用户所不熟悉的语言显示的web文档文本。通常,这种翻译机制被集成于web浏览器程序的工具栏中并可通过该工具栏访问,或由web页本身(例如,嵌入web页内的脚本)提供。然而,这些翻译机制所提供的翻译提示是静态的,即不考虑web文档的文本是以哪种语言显示的。另一种翻译机制被集成于显示搜索结果的搜索结果页中。搜索结果包括web页标题、从web页中提取的文本片断以及web页的URL。URL可被提供为资源链接的形式,该资源链接指向搜索结果所引用的web页。如果搜索结果所引用的web页的文本的语言不同于对显示搜索结果的浏览器指定的偏好语言,则搜索结果页可以包括翻译搜索结果所引用的 web页的可选择选项。然而,用户必须从搜索结果页内选择该选项以翻译web页,而不能从实际web页本身选择该选项以翻译该页。

发明内容
一般地,本说明书的主题描述有关用于翻译web文档文本的条件性翻译头的技术。一般地,本说明书中描述的主题的一个方面可被实现为这样的方法,该方法包括 在客户设备处接收文档,该文档包括要被显示在客户设备上的第一语言的文档文本;在客户设备处显示文档的文档文本;在客户设备处确认文档文本可以被翻译成的第二语言;确定第二语言不同于第一语言,并且只响应于该确定,与文档文本一起显示翻译头,该翻译头包括第二语言的文本,第二语言的文本描述翻译头中的将文档文本从第一语言翻译为第二语言的能够选择的选项;以及响应于对能够选择的选项的选择在客户设备处确认文档文本中要被翻译的部分;从客户设备发送将文档文本的部分从第一语言翻译为第二语言的请求给翻译服务器;响应于该请求,在客户设备处接收翻译数据,该翻译数据包括文档文本的第二语言的相应翻译的部分;以及在客户设备处显示文档的文档文本的翻译的部分。可以实施本说明书中所描述的主题的具体实施例,以实现一个或更多个以下优点。只有在适当的时候才将翻译头示出于呈现的web文档(例如,web页)上,诸如当web 文档文本所用的语言不同于用户的偏好语言时。选择性地显示翻译头可以在不需要翻译时消除翻译头的显示足迹,从而使web文档内容的显示区域最大化。当确定需要web文档文本的翻译时,同web文档文本一起,将翻译头突出显示。这样的配置,使用户可以在不浏览菜单或在web文档上或操作的web浏览器程序的工具栏中搜索翻译机制的情况下,快速确认翻译是否可用并可以请求web文档文本的翻译。
7
此外,在响应于选择搜索结果而被提供文档的情况下,如果确定需要web文档文本的翻译,则用户不需要返回到搜索结果页以请求web文档内的文本的翻译。相反,同web 文档文本一起,翻译头被突出显示,且用户可从web文档内请求翻译。在下面的附图和其描述中阐述了本说明书中所描述的主题的一个或更多实现的细节。根据说明书、附图和权利要求,主题的其它特征、方面和优点将变得更加明显。


图IA至图IC例示web文档的web文档显示格式的示例性框图。图2例示web文档的示例性显示以及该web文档的翻译译文的示例性显示。图3例示系统的示例性结构,该系统提供用于web文档中的web文档文本的翻译的条件性翻译头。图4例示具有web文档文本和翻译头元件的web文档的示例DOM表示。图5A和图5D分别是翻译电子邮件web页中的文本的示例性方法以及翻译电子邮件web页中的文本的另一种示例性方法的流程图。图5B和图5C分别例示HTML电子邮件页的示例性显示以及具有翻译文本的电子邮件页的示例性显示。图6是用于翻译HTMLweb页中的文本的示例性方法的流程图。图7是用于提供用于web文档中的web文档文本的翻译的条件性翻译头的示例性方法的流程图。各图中,相同的附图标记指示相同的元件。
具体实施例方式本说明书涉及只有在web文档包括所用的语言不同于一种或更多种指定语言(诸如,用户的偏好语言)的文本时才将条件性翻译头显示于呈现的web页中。web文档是一种用标记语言注释(annotate)的文档,通过诸如因特网的网络被提供给客户设备或由客户设备访问。示例性web文档是HTML文档,其可以在客户设备上利用web浏览器程序来呈现。翻译头是一种交互式对象,提供可选择选项以允许用户请求将web文档文本翻译成不同于web文档文本最初被显示给用户时所用的语言的指定语言。在一些实现中,脚本 (即,可执行的或解释型的程序指令)被包括于web文档中并被web浏览器程序执行。该脚本导致web浏览器程序只有在客户设备(例如,通过执行该脚本)确定web文档文本的语言不同于与客户设备相关的指定语言时才显示翻译头。客户设备是一种被用户控制的电子设备,能够通过诸如因特网或内联网 (Intranet)的网络来请求和接收web文档和其它内容。示例性客户设备包括个人电脑、 移动通信设备以及可通过网络发送和接收数据的其它设备。图IA至图IC例示web文档105的web文档显示格式110、120和130的示例性框图。如下所述,web文档105的显示格式基于web文档文本的原始语言(即,web文档的文本被创建或写作时、响应于来自客户设备的请求而被提供给客户设备时的语言)、一个或更多个指定语言以及是否发生了 web文档文本的翻译而确定。如在这里使用的,web文档文本是在客户设备上呈现并可见的文本,例如与文档对象模型(DOM)中的文本节点相关的文本。显示格式110包括原始语言的web文档文本140,而不包括条件性翻译头。如果 web文档文本的原始语言与客户设备的指定语言相同,则web文档105以显示格式110被显示。例如,如果原始语言是英语而客户设备的指定语言也是英语,则web文档105将以显示格式110被显示。显示格式120包括原始语言的web文档文本的140和条件性翻译头142,条件性翻译头142具有指定语言(诸如,不同于原始语言的偏好的用户语言)的翻译头文本。如果web文档文本140的原始语言不同于客户设备的指定语言,而且如果对web文档文本的翻译过程未启动和/或完成,则web文档105以显示格式120被显示。例如,如果原始语言是英语而指定语言是德语,而且对web文档文本140的翻译过程未启动,则web文档105将以显示格式120被显示。显示格式130包括指定语言的web文档文本140’和指定语言的翻译头文本。如果 web文档文本的原始语言不同于指定语言,而且对web文档文本的翻译过程已完成,则web 文档文本105以显示格式130被显示。例如,如果原始语言是英语而指定语言是德语,而且对web文档文本140的翻译过程已完成,则web文档105将以显示格式130被显示。对于显示格式110、120和130的每一个,均使用相同的web文档,例如相同的HTML 文档。然而,翻译头142只有在web文档文本140的原始语言不同于客户设备的指定语言时才被示出。图2例示web文档205的示例性显示202以及web文档205的翻译译文的示例性显示204。示例性显示202和204是由指定了英语的客户设备上的web浏览器程序生成的。在示例性显示202中,web浏览器显示具有用原始语言的web文档文本240的web 文档205和具有用指定语言的翻译头文本的条件性翻译头246 (例如,图IB的显示格式 120)。例如,在显示202中,web文档文本MO的原始语言是西班牙语,而客户设备的指定语言是英语。翻译头246包括提示web文档文本MO的翻译的输入的翻译头文本,例如 "Translate this page ?(翻译该页?)”;以及,可选地,确认web文档文本240的原始语言的翻译头文本,例如"This page is in Spanish.(该页是西班牙语。),,。由翻译头文本提示的输入可以是例如对可选择选项(诸如,“Translate (翻译),, 按钮206)的用户选择。在一些实现中,翻译头文本还确认指定语言(例如,偏好语言)。例如,翻译头 246 可以包括文本“Translate this page from Spanish to English ?(将该页从西班牙语翻译为英语?)”。如显示202所例示并参考其进行说明的翻译头246是翻译头246的第一显示配置。例如,在选择可选择翻译选项(例如,翻译按钮206)之前,翻译头 246被以第一显示配置显示。在一些实现中,翻译头中的可选择选项可以允许用户确认web文档文本MO的原始语言,而不是依靠例如自动语言确认过程。可选地,或者作为另一种方式,翻译头可选择选项可以允许用户确认web文档文本240要被翻译成的语言。这些选项允许用户明确定义 web文档文本MO的语言和/或web文档文本240要被翻译成的语言。在示例性显示204中,web浏览器显示具有用指定语言的web文档文本240的web 文档205以及具有用指定语言的翻译头文本的条件性翻译头例如,图IC的显示格式130)。翻译头246包括确认web文档文本240或web文档文本MO的一部分已被翻译的翻译头文本;以及,可选地,原始语言或指定语言中的一个或二者。例如,翻译头246可以包括 "This page has been translated to English.(该页已经被翻译为英语。)”。在一些实现中,翻译头246还包括语言选择选项208以允许用户选择web文档文本240要被翻译成的另一种语言。例如,语言选择选项208可以是列出可用语言的下拉菜单。从语言选择选项208中选择语言使得web文档文本被翻译并以所选择的语言显示。在一些实现中,翻译头246还包括可将如显示204所示的web文档的显示返回到显示202的另一种可选择选项210。因此,选择可选择选项210使得浏览器以原始语言即西班牙语显示web文档文本M0。如显示204中例示并参考其说明的翻译头246被以第二显示配置显示。例如,在选择可选择翻译选项(例如,翻译按钮206)之后,翻译头246被以第二显示配置显示。图3例示系统300的示例性结构,系统300提供用于web文档306中的web文档文本312的翻译的条件性翻译头。客户设备302运行web文档显示程序(例如,web浏览器304)以呈现web文档306。web文档306包括web文档文本312和翻译头元件310。web文档文本312是web 浏览器304呈现web文档306时所显示的文本性内容。翻译头元件310是可由web浏览器 304执行的程序代码(例如,JavaScript)。翻译头元件310提供翻译头M6的显示和翻译头M6的功能。为方便起见,当翻译头元件310被描述为执行动作时,指web浏览器304执行由翻译头元件310定义的程序代码,以使该动作被执行。web浏览器304检索web文档306。例如,web浏览器304可以例如通过根据由web 文档的URL指定的检索方法(诸如超文本传输协议(HTTP))来发送对其URL的请求,来检索web文档306。翻译头元件310确认web文档文本312的原始语言(“第一语言”)。在一些情况下,web文档文本312的原始语言在web文档306中被指定或在与web 文档306 —起检索的元数据中被指定。例如,web文档306的发布者可以嵌入确认原始语言的数据,诸如语言标签。在其它例子中,web文档306可以在到达web浏览器304前由代理处理,诸如电子邮件消息由邮件服务器处理。该代理或响应于该代理的系统可以对web文档306进行处理, 以确认web文档的文本的一个或多个原始语言,然后将确认所述一个或多个原始语言的数据同web文档306 —起发送给web浏览器304。在上述这种情况下,翻译头元件310根据提供的信息来确认原始语言。然而,如果 web文档306或相关的元数据中没有指定原始语言,则在一些实现中,翻译头元件110可以查询例如翻译服务器308以确认原始语言。在其它实现中,翻译头元件310可以例如从由 web浏览器304呈现的下拉菜单或文本框接收来自用户的确认原始语言的输入(例如,从显示于翻译头中的可选择选项)。在另一些实现中,翻译头元件310可以访问驻留于客户设备 302上的语言确认程序。该语言确认程序可以对web文档306的文本进行处理以确认web 文档文本312的一个或更多语言。许多已知的语言确认或检测技术均可以被客户设备或翻译服务使用。翻译头元件310确认web文档文本312要被显示于客户设备302上时的一个
10或更多指定语言(“第二语言”)。典型地,所述指定语言是客户设备302的用户所偏好的语言。这些偏好可以是明示或暗示的,因此指定语言可以以多种方法来确认。例如,从网络服务器侧,指定语言可以根据各种源指示符来确认,源指示符诸如(A)HTTP请求头 (Acc印t-Language (接受语言)),(B)由例如翻译头元件310使用、被保存于客户设备上的 cookie中并由翻译头元件310报告的最近修改目标语言(例如,第二语言),(C)翻译服务器/服务的最近使用目标语言或(D)翻译服务器/服务的最近使用用户界面语言。从客户设备侧,指定语言可以根据例如(E) web浏览器设置或(F) URL参数(例如,查询参数)来确认。如果多于一个的指定语言被确认(例如,从服务器侧或客户设备侧中的一个或二者),则可以根据其源和/或距离相应翻译的发生时间的远近来对指定语言排序或区分优先级。在一些实现中,例如,翻译头元件310可以根据源等级/顺序层次来对指定语言区分优先级(例如,排序)。例如,该层次可规定第二语言由以下方案确定(请参照上面列出的各项)=(F) > (B) > (C) > (D) > (E) > (A)。因此,在该例子中,从URL参数(F)(如果其存在的话)确认的指定语言是文本要被翻译成的第二语言(即,最高次序的第二语言)。在一些实现中,从URL参数(F)确认的指定语言可以是最可靠的用于确认指定语言的源。然而,可以使用其它方案和层次。翻译头元件310确定原始语言是否不同于指定语言(例如,如果指定语言超过一个,则是例如被选择的语言)。如果原始和指定语言是不同的,则翻译头元件310使web浏览器304同时显示翻译头M6、指定语言的翻译头文本、原始语言的web文档文本312,以及任何其它包括于web文档306中的显示内容,诸如图像(例如,图IB的显示格式120)。 如果原始和指定语言不是不相同的,则在没有翻译头M6的情况下,显示web文档文本312 以及任何其它包括于web文档306中的显示内容(例如,图IA的显示格式110)。翻译头元件310可以检测对翻译头中的可选择选项的选择,诸如用户点击翻译按钮206。响应于该对可选择选项206的选择,翻译头元件310确认要被翻译的web文档文本312或web文档文本中要被翻译的部分(即,如果小于全部的web文档文本适于被翻译服务器308翻译)。在一些实现中,用户可以例如通过用鼠标或其它用户输入设备来选择某些web文档文本312,从显示的web文档文本中选择web文档文本312中要翻译的部分。在一些实现中,翻译头元件310,或更一般地,web浏览器304,可以利用web文档 306的文档对象模型(DOM)表示来确认要被翻译的web文档文本312或web文档文本312 中要被翻译的部分。例如,web浏览器304可以包括布局引擎314以解析web文档306,以生成DOM表示,或与之相当地,文档306的数据结构表示。在一些实现中,布局引擎314区别于web浏览器304,但与web浏览器304进行数据通信并与web浏览器304合作以呈现 web文档。DOM表示提供管道,由web浏览器304执行的脚本可以通过该管道来检查和修改 web文档306。例如,DOM表示允许翻译头元件310为了翻译确认和访问web文档中的web 文档文本312。图4例示具有web文档文本和翻译头元件的web文档400的示例性DOM表示。DOM 表示将web文档表示为节点的分层布置,其中每个节点对应于web文档的一部分。有多种类型的节点,例如,根节点(例如,根节点404)、元素节点(例如,title元素节点406)、文本节点(例如,文本节点408、410和412)和脚本节点(例如,script节点414)。文本节点是对应于web文档(例如306)中的web文档文本(例如312)的节点,它包括存储于该节点中的文本。元素节点是对应于web文档中的注释的节点,诸如标记语言注释。脚本节点包括web文档中的可执行的脚本,诸如翻译头元件。节点的布置由各节点之间的层次关系确定。各节点的层次关系是web文档中嵌套的注释的属性。一旦翻译头元件310确认了要被翻译的web文档文本312 (例如,利用DOM表示), 翻译头元件310发送将相关web文档文本312翻译成指定语言的请求给翻译服务器308。 响应于该请求,翻译服务器308给客户设备302提供翻译数据。翻译数据包括指定语言的翻译的web文档文本。web浏览器304可以用翻译的web文档文本来呈现web文档306 (例如,图IC的显示格式130)。图5A和图5D分别是用于翻译电子邮件web页中的文本的示例性方法的流程图, 以及用于翻译电子邮件web页中的文本的另一种示例性方法的流程图。图5B和图5C分别例示HTML电子邮件页的示例性显示560以及具有翻译的文本的电子邮件页的示例性显示 540。示例性显示M0,560由web浏览器(例如304)生成。显示540和560中的web 文档是显示电子邮件消息的电子邮件页,web文档文本是电子邮件消息的正文文本。正文文本被显示为电子邮件消息的表示。每个电子邮件消息的正文文本均可被包括于DOM表示的相应文本节点中。附加文本也可以被包括于DOM表示的相应文本节点中,例如电子邮件消息的主题文本。显示560例示显示多个电子邮件消息的电子邮件页,例如电子邮件会话。例如,显示560分别示出第一、第二和第三电子邮件消息542、544和M6,但只有电子邮件消息M2 被展开以示出其正文文本M8。显示560中的正文文本的原始语言(第一语言)是西班牙语。在图5A中,确认电子邮件消息中第一电子邮件消息的要被翻译的正文文本 (502)。一个或更多被显示的电子邮件消息中的第一电子邮件消息(例如,542)的正文文本可以被确认为活跃的电子邮件消息的正文文本。例如,活跃的电子邮件消息是当前被打开或以其它方式被选择(例如,由光标位置或其它用户输入而指示)的电子邮件消息。参考显示560,由于电子邮件消息542是展开的(例如,打开的),所以它是活跃的电子邮件消息。 正文文本548可以通过其相应的文本节点确认。web页浏览器304和/或客户设备302可以利用翻译头元件310来确认要被翻译的正文文本。对于第一电子邮件消息的正文文本,确定第二语言不同于第一语言(504)。例如, 翻译头元件310可以确定第二语言不同于第一语言,并将翻译头与第一电子邮件消息的正文文本一起显示。显示560以第一显示配置与正文文本548 —起示出翻译头550。翻译头文本将第二语言(例如,指定语言)确认为英语,即西班牙文本应被翻译成的语言。在一些实现中,每个展开的包括非指定语言的正文文本的电子邮件消息均可被显示有翻译头。例如,如果电子邮件消息544和546是展开的,则在相应的正文文本没用指定语言的情况下,每个消息均可被显示有翻译头。在一些实现中,翻译头元件310也可以使 web浏览器304显示“Translate conversation (翻译会话)”按钮553,以使电子邮件会话中的所有电子邮件消息均被显示有翻译的文本。发送仅翻译第一电子邮件消息的正文文本的请求给翻译服务器(506)。只有在第二语言不同于第一语言时才发送该请求。例如,web浏览器304可以发送仅翻译第一电子邮件消息的正文文本的请求给翻译服务器308。翻译第一电子邮件消息的正文文本的请求可以是翻译第一电子邮件消息的标题和第一电子邮件消息的正文的请求。如虚线处理框508所示,可选地,步骤506的请求是发送给翻译服务器的没有第一电子邮件消息的正文文本的请求(508)。例如,web浏览器304可以发送请求给翻译服务器 308。该翻译服务器可与处理第一电子邮件消息的电子邮件服务器进行数据通信(例如,远程过程调用协议)。由于是电子邮件服务器将第一电子邮件消息分发给客户设备,它可以访问第一电子邮件消息或该第一消息的副本。如此,请求可以包括第一电子邮件消息的标识符,而不包括第一电子邮件消息的正文文本。第一电子邮件消息的标识符可被邮件服务器或翻译服务器解析,以确认第一电子邮件消息。然后,翻译服务器可以翻译电子邮件消息的正文文本。接收翻译数据(510),该翻译数据包括第一电子邮件消息的第二语言的翻译正文文本。翻译数据包括第一电子邮件消息的第二语言的翻译正文文本。例如,web浏览器304 可以从翻译服务器308接收翻译数据。显示第一电子邮件消息的翻译正文文本和其它电子邮件消息的正文文本(512)。 例如,web浏览器304可以呈现包括第一电子邮件消息的正文文本和其它电子邮件消息的正文文本的文档,以在客户设备302上显示。如果其它电子邮件消息以折叠显示格式被显示,则其它电子邮件消息的正文文本可以仅包括这些电子邮件消息的主题。显示540示出第一电子邮件消息(例如,电子邮件消息M2)的第二语言(即,英语)的翻译正文文本以及其它电子邮件消息(例如,电子邮件消息544和M6)的折叠显示。如虚线处理框514和516所示,可选地,步骤512的显示包括在相应文本节点中用第一电子邮件消息的第二语言的翻译正文文本来替换第一电子邮件消息的第一语言的正文文本(514),并呈现相应文本节点中包括翻译正文文本的数据结构(516)。例如,翻译头元件310可以在相应文本节点中用第二语言的翻译正文文本来替换第一语言的正文文本, 并呈现相应文本节点中包括翻译正文文本的数据结构。显示540示出第一电子邮件消息 542的翻译正文文本M8。在图5D中,步骤582和584分别与参考图5A说明的步骤502和504相同。发送对HTML数据的请求,HTML数据仅表示翻译的第一电子邮件消息(586)。除了第一电子邮件消息的正文文本之外,例如,HTML数据还可以包括第一电子邮件消息的格式信息、第一电子邮件消息的被引用的文本检测信息,以及第一电子邮件消息的隐藏信息。例如,web浏览器304可以发送对HTML数据的请求,该HTML数据表示翻译的第一电子邮件消息。在一些实现中,可以请求多于一个的电子邮件消息的HTML数据。接收表示翻译的第一电子邮件消息的HTML数据(588)。例如,web浏览器304可以从翻译服务器308接收HTML数据。用表示翻译的第一电子邮件消息的HTML数据来替换HTML电子邮件文档的HTML 数据中对应于未翻译的第一电子邮件消息的部分(590)。例如,翻译头元件310可以用翻译的第一电子邮件消息的HTML来替换电子邮件页的HTML数据中对应于未翻译的第一电子邮件消息的部分。然后,包括翻译的第一消息的HTML的电子邮件页可以在不重载电子邮件页的情况下由web浏览器呈现并显示于客户设备上。
在另一些实现中,代替用翻译的第一电子邮件消息的HTML来替换电子邮件页的 HTML中对应于未翻译的第一消息的部分,翻译头元件310可以使web浏览器呈现翻译的第一电子邮件消息的HTML,以显示于被显示的电子邮件页的其它部分上,诸如消息框、弹出框、工具提示或指定的翻译显示区。在图5C中,翻译头550被以第二显示配置显示。在选择如图5B所示的可选择选项(例如,“Translate (翻译)”按钮)之后,第二显示配置指示出文档的部分已被翻译。用户可以选择“View original message (查看原始消息)”以查看原始形式的消息;或选择 "Change language (改变语言)”以将该消息的正文文本翻译成另一语言。如果后者被选择,则电子邮件消息的原始文本被翻译成由用户指定的新语言,即重新执行上述处理步骤 506至512,以提供将原始文本翻译成另一个不同语言。由此,"Change language (改变语言)”选项使电子邮件消息中的原始文本被翻译成新的语言,而不是将当前的翻译文本(例如,英语的)翻译成新的语言。图6是用于翻译HTML web页中的文本的示例性方法600的流程图。web文档是 HTML web页,而且用数据结构来表示。数据结构包括文本节点,每个文本节点包括该HTML web页文本的相应文本。发送具有包括各文本节点中的文本的、作为不同对象的数据的请求给翻译服务器,以翻译该文本(602)。在一些实现中,该数据是文档的DOM表示或DOM表示的副本。在其它实现中,该数据是通过多个段发送的,即该数据的各部分被单独地发送到翻译服务器。 例如,web浏览器304可以发送翻译文本的请求给翻译服务器308。在各文本节点中用第二语言的相应翻译文本来替换第一语言的文本(604)。翻译文本从翻译服务器接收。例如,翻译头元件310可以在各文本节点中用第二语言的相应翻译文本来替换第一语言的文本。呈现各文本节点中具有翻译文本的数据结构(606)。在一些实现中,该数据结构是 DOM表示,且web浏览器呈现该DOM表示以与翻译文本一起显示HTML web页。例如,web浏览器304可以呈现各文本节点中具有的翻译文本的数据结构。题为“WEB TRANSLATION WITH DISPLAY REPLACEMENT”、提交于 2009 年 3 月 18 日的美国专利申请61/161,309好描述了一种相似的请求和接收标记语言文档(诸如示例性方法600的HTML web页)的翻译文本的方法,其内容通过引用合并于此。然而,也可以使用其它的翻译方法。图7是用于提供用于web文档中的web文档文本的翻译的条件性翻译头的示例性方法700的流程图。一般地,示例性方法可在计算机上用web浏览器来实现。接收包括要显示在客户设备上的第一语言的文档文本的文档(702)。例如,web浏览器304可以通过使用超文本传输协议(HTTP)来为客户设备302检索文档。在一些实现中,可以根据用户输入确认文档文本的第一语言。例如,用户输入可以来源于对与文档文本一起被显示的翻译头中的可选择选项的选择。显示文档的文档文本(704)。该文档可以是标记语言文档,且web浏览器304可以呈现该标记语言文档,以显示在客户设备302上。确认文档文本可以被翻译成的第二语言(706)。第二语言可以是用户的偏好语言 (例如,用户的母语)。例如,用户的偏好语言可以根据客户设备(例如,302)上的本地设置(诸如web浏览器的语言设置)来确定,或根据包括来源于以往翻译和相应的第二语言的数据(例如,该数据可以指示出用户曾请求翻译成某种第二语言)的cookie来确定。例如,翻译头元件310可以确认第二语言。在一些实现中,第二语言可以根据用户输入确认。 例如,用户输入可以来源于对翻译头中的可选择选项的选择。确定第二语言不同于第一语言,并只响应于该确定,与文档文本一起显示翻译头 (708)。翻译头包括第二语言的文本,该第二语言的文本描述该翻译头中的将文档文本从第一语言翻译成第二语言的可选择选项。例如,翻译头与文档文本一起的显示用显示格式120 表示并如示例性显示202所示。在一些实现中,翻译头的显示与文档文本的显示是同时的或基本上同时的。在其它实现中,如果用户未在预定的时间段内选择翻译选项,则翻译头消失。例如,翻译头元件310可确定第二语言不同于第一语言,并且web浏览器304可以例如呈现包括翻译头346和文档文本312的文档。响应于对可选择选项的选择,确认文档文本中要被翻译的部分(710)。文档文本的所述部分可以是全部文档文本或小于全部的文档文本。在一些实现中,基于文档类型来确认文档文本的所述部分。例如,如果文档是HTML web页,则文档文本的所述部分是全部可被翻译的文档文本(例如,某些文档文本可通过“no translate (不翻译)”标记确认为不可翻译)。在另一例子中,如果该文档是HTML电子邮件页,则文档文本的所述部分是文档文本中对应于活跃的电子邮件消息的部分。在其它实现中,基于用户输入来确认文档文本的所述部分,诸如对文档文本一部分加亮。例如,翻译头元件310和/或web浏览器304可以确认文档文本中要被翻译的部分。从客户设备发送将文档文本的部分从第一语言翻译成第二语言的请求给翻译服务器(712)。例如,web浏览器304可以发送请求给翻译服务器308,以将文档文本的部分从第一语言翻译成第二语言。在一些实现中,按照如图5A和图5D所示的方法来发送该请求。在其它的实现中,按照如图6描述的方法来发送该请求。尽管由翻译服务器执行的翻译过程通常将正确地确认文档文本的第一语言,但如上所述,用户可以在请求中指定第一语言,以确保文档文本的第一语言不被错误确认。翻译头可提供可选择选项,用户可以用该可选择选项指定第一语言。响应于请求,接收翻译数据,该翻译数据包括文档文本的第二语言的相应翻译部分(714)。例如,web浏览器304和/或翻译头元件310可以接收翻译数据。显示文档文本的翻译部分(716)。例如,web浏览器304可以呈现包括文档文本的翻译部分的web文档,以将文档文本的翻译部分显示于客户设备302上。例如,翻译头与文档文本一起的显示用显示格式130表示并如示例性显示204所示。在一些实现中,文档文本的翻译部分根据如图5A和图5D所示的方法被显示。在其它实现中,文档文本的翻译部分根据如图6所示的方法被显示。文档可以包含指向另一个文档的链接(例如,指向另一个web页的链接)。在一些实现中,在选择该链接之后,翻译头元件310可以使web浏览器将定义第二语言的数据包括于对另一文档的请求中。所包括的数据可以使另一文档被web浏览器自动以第二语言显示。例如,web页的文档文本可以已从西班牙语翻译成英语(例如,利用翻译元件310和上述处理)。如果包括于web页中的链接指向具有西班牙语的文本的第二页,则在选择该链接时,翻译头元件310可以使web浏览器将数据(例如,标识符)附加到关于第二 web页的请求,该请求指示请求将第二个web页的文本翻译成英语。假设第二 web页包括翻译头元件 310 (或web页或web浏览器中的另一翻译机制),第二个web页将被web浏览器自动呈现, 其文本被翻译成英语。在一些实现中,被web浏览器附加到请求(或以被标识于请求中)的数据是查询参数(例如,(F)项,URL参数)。例如,如果被请求的URL是“http://WWW. example, com”, 贝Ij web 浏览器可将“#trans|target language” 附力口至Iji青求,其中“target language (目标语言),,是第二语言。因此,请求将是例如,"http: "www. example, com ? ... #trans | target language.,,。尽管上面讨论的翻译头元件(例如310)被包括于web文档(例如306)中,但在一些实现中,翻译头元件的功能可由被安装于web浏览器304中的附加组件提供,诸如工具栏或小工具(gadget)。此外,在其它实现中,翻译头元件的功能可以在书签中提供,以使上述特征无需翻译元件也可被应用于web页。本说明书中所描述的主题和操作的实施例可以被实现于数字电子电路,或计算机软件、固件或硬件中,包括本说明书中的结构或其等效结构,或其中一个或更多个的组合。 本说明书中所描述的主题可以被实现为由数据处理装置执行或控制数据处理装置的操作的被编码于计算机存储介质上的一个或更多个计算机程序,即一个或更多个计算机程序指令的模块。作为另一个实施例或者作为附加的特征,所述程序指令可以被编码于人工产生的传播信号上,例如,机器产生的电子、光学、或电磁信号,信息被编码于这些信号上,以传输给适当的接收器装置并由数据处理装置执行。计算机存储介质可以是或被包括于计算机可读存储设备、计算机可读存储基板、随机或串行存取存储阵列或设备,或其中一个或更多个的组合。此外,尽管计算机存储介质不是传播信号,计算机存储介质可以是被编码于人工产生的传播信号上的计算机程序指令的源或目的地。计算机存储介质也可以是或者被包括于一个或更多个独立的物理部件或媒体(例如,多个光盘、磁盘或其它存储设备)。本说明书中所描述的操作可以被实现为由数据处理装置对存储于一个或更多个计算机可读存储设备或从其它来源接收的数据执行的操作。上述“数据处理装置”包括所有种类的用于处理数据的装置、设备和机器,例如可编程处理器、计算机(例如客户设备30 、片上系统,或前述一个或更多个的组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为有关计算机程序代码创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台的运行时环境、虚拟机或其中一个或更多个的组合的代码。该装置和执行环境可以实现多种不同的计算模型基础设施,例如web 服务、分布式计算和网格计算基础设施。计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译型或解释型的语言、声明型或过程型的语言,它可以被部署为任何形式,包括作为独立的程序,或模块、组件、子例程、对象,或其它适于在计算环境中使用的单元。计算机程序可以,但不是必须,对应于文件系统中的文件。程序可以被存储于包含其它程序或数据的文件的一部分中(例如,被存储于标记语言文档中的一个或更多个脚本),或被存储于专用于有关程序的单一文件中,或被存储于多个协调的文档中(例如,存储一个或更多个模块、子例程序或代码的各部分的文件)。计算机程序可以被部署成在一个计算机或多个计算机上执行,这些计算机可以被置于一个地点或分布于多个地点并通过通信网络连接。本说明书中所描述的过程和逻辑流程可以由一个或更多个可编程处理器进行,所述可编程处理器执行一个或更多个计算机程序以通过操作输入数据和产生输出来进行动作。所述过程和逻辑流程也可以由专用逻辑电路来进行,例如FPGA(现场可编程门阵列) 或ASIC(专用集成电路)。装置也可以被实现为这些专用逻辑电路。适于计算机程序的执行的处理器包括,例如,通用和专用的微处理器,以及任何种类的数字计算机的任何一个或更多个处理器。一般地,处理器从只读存储器或随机存取存储器或两者兼而有之接收指令和数据。计算机的基本要素是根据指令进行动作的处理器和存储指令和数据的一个或更多个存储设备。一般地,计算机包括一个或更多个用于存储数据的大容量存储设备,例如磁盘、磁光磁盘或光盘,或被可操作地耦合成从前述大容量存储设备接收数据或向前述大容量存储设备发送数据或两者兼而有之。但计算机不是必须有这样的设备。此外,计算机可以被嵌入到其它设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPQ接收器或便携式的存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几例。适于存储计算机程序指令和数据的设备包括一切形式的非易失性存储器、媒体和存储设备,包括例如半导体存储器设备,例如,EPR0M, EEPROM和闪存存储设备;磁盘,例如,内部硬盘或移动磁盘;磁光盘;以及⑶ROM和DVDROM 盘。处理器和存储器可以被补充于合并于专用逻辑电路中。为提供与用户的交互,本说明书中所描述的主题可以被实现于具有以下设备的计算机上显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)显示器,以将信息显示给用户;以及键盘和指点设备,例如鼠标或轨迹球,用户用它们可以提供输入给计算机。其它种类的设备也可以用于提供与用户的交互,例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;来自用户的输入可以以任何形式接收,包括声学、语音或触觉输入。此外,计算机可以通过向用户所使用的设备发送文档或从其接收文档来与用户交互;例如,响应于从用户的客户设备上的web浏览器接收的请求,向该web浏览器发送web页。本说明书中所描述的主题可以实现于计算系统中,该计算系统包括后端组件,例如数据服务器;或包括中间件组件,例如应用服务器;或包括前端组件,例如具有图形用户界面或web浏览器的客户计算机,使用户可以与本说明书中所描述的主题的实现交互;或包括一个或更多个这样的后端、中间件或前端组件的任意组合。该系统的组件可以以任何形式或介质的数字数据通信互连,例如通信网络。通信网络的例子包括局域网(LAN)和广域网(“WLAN”)、网际网络(例如互联网)和对等网络(例如,ad hoc对等网络)。计算系统可以包括客户端和服务器。一般地,客户端和服务器远离对方,并通过通信网络交互。客户端和服务器的关系依靠运行于相应的计算机上并具有客户端-服务器关系的计算机程序建立。在一些实施例中,服务器传输数据(例如,HTML页)到客户设备(例如,为了向与客户设备交互的用户显示数据和从该用户接收输入)。在客户设备产生的数据 (例如,用户交互的结果)可以在服务器从客户设备接收。尽管本说明书包含许多具体的实施细节,这些不应被解释为对本发明的范围的限制或对可能的权利要求的限制,而只是对本发明的具体实施例的特定特征的描述。在本说明书的各实施例中分开描述的某些特征也可以相互结合,实现于单一实施例中。与之相反, 在单一实施例中描述的各特征也可以单独地,或以适当的子组合的方式,实现于多个实施例中。此外,尽管在本文中各特征可能被描述为以某些组合的方式工作,甚至最初的权利要求也可能是如此,但在某些情况下所要求的组合中的一个或更多个特征可以被切除,所要求的组合可以变成子组合或子组合的变形。类似地,尽管在附图中各操作是以特定的顺序示出的,但这不应被理解为为达到理想结果这些操作必须以图中所示的特定顺序进行或连续地进行,或所有示出的操作都必须进行。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实施例中各系统组件的分离,不应被理解为所有的实施方式中都必须存在这种分离,而应理解上述程序组件和系统一般来说可以集成于单一的软件产品中或封装成多个软件产品。因此,以上所述仅是本发明的特定实施方式。其它的实施方式也落于所附的权利要求书的范围内。在一些情况下,权利要求中的步骤可以以不同的顺序执行,而且同样达到理想结果。此外,为达到理想结果,在附图中示出的各过程不一定必须以所示的顺序进行或连续地进行。在某些实现中,多任务或并行处理可能是有利的。
权利要求
1.一种计算机实现的方法,包括在客户设备处接收文档,所述文档包括要被显示在所述客户设备上的第一语言的文档文本;在所述客户设备处显示所述文档的所述文档文本; 在所述客户设备处确认所述文档文本可以被翻译成的第二语言; 确定所述第二语言不同于所述第一语言,并且只响应于所述确定而与所述文档文本一起显示翻译头,所述翻译头包括所述第二语言的文本,所述第二语言的文本描述所述翻译头中的将文档文本从所述第一语言翻译为所述第二语言的能够选择的选项;以及响应于对所述能够选择的选项的选择 在所述客户设备处确认所述文档文本中要被翻译的部分;从所述客户设备发送将所述文档文本的所述部分从所述第一语言翻译为所述第二语言的请求给翻译服务器;响应于所述请求,在所述客户设备处接收翻译数据,所述翻译数据包括所述文档文本的所述第二语言的相应翻译部分;以及在所述客户设备处显示所述文档的所述文档文本的所述翻译部分。
2.根据权利要求1所述的方法,其中所述文档文本包括各电子邮件消息的正文文本,且所述正文文本被显示为所述各电子邮件消息的表示;确认所述文档文本中要被翻译的部分包括确认所述各电子邮件消息中第一电子邮件消息的要被翻译的正文文本;确定所述第二语言不同于所述第一语言包括对于所述第一电子邮件消息的正文文本,确定所述第二语言不同于所述第一语言;从所述客户设备发送翻译所述文档文本的所述部分的请求给翻译服务器包括发送仅翻译所述第一电子邮件消息的正文文本的请求;接收包括所述文档文本的所述第二语言的相应翻译部分的翻译数据包括接收包括所述第一电子邮件消息的所述第二语言的翻译正文文本的翻译数据;以及显示所述文档的所述文档文本的所述翻译部分包括显示所述第一电子邮件消息的翻译正文文本和其它电子邮件消息的正文文本。
3.根据权利要求2所述的方法,其中所述文档用数据结构来表示,所述数据结构包括文本节点,每个文本节点包括相应电子邮件消息的相应正文文本;发送仅翻译所述第一电子邮件消息的正文文本的请求包括发送没有所述第一电子邮件消息的正文文本的请求,其中,所述请求包括所述第一电子邮件消息的标识符;以及显示所述第一电子邮件消息的所述翻译正文文本包括在相应文本节点中,用所述第一电子邮件消息的所述第二语言的翻译正文文本来替换所述第一电子邮件消息的所述第一语言的正文文本;以及呈现在相应文本节点中包括翻译正文文本的数据结构。
4.根据权利要求3所述的方法,其中所述数据结构是文档对象模型表示。
5.根据权利要求1所述的方法,其中所述文档是HTML电子邮件文档,所述文档文本包括各电子邮件消息的正文文本,且所述正文文本被显示为所述各电子邮件消息的表示;确认所述文档文本中要被翻译的部分包括确认所述各电子邮件消息中第一电子邮件消息的要被翻译的正文文本;确定所述第二语言不同于所述第一语言包括对于所述第一电子邮件消息的正文文本,确定所述第二语言不同于所述第一语言;从所述客户设备发送翻译所述文档文本的所述部分的请求给翻译服务器包括发送对 HTML数据的请求,所述HTML数据仅表示翻译的第一电子邮件消息;接收包括所述文档文本的所述第二语言的相应翻译部分的翻译数据包括接收表示翻译的第一电子邮件消息的所述HTML数据;以及显示所述文档的所述文档文本的所述翻译部分包括用表示翻译的第一电子邮件消息的所述HTML数据来替换所述HTML电子邮件文档的 HTML数据中与未翻译的第一电子邮件消息相对应的部分。
6.根据权利要求1所述的方法,其中所述文档用数据结构表示,所述数据结构包括文本节点,每个文本节点包括所述文档文本的相应文本;从所述客户设备发送翻译所述文档文本的所述部分的请求给翻译服务器包括将包括各文本节点中的文本的数据作为不同对象发送给所述翻译服务器; 显示所述文档中的所述文档文本的翻译部分包括用所述第二语言的对应翻译文本来替换各文本节点中所述第一语言的所述文本;以及呈现在各文本节点中具有所述翻译文本的数据结构。
7.根据权利要求6所述的方法,其中所述数据结构是文档对象模型表示。
8.根据权利要求1所述的方法,其中所述文档包括嵌入的翻译脚本,所述翻译脚本在由所述客户设备执行时执行这样的操作确认所述文档文本可以被翻译成的第二语言;确定所述第二语言不同于所述第一语言,并且只响应于所述确定而与所述文档文本一起显示翻译头;以及确认所述文档文本中要被翻译的部分。
9.根据权利要求1所述的方法,其中所述翻译头具有第一显示配置和第二显示配置, 其中所述第一显示配置包括提示用于所述文档文本的所述部分的翻译的输入的文本,以及定义所述第一语言和所述第二语言至少之一的文本,所述第一显示配置是在选择所述能够选择的选项之前用于所述翻译头的显示配置;所述第二显示配置包括定义所述文档的所述部分已被翻译的文本,以及定义所述第一语言或所述第二语言至少之一的文本,所述第二显示配置是在选择所述能够选择的选项之后用于所述翻译头的显示配置。
10.根据权利要求1所述的方法,其中所述翻译头包括描述所述翻译头中的第二能够选择的选项的文本,该选项用于确认由用户选择的另一第一语言,所述方法还包括响应于对所述第二能够选择的选项的选择,将所述另一第一语言包括于针对所述翻译服务器的、将所述文档文本的所述部分从所述另一第一语言翻译成所述第二语言的请求中。
11.根据权利要求10所述的方法,其中所述翻译头包括描述所述翻译头中的第三能够选择的选项的文本,该选项用于确认由用户选择的另一第二语言,所述方法还包括响应于对所述第三能够选择的选项的选择,将所述另一第二语言包括于针对所述翻译服务器的、将所述文档文本的所述部分从所述另一第一语言翻译成所述另一第二语言的请求中。
12.根据权利要求1所述的方法,其中确认第二语言包括 根据不同的各第二语言源指示符来确认多个第二语言;基于所述各第二语言源指示符来确定所述多个第二语言相对彼此的顺序;以及将最高顺序的第二语言确认为所述被确认的第二语言。
13.根据权利要求1所述的方法,其中所述文档包括指向另一文档的链接,并且,在选择所述链接时,所述方法还包括将定义所述第二语言的数据包括于对所述另一文档的请求中。
14.一种系统,包括一个或更多能够执行操作的计算机,所述操作包括在客户设备处接收文档,所述文档包括要被显示在所述客户设备上的第一语言的文档文本;在所述客户设备处显示所述文档的所述文档文本; 在所述客户设备处确认所述文档文本可以被翻译成的第二语言; 确定所述第二语言不同于所述第一语言,并且只响应于所述确定,与所述文档文本一起显示翻译头,所述翻译头包括所述第二语言的文本,所述第二语言的文本描述所述翻译头中的将文档文本从所述第一语言翻译为所述第二语言的能够选择的选项;以及响应于对所述能够选择的选项的选择 在所述客户设备处确认所述文档文本中要被翻译的部分;从所述客户设备发送将所述文档文本的所述部分从所述第一语言翻译为所述第二语言的请求给翻译服务器;响应于所述请求,在所述客户设备处接收翻译数据,所述翻译数据包括所述文档文本的所述第二语言的相应翻译部分;以及在所述客户设备处显示所述文档文本的所述翻译部分。
15.根据权利要求14所述的系统,其中所述文档文本包括各电子邮件消息的正文文本,且所述正文文本被显示为所述各电子邮件消息的表示;确认所述文档文本中要被翻译的部分包括确认所述各电子邮件消息中第一电子邮件消息的要被翻译的正文文本;确定所述第二语言不同于所述第一语言包括对于所述第一电子邮件消息的正文文本,确定所述第二语言不同于所述第一语言;从所述客户设备发送翻译所述文档文本的所述部分的请求给翻译服务器包括发送仅翻译所述第一电子邮件消息的正文文本的请求;接收包括所述文档文本的所述第二语言的相应翻译部分的翻译数据包括接收包括所述第一电子邮件消息的所述第二语言的翻译正文文本的翻译数据;以及显示所述文档中所述文档文本的所述翻译部分包括显示所述第一电子邮件消息的翻译正文文本和其它电子邮件消息的正文文本。
16.根据权利要求15所述的系统,其中所述文档用数据结构来表示,所述数据结构包括文本节点,每个文本节点包括相应电子邮件消息的相应正文文本;发送仅翻译所述第一电子邮件消息的正文文本的请求包括发送没有所述第一电子邮件消息的正文文本的请求,其中,所述请求包括所述第一电子邮件消息的标识符;以及显示所述第一电子邮件消息的所述翻译正文文本包括在相应文本节点中,用所述第一电子邮件消息的所述第二语言的翻译正文文本来替换所述第一电子邮件消息的所述第一语言的正文文本;以及呈现在所述相应文本节点中包含翻译正文文本的数据结构。
17.根据权利要求16所述的系统,其中所述数据结构是文档对象模型表示。
18.根据权利要求14所述的系统,其中所述文档用数据结构表示,所述数据结构包括文本节点,每个文本节点包括所述文档文本的相应文本;从所述客户设备发送翻译所述文档文本的所述部分的请求给翻译服务器包括将包括各文本节点中的文本的数据作为不同对象发送给所述翻译服务器; 显示所述文档中所述文档文本的翻译部分包括用所述第二语言的对应翻译文本来替换各文本节点中所述第一语言的所述文本;以及呈现在各文本节点中具有所述翻译文本的数据结构。
19.根据权利要求14所述的系统,其中所述文档包括嵌入的翻译脚本,所述翻译脚本在由所述客户设备执行时执行这样的操作确认所述文档文本可以被翻译成的第二语言;确定所述第二语言不同于所述第一语言,并且只响应于所述确定,与所述文档文本一起显示翻译头;以及确认所述文档文本中要被翻译的部分。
20.根据权利要求14所述的系统,其中所述翻译头具有第一显示配置和第二显示配置,所述第一显示配置包括提示用于所述文档文本的所述部分的翻译的输入的文本,以及定义所述第一语言和所述第二语言至少之一的文本,所述第一显示配置是在选择所述能够选择的选项之前用于所述翻译头的显示配置;所述第二显示配置包括定义所述文档的所述部分已被翻译的文本,以及定义所述第一语言或所述第二语言至少之一的文本,所述第二显示配置是在选择所述能够选择的选项之后用于所述翻译头的显示配置。
21.一种被编码于计算机可读存储介质上的计算机程序产品,其包括指令,当所述指令由数据处理装置执行时,所述指令使所述数据处理装置执行这样的操作检索包括要被显示于客户设备上的第一语言的文档文本的文档; 显示所述文档的所述文档文本; 确认所述文档文本可以被翻译成的第二语言;确定所述第二语言不同于所述第一语言,并只响应于所述确定而与所述文档文本一起显示翻译头,所述翻译头包括所述第二语言的文本,所述第二语言的文本描述所述翻译头中的将文档文本从所述第一语言翻译为所述第二语言的能够选择的选项;以及响应于对所述能够选择的选项的选择 确认所述文档文本中要被翻译的部分;向翻译服务器发送将所述文档文本的所述部分从所述第一语言翻译为所述第二语言的请求;响应于所述请求接收包括所述文档文本的所述第二语言的相应翻译部分的翻译数据;以及显示所述文档文本的所述翻译部分。
全文摘要
用于web文档的翻译的方法、系统和装置,以及计算机程序产品。确认web文档中的文档文本的原始语言。只有在原始语言不同于用户的偏好语言时,才与web文档文本一起显示翻译头。该翻译头给用户提供将文档文本或文档文本的一部分翻译成用户的偏好语言的选项。
文档编号G06Q10/00GK102460429SQ201080024759
公开日2012年5月16日 申请日期2010年4月29日 优先权日2009年5月5日
发明者乔舒亚·埃斯泰勒, 杰弗里斯·陈, 达尔恩·刘易斯 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1