US20140026032A1 - Conditional translation header for translation of web documents - Google Patents
Conditional translation header for translation of web documents Download PDFInfo
- Publication number
- US20140026032A1 US20140026032A1 US13/929,951 US201313929951A US2014026032A1 US 20140026032 A1 US20140026032 A1 US 20140026032A1 US 201313929951 A US201313929951 A US 201313929951A US 2014026032 A1 US2014026032 A1 US 2014026032A1
- Authority
- US
- United States
- Prior art keywords
- text
- language
- document
- translated
- translation
- 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.)
- Abandoned
Links
Images
Classifications
-
- G06F17/24—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
Definitions
- This specification relates to translation of text in web documents.
- a search result includes a web page title, a snippet of text extracted from the web page, and the URL of the web page.
- the URL can be provided in the form of a resource link to the web page referenced by the search result.
- the search results page can include a selectable option to translate the web page referenced by the search result.
- the user must select the option to translate the web page from within the search results page, and cannot select the option to translate the page from the actual web page itself.
- one aspect of the subject matter described in this specification can be implemented in methods that include receiving, at a client device, a document comprising document text in a first language to be displayed on the client device; displaying, at the client device, the document text of the document; identifying, at the client device, a second language to which the document text may be translated; determining that the second language is different from the first language and displaying, only in response to the determination, a translation header with the document text, the translation header including text in the second language describing a selectable option in the translation header to translate document text from the first language to the second language; and in response to a selection of the selectable option: identifying, at the client device, a portion of the document text to be translated; sending a request from the client device to a translation server to translate the portion of the document text from the first language to the second language; in response to the request, receiving at the client device translation data including a corresponding translated portion of the document text in the second language; and displaying, at the client device, the translated portion of the document
- the translation header is shown on a rendered web document (e.g., a web page) only when appropriate, such as when the web document text is in a language other than a user preferred language.
- the translation header is prominently displayed with the web document text.
- Such a configuration permits a user to quickly identify that translation is available and request translation of the web document text without navigating through a menu or searching for a translation mechanism on the web document or in a toolbar of the operative web browser program.
- the user need not navigate back to the search result page to request a translation of text within the web document if a translation of web document text is determined to be needed. Instead, the translation header is prominently displayed with the web document text and the user may request a translation from within the web document.
- FIGS. 1A-1C illustrate example block diagrams of web document display formats of a web document.
- FIG. 2 illustrates an example display of a web document and an example display of a translated version of the web document.
- FIG. 3 illustrates an example architecture of a system that provides a conditional translation header for translation of web document text in a web document.
- FIG. 4 illustrates an example DOM representation of a web document having web document text and a translation header element.
- FIGS. 5A and 5D respectively are flow diagrams for an example method of translating text in email web pages, and an alternate example method of translating text in email web pages.
- FIGS. 5B and 5C respectively illustrate an example display of an HTML email page, and an example display of the email page with translated text.
- FIG. 6 is a flow diagram for an example method for translating text in an HTML web page.
- FIG. 7 is a flow diagram for an example method for providing a conditional translation header for translation of web document text in a web document.
- a web document is a document annotated with a markup language that is provided to or accessible by a client device over a network, such as the Internet.
- An exemplary web document is an HTML document, which can be rendered on the client device by use of a web browser program.
- the translation header is an interactive object that provides a selectable option allowing a user to request translation of the web document text to a specified language different from the language in which the web document text is originally displayed to the user.
- a script i.e., executable or interpreted program instructions
- the script causes the web browser program to display the translation header only if the client device (e.g., by execution of the script) determines the language of the web document text to be different from a specified language associated with the client device.
- a client device is an electronic device that is under control of a user and is capable of requesting and receiving web documents and other content over a network, such as the Internet or an intranet.
- Example client devices include personal computers, mobile communication devices, and other devices that can send and receive data over the network.
- FIGS. 1A-1C illustrate example block diagrams of web document display formats 110 , 120 and 130 of a web document 105 .
- the display format of the web document 105 is determined based on the original language of the web document text (i.e., the language of the text of the web document as created or authored and in which it is provided to client devices in response to a request from the client device), one or more specified languages, and whether translation of the web document text has occurred, as explained below.
- web document text is text that is rendered and visible on a client device, e.g., text associated with a text node in a document object model (DOM).
- DOM document object model
- Display format 110 includes web document text 140 in an original language and does not include a conditional translation header.
- the web document 105 is displayed in display format 110 if the original language of the web document text is the same as a specified language of a client device.
- the web document 105 will be displayed in the display format 110 if the original language is English and specified language of a client device is also English.
- Display format 120 includes web document text 140 in an original language and a conditional translation header 142 with translation header text in a specified language, such as a preferred user language that is different from the original language.
- the web document 105 is displayed in display format 120 if the original language of the web document text 140 is different from the specified language of a client device, and if the translation process for the web document text has not been initiated and/or completed. For example, the web document 105 will be displayed in the display format 120 if the original language is English and the specified language is German, and the translation process for the web document text 140 has not been initiated.
- Display format 130 includes web document text 140 ′ in the specified language and the translation header text in the specified language.
- the web document 105 is displayed in display format 130 if the original language of the web document text is different from the specified language and the translation process for the web document text has been completed. For example, the web document 105 will be displayed in the display format 130 if the original language is English and the specified language is German, and the translation process for the web document text 140 has been completed.
- the same web document is used, e.g., the same HTML document.
- the translation header 142 is only shown if the original language of the web document text 140 is different from the specified language of a client device
- FIG. 2 illustrates an example display 202 of a web document 205 and an example display 204 of a translated version of the web document 205 .
- the example displays 202 and 204 are generated by a web browser program on a client device for which the English language is specified.
- the web browser displays the web document 205 with web document text 240 in the original language and a conditional translation header 246 with translation header text in the specified language (e.g., display format 120 of FIG. 1B ).
- the original language of the web document text 240 is Spanish and the specified language of the client device is English.
- the translation header 246 includes translation header text prompting an input for translation of the web document text 240 , e.g., “Translate this page?” and, optionally, translation header text identifying the original language of the web document text 240 , e.g., “This page is in Spanish.”
- the input prompted by the translation header text can be, for example, user selection of a selectable option such as a “Translate” button 206 .
- the translation header text also identifies the specified language (e.g., the preferred language).
- the translation header 246 may include the text “Translate this page from Spanish to English?”
- the translation header 246 illustrated in and described with reference to display 202 is a first display configuration of the translation header 246 .
- the translation header 246 is displayed in the first display configuration prior to a selection of the selectable translate option, e.g., Translate button 206 .
- a selectable option in the translation header can allow a user to identify the original language of the web document text 240 , as opposed to relying on, for example, an automated language identification process.
- the translation header selectable option can allow a user to identify the language to which the web document text 240 is to be translated. These options permit a user to explicitly define the language of the web document text 240 and/or the language to which the web document text 240 will be translated.
- the web browser displays the web document 205 with web document text 240 in the specified language, and the translation header 246 with translation header text in the specified language (e.g., display format 130 of FIG. 1C ).
- the translation header 246 includes translation header text identifying that the web document text 240 , or a portion of the web document text 240 , has been translated and, optionally, one or both of the original language or specified language.
- the translation header 246 may include “This page has been translated to English.”
- the translation header 246 also includes a language selection option 208 to allow a user to select another language to which the web document text 240 is to be translated.
- the language selection option 208 can be a drop down menu listing available languages. Selection of a language from the language selection option 208 causes the web document text to be translated and displayed in the selected language.
- the translation header 246 also includes another selectable option 210 to return the display of the web document as shown in display 204 to display 202 .
- selecting the selectable option 210 causes the browser to display the web document text 240 in the original language, i.e., Spanish.
- the translation header 246 illustrated in and described with reference to display 204 is displayed in a second display configuration.
- the translation header 246 is displayed in the second display configuration subsequent to a selection of the selectable translate option, e.g., Translate button 206 .
- FIG. 3 illustrates an example architecture of a system 300 that provides a conditional translation header for translation of web document text 312 in a web document 306 .
- a client device 302 runs a web document display program, e.g., a web browser 304 , to render the web document 306 .
- the web document 306 includes web document text 312 and a translation header element 310 .
- the web document text 312 is textual content displayed when the web browser 304 renders the web document 306 .
- the translation header element 310 is program code (e.g., JavaScript) executable by the web browser 304 .
- the translation header element 310 provides for the display of the translation header 246 and the functionality of the translation header 246 .
- the translation header element 310 is described as performing actions, it is meant that the web browser 304 is executing the program code defined by the translation header element 310 to cause the actions to be performed.
- the web browser 304 retrieves the web document 306 .
- the web browser 304 can retrieve the web document 306 , for example, by sending a request for the URL of the web document according to the retrieval method specified by its URL, such as by using a hypertext transfer protocol (HTTP).
- HTTP hypertext transfer protocol
- the translation header element 310 identifies the original language (“first language”) of the web document text 312 .
- the original language of the web document text 312 is specified in the web document 306 or specified in metadata retrieved with the web document 306 .
- the publisher of the web document 306 may embed data identifying the original language, such as a language tag.
- the web document 306 may be handled by an agent before reaching the web browser 304 , such as an email message being handled by an email server.
- the agent or a system responsive to the agent may process the web document 306 to identify the original language or language(s) of the text of the web document and then send data identifying the original language(s) to web browser 304 along with the web document 306 .
- the translation header element 310 identifies the original language from the provided information. However, if the original language is not specified in the web document 306 or associated metadata, then in some implementations the translation header element 110 can query, for example, a translation server 308 for identification of the original language. In other implementations the translation header element 310 can receive input (e.g., from a selectable option displayed in the translation header) from a user identifying the original language, for example, from a drop down menu or a text box rendered by the web browser 304 . In still other implementations, the translation header element 310 can access a language identification program resident on the client device 302 . The language identification program can process the text of the web document 306 to identify the language(s) of the web document text 312 . Any number of known language identification or detection techniques can be used by the client device or translation service.
- the translation header element 310 identifies one or more specified languages (“second languages”) in which web document text 312 is to be displayed on the client device 302 .
- the specified languages are typically languages that the user of the client device 302 prefers. These preferences can be either explicit or implicit, and thus the specified languages can be identified in numerous ways.
- the specified languages can be identified from various source indicators such as an (A) HTTP request header (Accept-Language), (B) a last-changed target language (e.g., second language) used by, for example, the translation header element 310 and saved in a cookie on the client device and reported by the translation header element 310 , (C) a last-used target language with a translation server/service, or (D) a last-used user interface language with a translation server/service.
- the specified languages can be identified from, for example, (E) web browser settings or (F) URL parameters (e.g., a query parameter).
- the specified languages can be ordered or prioritized according to their source and/or how recently a corresponding translation occurred.
- the translation header element 310 can prioritize (e.g., order) the specified languages, for example, according to a source ranking/ordering hierarchy.
- the hierarchy may dictate that the second language is determined by the following scheme with reference to the itemization above: (F)>(B)>(C)>(D)>(E)>(A).
- the specified language identified from the URL parameter (F) if present, is the second language to which the text is translated (i.e., a highest ordered second language).
- the specified language identified from the URL parameter (F) may be the most reliable source for identifying the specified language.
- other schemes and hierarchies can be used.
- the translation header element 310 determines whether the original language is different from the specified language (e.g., the selected, specified language if more than one). If the languages are different, then the translation header element 310 causes the web browser 304 to concurrently display the translation header 246 , with translation header text in the specified language, with the web document text 312 in the original language, and any other display content included in the web document 306 , such as images (e.g., display format 120 of FIG. 1B ). If the languages are not different, then the web document text 312 and any other display content included in the web document 306 are displayed without the translation header 246 (e.g., display format 110 of FIG. 1A ).
- the specified language e.g., the selected, specified language if more than one. If the languages are different, then the translation header element 310 causes the web browser 304 to concurrently display the translation header 246 , with translation header text in the specified language, with the web document text 312 in the original language, and any other display content included in the web document 306
- the translation header element 310 can detect selections of selectable options in the translation header, such as a user click on the Translate button 206 . In response to the selection of the selectable option 206 , translation header element 310 identifies the web document text 312 to be translated or a portion of the web document text to be translated (i.e., if less than all of the web document text is eligible for being translated by the translation server 308 ). In some implementations, from the displayed web document text, a user can select the portion of web document text 312 to be translated by, for example, selecting certain web document text 312 with a mouse or other user input device.
- the translation header element 310 can identify the web document text 312 to be translated or the portion of the web document text 312 to be translated by use of a document object model (DOM) representation of the web document 306 .
- the web browser 304 can include a layout engine 314 to parse the web document 306 to generate a DOM representation or, equivalently, a data structure representation of the document 306 .
- the layout engine 314 is distinct to the web browser 304 , but is in data communication with the web browser 304 and works in concert with the web browser 304 to render web documents.
- the DOM representation provides a conduit through which scripts executed by the web browser 304 can inspect and modify the web document 306 .
- the DOM representation permits the translation header element 310 to identify and access web document text 312 in the web document for translation.
- FIG. 4 illustrates an example DOM representation of a web document 400 having web document text and a translation header element.
- the DOM representation represents a web document as a hierarchical arrangement of nodes with each node corresponding to a portion of the web document.
- There are various types of nodes for example, root nodes (e.g., the root node 404 ), element nodes (e.g., the title element node 406 ), text nodes (e.g., text nodes 408 , 410 , 412 ) and script nodes (e.g., script node 414 ).
- a text node is a node corresponding to web document text (e.g., 312 ) in the web document (e.g., 306 ), and includes text stored in the node.
- An element node is a node corresponding to an annotation in the web document such as a markup language annotation.
- a script node includes an executable script in the web document such as the translation header element. The arrangement of the nodes is determined by the hierarchical relationships between the nodes. The hierarchical relationships of the nodes are attributable to nested annotations in a web document.
- the translation header element 310 Once the translation header element 310 has identified the web document text 312 to be translated (e.g., by use of the DOM representation), the translation header element 310 sends a request to the translation server 308 to translate the relevant web document text 312 to the specified language. In response to the request, the translation server 308 provides translation data to the client device 302 .
- the translation data include the translated web document text in the specified language.
- the web browser 304 can render the web document 306 with translated web document text (e.g., display format 130 of FIG. 1C ).
- FIGS. 5A and 5D respectively are flow diagrams for an example method of translating text in email web pages, and an alternate example method of translating text in email web pages.
- FIGS. 5B and 5C respectively illustrate an example display 560 of an HTML email page, and an example display 540 of the email page with translated text.
- the example displays 540 , 560 are generated by a web browser (e.g., 304 ).
- the web documents in displays 540 and 560 are email pages displaying email messages, and the web document text is the body text of the email messages.
- the body text are displayed as representations of the email messages.
- the body text of each email message can be included in a respective text node in a DOM representation. Additional text can also be included, for example, the subject text of the email message.
- Display 560 illustrates an email page displaying multiple email messages, e.g., an email conversation.
- display 560 shows first, second and third email messages 542 , 544 and 546 , respectively, although only email message 542 is expanded to show its body text 548 .
- the original language (first language) of the body text in display 560 is Spanish.
- the body text of a first email message of the email messages to be translated is identified ( 502 ).
- the body text of a first email message (e.g., 542 ) of one or more displayed email messages can be identified as the body text of an active email message.
- an active email message is an email message that is currently opened or otherwise selected, e.g., as indicated by a cursor position or other user inputs.
- email message 542 is the active email message as it is expanded (e.g., open).
- the body text 548 can be identified by its respective text node.
- the web browser 304 and/or the client device 302 can, by use of the translation header element 310 , identify the body text to be translated.
- the translation header element 310 can, for example, determine that the second language is different from the first language and display the translation header with the body text of the first email message.
- Display 560 shows the translation header 550 in a first display configuration with the body text 548 .
- the translation header text identifies the second language (e.g., specified language) as English, i.e., the language to which the Spanish text should be translated.
- each expanded email message that includes body text not in the specified language can be displayed with a translation header.
- each message could be displayed with a translation header if the respective body texts were not in the specified language.
- the translation header element 310 can also cause the web browser 304 to display a “Translate conversation” button 553 to cause all email messages in the email conversation to be displayed with translated text.
- a request is sent to the translation server to translate the body text of only the first email message ( 506 ).
- the request is sent only if the second language is different from the first language.
- the web browser 304 can, for example, send a request to the translation server 308 to translate the body text of only the first email message.
- the request to translate the body text of the first email message can be a request to translate the subject of the first email message and the body of the first email message.
- the request of step 506 is a request sent to the translation server without the body text of the first email message ( 508 ).
- the web browser 304 can, for example, send the request to the translation server 308 .
- the translation server can be in data communication (e.g., Remote Procedure Call protocol) with the email server handling the first email message. Because the email server distributed the first email message to the client device, it has access to the first email message or access to a copy of the first message.
- the request can include an identifier of the first email message, instead of the body text of the first email message.
- the identifier of the first email message can be resolved by the email server or the translation server to identify the first email message.
- the translation server can then translate the body text of the email message.
- Translation data including translated body text of the first email message in the second language are received ( 510 ).
- the translation data include the translated body text of the first email message in the second language.
- the web browser 304 can, for example, receive the translation data from the translation server 308 .
- the translated body text of the first email message and the body text of the other email messages are displayed ( 512 ).
- the web browser 304 can, for example, render the document including the body text of the first email message and the body text of the other email messages for display on the client device 302 .
- the body text of the other email messages may only include the subject of those email messages if the other email messages are in a collapsed display format.
- Display 540 shows the translated body text of the first email message (e.g., email message 542 ) in the second language (i.e., English) and a collapsed display of the other email messages (e.g., email messages 544 and 546 ).
- the display of step 512 optionally, includes replacing, in the respective text node, the body text of the first email message in the first language with the translated body text of the first email message in the second language ( 514 ), and rendering the data structure having the translated body text included in the respective text node ( 516 ).
- the translation header element 310 can, for example, replace the body text in the first language with the translated body text in the second language in the respective text node and render the data structure having the translated body text included in the respective text node.
- Display 540 shows the translated body text 548 of the first email message 542 .
- steps 582 and 584 are the same as steps 502 and 504 , respectively, explained above with reference to FIG. 5A .
- a request is sent for HTML data representing only the translated first email message ( 586 ).
- the HTML data can include, in addition to the body text of the first email message, for example, formatting information for the first email message, quoted text detection information for the first email message, and hiding information for the first email message.
- the web browser 304 can, for example, send a request for HTML data representing the translated first email message. In some implementations, HTML data for more than one email message can be requested.
- the HTML data representing the translated first email message are received ( 588 ).
- the web browser 304 can, for example, receive the HTML data from the translation server 308 .
- a portion of HTML data of the HTML email document corresponding to the untranslated first email message is replaced with the HTML data representing the translated first email message ( 590 )
- the translation header element 310 can replace the portion of HTML data of the email page corresponding to the untranslated first email message with the HTML of the translated first email message.
- the email page including the HTML of the translated first message can then be rendered by the web browser and displayed on the client device without a reload of the email page.
- the translation header element 310 can cause the web browser to render the HTML of the translated first email message for display on another portion of the displayed email page, such as in a message box, pop up box, tool tip or designated translation display area.
- the translation header 550 is displayed in a second display configuration.
- the second display configuration indicates that the portion of the document has been translated subsequent to a selection of the selectable option shown in FIG. 5B (e.g., the “Translate” button).
- the user can select “View original message” to view the message in its original form, or select “Change language” to translate the body text of the message to another language. If the latter option is selected, the original text of the email message is translated to a new language specified by the user, i.e., the process steps 506 - 512 above are re-executed to provide a translation of the original text to another different language.
- the “Change Language” option causes the original text in the email message to be translated to the new language as opposed to the currently translated text (e.g., in English) to be translated to the new language.
- FIG. 6 is a flow diagram for an example method 600 for translating text in an HTML web page.
- the web document is an HTML web page, and is represented by a data structure.
- the data structure includes text nodes, each text node includes respective text of the HTML web page text.
- the data is the DOM representation of the document or a copy of the DOM representation.
- the data is sent in multiple segments, i.e., portions of the data are individually sent to the translation server.
- the web browser 304 can, for example, send a request to the translation server 308 to translate the text.
- the text in the first language in the text nodes are replaced with corresponding translated text in the second language ( 604 ).
- the translated text are received from the translation server.
- the translation header element 310 can replace text in the first language in the text nodes with corresponding translated text in the second language.
- the data structure having the translated text in the text nodes is rendered ( 606 ).
- the data structure is a DOM representation and the web browser renders the DOM representation to display the HTML web page with the translated text.
- the web browser 304 can, for example, render the data structure having the translated text in the text nodes.
- FIG. 7 is a flow diagram for an example method 700 for providing a conditional translation header for translation of web document text in a web document.
- example method can be implemented on a computer with a web browser.
- a document comprising document text in a first language to be displayed on a client device is received ( 702 ).
- the web browser 304 can, for example, retrieve the document by using a hypertext transfer protocol (HTTP) for the client device 302 .
- HTTP hypertext transfer protocol
- the first language of the document text can be identified from a user input.
- the user input can be from selection of a selectable option in the translation header displayed with the document text.
- the document text of the document is displayed ( 704 ).
- the document can be a markup language document and the web browser 304 can render the markup language document for display on the client device 302 .
- a second language to which the document text may be translated is identified ( 706 ).
- the second language can be a user's preferred language (e.g., the native language of the user).
- the user's preferred language can be determined, for example, from local settings on the client device (e.g., 302 ), such as web browser language settings, or from a cookie including data from past translations and the corresponding second languages (e.g., the data may indicate that a user requested translation to a certain second language).
- the translation header element 310 can, for example, identify the second language.
- the second language can be identified from a user input.
- the user input can be from selection of a selectable option in the translation header.
- the second language is determined to be different from the first language and, only in response to the determination, a translation header is displayed with the document text ( 708 ).
- the translation header includes text in the second language describing a selectable option in the translation header to translate document text from the first language to the second language.
- the display of a translation header with document text is represented by display format 120 and shown in example display 202 .
- the translation header is displayed simultaneously or substantially simultaneously with the display of the document text. In other implementations, the translation header disappears if, after a predefined time period, the user does not select a translation option.
- the translation header element 310 can, for example, determine that the second language is different from the first language, and the web browser 304 can, for example, render the document including the translation header 346 and the document text 312 .
- a portion of the document text to be translated is identified ( 710 ).
- the portion of the document text can be the entire document text or less than the entire document text.
- the portion of document text is identified based on the type of document. For example, if the document is an HTML web page then the portion of the document text is all of the document text that can be translated (e.g., some document text may be identified as non-translatable by a “no translate” flag).
- the portion of the document text is the portion of the document text corresponding to the active email message.
- the portion of document text is identified based on user input, such as highlighting a portion of the document text.
- the translation header element 310 and/or the web browser 304 can, for example, identify a portion of the document text to be translated.
- a request from the client device is sent to a translation server to translate the portion of the document text from the first language to the second language ( 712 ).
- the web browser 304 can, for example, send a request to a translation server 308 to translate the portion of the document text from the first language to the second language.
- the request is sent in accord with the method described in FIGS. 5A and 5D In other implementations, the request is sent in accord with the method described in FIG. 6 .
- the translation header may provide a selectable option by which a user can designate the first language.
- translation data including a corresponding translated portion of the document text in the second language is received ( 714 ).
- the web browser 304 and/or the translation header element 310 can receive the translation data.
- the translated portion of the document text is displayed ( 716 ).
- the web browser 304 can, for example, render the web document including the translated portion of the document text to display the translated portion of the document text on the client device 302 .
- the display of a translation header with document text is represented by display format 130 and shown in example display 204 .
- the translated portion of the document text is displayed in accord with the method described in FIGS. 5A and 5D .
- the translated portion of the document text is displayed in accord with the method described in FIG. 6 .
- the document can contain a link to another document (e.g., a link to another web page).
- the translation header element 310 can cause the web browser to include data defining the second language in a request for the another document.
- the included data can cause the another document to be automatically displayed by the web browser in the second language.
- the document text of a web page may have been translated from Spanish to English (e.g., by use of the translation element 310 and the process described above).
- the translation header element 310 can cause the web browser to append data (e.g., an identifier) to the request for the second web page indicating that translation of the second web page's text to English is requested.
- data e.g., an identifier
- the second web page will automatically be rendered by the web browser with its text translated to English.
- the data appended to the request (or otherwise identified in the request) by the web browser is a query parameter (e.g., item (F), a URL parameter). For example, if the requested URL is “http://www.example.com,” then the web browser can append “#trans
- the translation header element (e.g., 310 ) has been discussed above as being included in the web document (e.g., 306 ), in some implementations the functionality of the translation header element is provided in an add-in component installed in the web browser 304 , such as a toolbar or gadget. Further, in other implementations, the functionality of the translation header element is provided in a bookmarklet to allow the above described features to be utilized for a web page without a translation element.
- Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage medium for execution by, or to control the operation of, data processing apparatus.
- the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- a computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them.
- a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal.
- the computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
- the operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
- the term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer such as the client device 302 , a system on a chip, or multiple ones, or combinations, of the foregoing
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- the apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program may, but need not, correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, subprograms, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
- Devices suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CDROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a backend component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such backend, middleware, or frontend components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- LAN local area network
- WAN wide area network
- inter-network e.g., the Internet
- peer-to-peer networks e.g., ad hoc peer-to-peer networks.
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device).
- client device e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device.
- Data generated at the client device e.g., a result of the user interaction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Machine Translation (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 12/533,613, filed Jul. 31, 2009, which claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 61/175,739, entitled “Conditional Translation Header for Translation of Web Documents,” filed May 5, 2009. The entire disclosure of each of the above applications is incorporated herein by reference.
- This specification relates to translation of text in web documents.
- The proliferation of the Internet has made web documents in many different languages readily accessible to users. Various web document translation mechanisms are available to assist a user in reading web document text displayed in a language unfamiliar to the user. Typically such translation mechanisms are integrated into and accessible through a toolbar of a web browser program or are provided by the web page itself (e.g., a script embedded within the web page). However, the translation cues provided by these translation mechanisms are static, i.e., shown to users regardless of the language in which the text of a web document is displayed.
- Another translation mechanism is integrated into a search results page that displays search results. A search result includes a web page title, a snippet of text extracted from the web page, and the URL of the web page. The URL can be provided in the form of a resource link to the web page referenced by the search result. If the text of the web page referenced by a search result is in a language that is different from a preferred language specified for a browser on which the search results are displayed, the search results page can include a selectable option to translate the web page referenced by the search result. However, the user must select the option to translate the web page from within the search results page, and cannot select the option to translate the page from the actual web page itself.
- In general, the subject matter of this specification describes technologies relating to conditional translation headers for translating web document text.
- In general, one aspect of the subject matter described in this specification can be implemented in methods that include receiving, at a client device, a document comprising document text in a first language to be displayed on the client device; displaying, at the client device, the document text of the document; identifying, at the client device, a second language to which the document text may be translated; determining that the second language is different from the first language and displaying, only in response to the determination, a translation header with the document text, the translation header including text in the second language describing a selectable option in the translation header to translate document text from the first language to the second language; and in response to a selection of the selectable option: identifying, at the client device, a portion of the document text to be translated; sending a request from the client device to a translation server to translate the portion of the document text from the first language to the second language; in response to the request, receiving at the client device translation data including a corresponding translated portion of the document text in the second language; and displaying, at the client device, the translated portion of the document text of the document.
- Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages. The translation header is shown on a rendered web document (e.g., a web page) only when appropriate, such as when the web document text is in a language other than a user preferred language.
- Selectively displaying the translation header eliminates the display footprint of the translation header when translation is not needed, thus maximizing the display area for the web document content.
- When translation of web document text is determined to be needed, the translation header is prominently displayed with the web document text. Such a configuration permits a user to quickly identify that translation is available and request translation of the web document text without navigating through a menu or searching for a translation mechanism on the web document or in a toolbar of the operative web browser program.
- Additionally, when a document is provided in response to selecting a search result, the user need not navigate back to the search result page to request a translation of text within the web document if a translation of web document text is determined to be needed. Instead, the translation header is prominently displayed with the web document text and the user may request a translation from within the web document.
- The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
-
FIGS. 1A-1C illustrate example block diagrams of web document display formats of a web document. -
FIG. 2 illustrates an example display of a web document and an example display of a translated version of the web document. -
FIG. 3 illustrates an example architecture of a system that provides a conditional translation header for translation of web document text in a web document. -
FIG. 4 illustrates an example DOM representation of a web document having web document text and a translation header element. -
FIGS. 5A and 5D respectively are flow diagrams for an example method of translating text in email web pages, and an alternate example method of translating text in email web pages. -
FIGS. 5B and 5C respectively illustrate an example display of an HTML email page, and an example display of the email page with translated text. -
FIG. 6 is a flow diagram for an example method for translating text in an HTML web page. -
FIG. 7 is a flow diagram for an example method for providing a conditional translation header for translation of web document text in a web document. - Like reference symbols in the various drawings indicate like elements.
- This specification relates to displaying a conditional translation header in a rendered web document only if the web document includes text in a language other than one or more specified languages, such as a user's preferred language. A web document is a document annotated with a markup language that is provided to or accessible by a client device over a network, such as the Internet. An exemplary web document is an HTML document, which can be rendered on the client device by use of a web browser program.
- The translation header is an interactive object that provides a selectable option allowing a user to request translation of the web document text to a specified language different from the language in which the web document text is originally displayed to the user. In some implementations, a script (i.e., executable or interpreted program instructions) is included in the web document and executed by the web browser program. The script causes the web browser program to display the translation header only if the client device (e.g., by execution of the script) determines the language of the web document text to be different from a specified language associated with the client device.
- A client device is an electronic device that is under control of a user and is capable of requesting and receiving web documents and other content over a network, such as the Internet or an intranet. Example client devices include personal computers, mobile communication devices, and other devices that can send and receive data over the network.
-
FIGS. 1A-1C illustrate example block diagrams of webdocument display formats web document 105. The display format of theweb document 105 is determined based on the original language of the web document text (i.e., the language of the text of the web document as created or authored and in which it is provided to client devices in response to a request from the client device), one or more specified languages, and whether translation of the web document text has occurred, as explained below. As used herein, web document text is text that is rendered and visible on a client device, e.g., text associated with a text node in a document object model (DOM). -
Display format 110 includesweb document text 140 in an original language and does not include a conditional translation header. Theweb document 105 is displayed indisplay format 110 if the original language of the web document text is the same as a specified language of a client device. For example, theweb document 105 will be displayed in thedisplay format 110 if the original language is English and specified language of a client device is also English. -
Display format 120 includesweb document text 140 in an original language and aconditional translation header 142 with translation header text in a specified language, such as a preferred user language that is different from the original language. Theweb document 105 is displayed indisplay format 120 if the original language of theweb document text 140 is different from the specified language of a client device, and if the translation process for the web document text has not been initiated and/or completed. For example, theweb document 105 will be displayed in thedisplay format 120 if the original language is English and the specified language is German, and the translation process for theweb document text 140 has not been initiated. -
Display format 130 includesweb document text 140′ in the specified language and the translation header text in the specified language. Theweb document 105 is displayed indisplay format 130 if the original language of the web document text is different from the specified language and the translation process for the web document text has been completed. For example, theweb document 105 will be displayed in thedisplay format 130 if the original language is English and the specified language is German, and the translation process for theweb document text 140 has been completed. - For each of the
display formats translation header 142, however, is only shown if the original language of theweb document text 140 is different from the specified language of a client device -
FIG. 2 illustrates anexample display 202 of aweb document 205 and anexample display 204 of a translated version of theweb document 205. The example displays 202 and 204 are generated by a web browser program on a client device for which the English language is specified. - In
example display 202 the web browser displays theweb document 205 withweb document text 240 in the original language and aconditional translation header 246 with translation header text in the specified language (e.g.,display format 120 ofFIG. 1B ). For example, in thedisplay 202 the original language of theweb document text 240 is Spanish and the specified language of the client device is English. Thetranslation header 246 includes translation header text prompting an input for translation of theweb document text 240, e.g., “Translate this page?” and, optionally, translation header text identifying the original language of theweb document text 240, e.g., “This page is in Spanish.” - The input prompted by the translation header text can be, for example, user selection of a selectable option such as a “Translate”
button 206. In some implementations the translation header text also identifies the specified language (e.g., the preferred language). For example, thetranslation header 246 may include the text “Translate this page from Spanish to English?” Thetranslation header 246 illustrated in and described with reference to display 202 is a first display configuration of thetranslation header 246. For example, thetranslation header 246 is displayed in the first display configuration prior to a selection of the selectable translate option, e.g.,Translate button 206. - In some implementations, a selectable option in the translation header can allow a user to identify the original language of the
web document text 240, as opposed to relying on, for example, an automated language identification process. Optionally, or alternatively, the translation header selectable option can allow a user to identify the language to which theweb document text 240 is to be translated. These options permit a user to explicitly define the language of theweb document text 240 and/or the language to which theweb document text 240 will be translated. - In
example display 204 the web browser displays theweb document 205 withweb document text 240 in the specified language, and thetranslation header 246 with translation header text in the specified language (e.g.,display format 130 ofFIG. 1C ). Thetranslation header 246 includes translation header text identifying that theweb document text 240, or a portion of theweb document text 240, has been translated and, optionally, one or both of the original language or specified language. For example, thetranslation header 246 may include “This page has been translated to English.” - In some implementations, the
translation header 246 also includes alanguage selection option 208 to allow a user to select another language to which theweb document text 240 is to be translated. For example, thelanguage selection option 208 can be a drop down menu listing available languages. Selection of a language from thelanguage selection option 208 causes the web document text to be translated and displayed in the selected language. - In some implementations, the
translation header 246 also includes anotherselectable option 210 to return the display of the web document as shown indisplay 204 to display 202. Thus selecting theselectable option 210 causes the browser to display theweb document text 240 in the original language, i.e., Spanish. Thetranslation header 246 illustrated in and described with reference to display 204 is displayed in a second display configuration. For example, thetranslation header 246 is displayed in the second display configuration subsequent to a selection of the selectable translate option, e.g.,Translate button 206. -
FIG. 3 illustrates an example architecture of asystem 300 that provides a conditional translation header for translation ofweb document text 312 in aweb document 306. Aclient device 302 runs a web document display program, e.g., aweb browser 304, to render theweb document 306. - The
web document 306 includesweb document text 312 and atranslation header element 310. Theweb document text 312 is textual content displayed when theweb browser 304 renders theweb document 306. Thetranslation header element 310 is program code (e.g., JavaScript) executable by theweb browser 304. Thetranslation header element 310 provides for the display of thetranslation header 246 and the functionality of thetranslation header 246. - For convenience, when the
translation header element 310 is described as performing actions, it is meant that theweb browser 304 is executing the program code defined by thetranslation header element 310 to cause the actions to be performed. - The
web browser 304 retrieves theweb document 306. Theweb browser 304 can retrieve theweb document 306, for example, by sending a request for the URL of the web document according to the retrieval method specified by its URL, such as by using a hypertext transfer protocol (HTTP). Thetranslation header element 310 identifies the original language (“first language”) of theweb document text 312. - In some scenarios, the original language of the
web document text 312 is specified in theweb document 306 or specified in metadata retrieved with theweb document 306. For example, the publisher of theweb document 306 may embed data identifying the original language, such as a language tag. - In other examples, the
web document 306 may be handled by an agent before reaching theweb browser 304, such as an email message being handled by an email server. The agent or a system responsive to the agent may process theweb document 306 to identify the original language or language(s) of the text of the web document and then send data identifying the original language(s) toweb browser 304 along with theweb document 306. - In such scenarios described above, the
translation header element 310 identifies the original language from the provided information. However, if the original language is not specified in theweb document 306 or associated metadata, then in some implementations thetranslation header element 110 can query, for example, atranslation server 308 for identification of the original language. In other implementations thetranslation header element 310 can receive input (e.g., from a selectable option displayed in the translation header) from a user identifying the original language, for example, from a drop down menu or a text box rendered by theweb browser 304. In still other implementations, thetranslation header element 310 can access a language identification program resident on theclient device 302. The language identification program can process the text of theweb document 306 to identify the language(s) of theweb document text 312. Any number of known language identification or detection techniques can be used by the client device or translation service. - The
translation header element 310 identifies one or more specified languages (“second languages”) in whichweb document text 312 is to be displayed on theclient device 302. The specified languages are typically languages that the user of theclient device 302 prefers. These preferences can be either explicit or implicit, and thus the specified languages can be identified in numerous ways. For example, from a network server side, the specified languages can be identified from various source indicators such as an (A) HTTP request header (Accept-Language), (B) a last-changed target language (e.g., second language) used by, for example, thetranslation header element 310 and saved in a cookie on the client device and reported by thetranslation header element 310, (C) a last-used target language with a translation server/service, or (D) a last-used user interface language with a translation server/service. From a client device side, the specified languages can be identified from, for example, (E) web browser settings or (F) URL parameters (e.g., a query parameter). - If more than one specified language is identified (e.g., from one or both of the server side or client device side) then the specified languages can be ordered or prioritized according to their source and/or how recently a corresponding translation occurred. In some implementations, the
translation header element 310 can prioritize (e.g., order) the specified languages, for example, according to a source ranking/ordering hierarchy. For example, the hierarchy may dictate that the second language is determined by the following scheme with reference to the itemization above: (F)>(B)>(C)>(D)>(E)>(A). Thus in this example the specified language identified from the URL parameter (F), if present, is the second language to which the text is translated (i.e., a highest ordered second language). In some implementations, the specified language identified from the URL parameter (F) may be the most reliable source for identifying the specified language. However, other schemes and hierarchies can be used. - The
translation header element 310 determines whether the original language is different from the specified language (e.g., the selected, specified language if more than one). If the languages are different, then thetranslation header element 310 causes theweb browser 304 to concurrently display thetranslation header 246, with translation header text in the specified language, with theweb document text 312 in the original language, and any other display content included in theweb document 306, such as images (e.g.,display format 120 ofFIG. 1B ). If the languages are not different, then theweb document text 312 and any other display content included in theweb document 306 are displayed without the translation header 246 (e.g.,display format 110 ofFIG. 1A ). - The
translation header element 310 can detect selections of selectable options in the translation header, such as a user click on theTranslate button 206. In response to the selection of theselectable option 206,translation header element 310 identifies theweb document text 312 to be translated or a portion of the web document text to be translated (i.e., if less than all of the web document text is eligible for being translated by the translation server 308). In some implementations, from the displayed web document text, a user can select the portion ofweb document text 312 to be translated by, for example, selecting certainweb document text 312 with a mouse or other user input device. - In some implementations, the
translation header element 310, or more generally theweb browser 304, can identify theweb document text 312 to be translated or the portion of theweb document text 312 to be translated by use of a document object model (DOM) representation of theweb document 306. For example, theweb browser 304 can include alayout engine 314 to parse theweb document 306 to generate a DOM representation or, equivalently, a data structure representation of thedocument 306. In some implementations, thelayout engine 314 is distinct to theweb browser 304, but is in data communication with theweb browser 304 and works in concert with theweb browser 304 to render web documents. The DOM representation provides a conduit through which scripts executed by theweb browser 304 can inspect and modify theweb document 306. For example, the DOM representation permits thetranslation header element 310 to identify and accessweb document text 312 in the web document for translation. -
FIG. 4 illustrates an example DOM representation of aweb document 400 having web document text and a translation header element. The DOM representation represents a web document as a hierarchical arrangement of nodes with each node corresponding to a portion of the web document. There are various types of nodes, for example, root nodes (e.g., the root node 404), element nodes (e.g., the title element node 406), text nodes (e.g.,text nodes - Once the
translation header element 310 has identified theweb document text 312 to be translated (e.g., by use of the DOM representation), thetranslation header element 310 sends a request to thetranslation server 308 to translate the relevantweb document text 312 to the specified language. In response to the request, thetranslation server 308 provides translation data to theclient device 302. The translation data include the translated web document text in the specified language. Theweb browser 304 can render theweb document 306 with translated web document text (e.g.,display format 130 ofFIG. 1C ). -
FIGS. 5A and 5D respectively are flow diagrams for an example method of translating text in email web pages, and an alternate example method of translating text in email web pages.FIGS. 5B and 5C respectively illustrate an example display 560 of an HTML email page, and an example display 540 of the email page with translated text. - The example displays 540, 560 are generated by a web browser (e.g., 304). The web documents in displays 540 and 560 are email pages displaying email messages, and the web document text is the body text of the email messages. The body text are displayed as representations of the email messages. The body text of each email message can be included in a respective text node in a DOM representation. Additional text can also be included, for example, the subject text of the email message.
- Display 560 illustrates an email page displaying multiple email messages, e.g., an email conversation. For example, display 560 shows first, second and
third email messages only email message 542 is expanded to show itsbody text 548. The original language (first language) of the body text in display 560 is Spanish. - In
FIG. 5A , the body text of a first email message of the email messages to be translated is identified (502). The body text of a first email message (e.g., 542) of one or more displayed email messages can be identified as the body text of an active email message. For example, an active email message is an email message that is currently opened or otherwise selected, e.g., as indicated by a cursor position or other user inputs. With reference to display 560,email message 542 is the active email message as it is expanded (e.g., open). Thebody text 548 can be identified by its respective text node. Theweb browser 304 and/or theclient device 302 can, by use of thetranslation header element 310, identify the body text to be translated. - For the body text of the first email message it is determined that the second language is different from the first language (504). The
translation header element 310 can, for example, determine that the second language is different from the first language and display the translation header with the body text of the first email message. Display 560 shows thetranslation header 550 in a first display configuration with thebody text 548. The translation header text identifies the second language (e.g., specified language) as English, i.e., the language to which the Spanish text should be translated. - In some implementations, each expanded email message that includes body text not in the specified language can be displayed with a translation header. For example, if
email messages translation header element 310 can also cause theweb browser 304 to display a “Translate conversation”button 553 to cause all email messages in the email conversation to be displayed with translated text. - A request is sent to the translation server to translate the body text of only the first email message (506). The request is sent only if the second language is different from the first language. The
web browser 304 can, for example, send a request to thetranslation server 308 to translate the body text of only the first email message. The request to translate the body text of the first email message can be a request to translate the subject of the first email message and the body of the first email message. - As indicated by the dashed
process box 508, the request ofstep 506, optionally, is a request sent to the translation server without the body text of the first email message (508). Theweb browser 304 can, for example, send the request to thetranslation server 308. The translation server can be in data communication (e.g., Remote Procedure Call protocol) with the email server handling the first email message. Because the email server distributed the first email message to the client device, it has access to the first email message or access to a copy of the first message. As such the request can include an identifier of the first email message, instead of the body text of the first email message. The identifier of the first email message can be resolved by the email server or the translation server to identify the first email message. The translation server can then translate the body text of the email message. - Translation data including translated body text of the first email message in the second language are received (510). The translation data include the translated body text of the first email message in the second language. The
web browser 304 can, for example, receive the translation data from thetranslation server 308. - The translated body text of the first email message and the body text of the other email messages are displayed (512). The
web browser 304 can, for example, render the document including the body text of the first email message and the body text of the other email messages for display on theclient device 302. The body text of the other email messages may only include the subject of those email messages if the other email messages are in a collapsed display format. Display 540 shows the translated body text of the first email message (e.g., email message 542) in the second language (i.e., English) and a collapsed display of the other email messages (e.g.,email messages 544 and 546). - As indicated by the dashed
process boxes step 512, optionally, includes replacing, in the respective text node, the body text of the first email message in the first language with the translated body text of the first email message in the second language (514), and rendering the data structure having the translated body text included in the respective text node (516). Thetranslation header element 310 can, for example, replace the body text in the first language with the translated body text in the second language in the respective text node and render the data structure having the translated body text included in the respective text node. Display 540 shows the translatedbody text 548 of thefirst email message 542. - In
FIG. 5D , steps 582 and 584 are the same assteps FIG. 5A . - A request is sent for HTML data representing only the translated first email message (586). The HTML data can include, in addition to the body text of the first email message, for example, formatting information for the first email message, quoted text detection information for the first email message, and hiding information for the first email message. The
web browser 304 can, for example, send a request for HTML data representing the translated first email message. In some implementations, HTML data for more than one email message can be requested. - The HTML data representing the translated first email message are received (588). The
web browser 304 can, for example, receive the HTML data from thetranslation server 308. - A portion of HTML data of the HTML email document corresponding to the untranslated first email message is replaced with the HTML data representing the translated first email message (590) For example, the
translation header element 310 can replace the portion of HTML data of the email page corresponding to the untranslated first email message with the HTML of the translated first email message. The email page including the HTML of the translated first message can then be rendered by the web browser and displayed on the client device without a reload of the email page. - In still other implementations, instead of replacing the portion of HTML of the email page corresponding to the untranslated first message with the HTML of the translated first email message, the
translation header element 310 can cause the web browser to render the HTML of the translated first email message for display on another portion of the displayed email page, such as in a message box, pop up box, tool tip or designated translation display area. - In
FIG. 5C , thetranslation header 550 is displayed in a second display configuration. The second display configuration indicates that the portion of the document has been translated subsequent to a selection of the selectable option shown inFIG. 5B (e.g., the “Translate” button). The user can select “View original message” to view the message in its original form, or select “Change language” to translate the body text of the message to another language. If the latter option is selected, the original text of the email message is translated to a new language specified by the user, i.e., the process steps 506-512 above are re-executed to provide a translation of the original text to another different language. Thus the “Change Language” option causes the original text in the email message to be translated to the new language as opposed to the currently translated text (e.g., in English) to be translated to the new language. -
FIG. 6 is a flow diagram for anexample method 600 for translating text in an HTML web page. The web document is an HTML web page, and is represented by a data structure. The data structure includes text nodes, each text node includes respective text of the HTML web page text. - A request with data including the text in the text nodes, as distinct objects, is sent to a translation server to translate the text (602). In some implementations the data is the DOM representation of the document or a copy of the DOM representation. In other implementations the data is sent in multiple segments, i.e., portions of the data are individually sent to the translation server. The
web browser 304 can, for example, send a request to thetranslation server 308 to translate the text. - The text in the first language in the text nodes are replaced with corresponding translated text in the second language (604). The translated text are received from the translation server. For example, the
translation header element 310 can replace text in the first language in the text nodes with corresponding translated text in the second language. - The data structure having the translated text in the text nodes is rendered (606). In some implementations the data structure is a DOM representation and the web browser renders the DOM representation to display the HTML web page with the translated text. The
web browser 304 can, for example, render the data structure having the translated text in the text nodes. - A similar method of requesting and receiving translated text in a markup language document, such as the HTML web page of
example method 600, is described in U.S. Patent Application Ser. No. 61/161,309, entitled “WEB TRANSLATION WITH DISPLAY REPLACEMENT,” filed on Mar. 18, 2009, which is hereby incorporated by reference. However, other translation methods can also be used. -
FIG. 7 is a flow diagram for anexample method 700 for providing a conditional translation header for translation of web document text in a web document. In general, example method can be implemented on a computer with a web browser. - A document comprising document text in a first language to be displayed on a client device is received (702). The
web browser 304 can, for example, retrieve the document by using a hypertext transfer protocol (HTTP) for theclient device 302. In some implementations, the first language of the document text can be identified from a user input. For example, the user input can be from selection of a selectable option in the translation header displayed with the document text. - The document text of the document is displayed (704). The document can be a markup language document and the
web browser 304 can render the markup language document for display on theclient device 302. - A second language to which the document text may be translated is identified (706). The second language can be a user's preferred language (e.g., the native language of the user). The user's preferred language can be determined, for example, from local settings on the client device (e.g., 302), such as web browser language settings, or from a cookie including data from past translations and the corresponding second languages (e.g., the data may indicate that a user requested translation to a certain second language). The
translation header element 310 can, for example, identify the second language. In some implementations, the second language can be identified from a user input. For example, the user input can be from selection of a selectable option in the translation header. - The second language is determined to be different from the first language and, only in response to the determination, a translation header is displayed with the document text (708). The translation header includes text in the second language describing a selectable option in the translation header to translate document text from the first language to the second language. For example, the display of a translation header with document text is represented by
display format 120 and shown inexample display 202. - In some implementations, the translation header is displayed simultaneously or substantially simultaneously with the display of the document text. In other implementations, the translation header disappears if, after a predefined time period, the user does not select a translation option.
- The
translation header element 310 can, for example, determine that the second language is different from the first language, and theweb browser 304 can, for example, render the document including the translation header 346 and thedocument text 312. - In response to a selection of the selectable option, a portion of the document text to be translated is identified (710). The portion of the document text can be the entire document text or less than the entire document text. In some implementations, the portion of document text is identified based on the type of document. For example, if the document is an HTML web page then the portion of the document text is all of the document text that can be translated (e.g., some document text may be identified as non-translatable by a “no translate” flag). In another example, if the document is an HTML email page then the portion of the document text is the portion of the document text corresponding to the active email message. In other implementations, the portion of document text is identified based on user input, such as highlighting a portion of the document text. The
translation header element 310 and/or theweb browser 304 can, for example, identify a portion of the document text to be translated. - A request from the client device is sent to a translation server to translate the portion of the document text from the first language to the second language (712). The
web browser 304 can, for example, send a request to atranslation server 308 to translate the portion of the document text from the first language to the second language. In some implementations, the request is sent in accord with the method described inFIGS. 5A and 5D In other implementations, the request is sent in accord with the method described inFIG. 6 . - Although the translation process performed by the translation server will often correctly identify the first language of the document text, as mentioned above, a user may specify the first language in the request to ensure that the first language of the document text is not misidentified. The translation header may provide a selectable option by which a user can designate the first language.
- In response to the request, translation data including a corresponding translated portion of the document text in the second language is received (714). For example, the
web browser 304 and/or thetranslation header element 310 can receive the translation data. - The translated portion of the document text is displayed (716). The
web browser 304 can, for example, render the web document including the translated portion of the document text to display the translated portion of the document text on theclient device 302. For example, the display of a translation header with document text is represented bydisplay format 130 and shown inexample display 204. In some implementations, the translated portion of the document text is displayed in accord with the method described inFIGS. 5A and 5D . In other implementations, the translated portion of the document text is displayed in accord with the method described inFIG. 6 . - The document can contain a link to another document (e.g., a link to another web page). In some implementations, upon selection of the link, the
translation header element 310 can cause the web browser to include data defining the second language in a request for the another document. The included data can cause the another document to be automatically displayed by the web browser in the second language. For example, the document text of a web page may have been translated from Spanish to English (e.g., by use of thetranslation element 310 and the process described above). If a link included in the web page is for a second page with text in Spanish, then upon selection of the link, thetranslation header element 310 can cause the web browser to append data (e.g., an identifier) to the request for the second web page indicating that translation of the second web page's text to English is requested. Given that the second web page includes a translation header element 310 (or another translation mechanism in the web page or web browser), the second web page will automatically be rendered by the web browser with its text translated to English. - In some implementations, the data appended to the request (or otherwise identified in the request) by the web browser is a query parameter (e.g., item (F), a URL parameter). For example, if the requested URL is “http://www.example.com,” then the web browser can append “#trans|target language” to the request, where “target language” is the second language. Thus the request would be, for example, “http://www.example.com? . . . #trans|target language.”
- Although the translation header element (e.g., 310) has been discussed above as being included in the web document (e.g., 306), in some implementations the functionality of the translation header element is provided in an add-in component installed in the
web browser 304, such as a toolbar or gadget. Further, in other implementations, the functionality of the translation header element is provided in a bookmarklet to allow the above described features to be utilized for a web page without a translation element. - Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially-generated propagated signal. The computer storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices).
- The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
- The term “data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer such as the
client device 302, a system on a chip, or multiple ones, or combinations, of the foregoing The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures. - A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, subprograms, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CDROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a backend component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such backend, middleware, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
- While this specification contains many specific implementation details, these should not be construed as limitations on the scope of the invention or of what may be claimed, but rather as descriptions of features specific to particular embodiments of the invention. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
- Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
- Thus, particular embodiments of the invention have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/929,951 US20140026032A1 (en) | 2009-05-05 | 2013-06-28 | Conditional translation header for translation of web documents |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17573909P | 2009-05-05 | 2009-05-05 | |
US12/533,613 US8478579B2 (en) | 2009-05-05 | 2009-07-31 | Conditional translation header for translation of web documents |
US13/929,951 US20140026032A1 (en) | 2009-05-05 | 2013-06-28 | Conditional translation header for translation of web documents |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/533,613 Continuation US8478579B2 (en) | 2009-05-05 | 2009-07-31 | Conditional translation header for translation of web documents |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140026032A1 true US20140026032A1 (en) | 2014-01-23 |
Family
ID=42332146
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/533,613 Active 2032-03-02 US8478579B2 (en) | 2009-05-05 | 2009-07-31 | Conditional translation header for translation of web documents |
US13/929,951 Abandoned US20140026032A1 (en) | 2009-05-05 | 2013-06-28 | Conditional translation header for translation of web documents |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/533,613 Active 2032-03-02 US8478579B2 (en) | 2009-05-05 | 2009-07-31 | Conditional translation header for translation of web documents |
Country Status (4)
Country | Link |
---|---|
US (2) | US8478579B2 (en) |
EP (1) | EP2427829A1 (en) |
CN (1) | CN102460429B (en) |
WO (1) | WO2010129391A1 (en) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2009342361A1 (en) * | 2009-03-18 | 2011-10-06 | Google Inc. | Web translation with display replacement |
US20110054880A1 (en) * | 2009-09-02 | 2011-03-03 | Apple Inc. | External Content Transformation |
KR20130079440A (en) * | 2010-05-14 | 2013-07-10 | 삼성전자주식회사 | System and method for enabling communicaiton between a rich communication service system and a non-rich communication service system |
US9213685B2 (en) | 2010-07-13 | 2015-12-15 | Motionpoint Corporation | Dynamic language translation of web site content |
WO2012082005A1 (en) * | 2010-12-13 | 2012-06-21 | Google Inc. | Remotely updated toolbar language translation service |
US9164988B2 (en) * | 2011-01-14 | 2015-10-20 | Lionbridge Technologies, Inc. | Methods and systems for the dynamic creation of a translated website |
JP5908213B2 (en) * | 2011-02-28 | 2016-04-26 | ブラザー工業株式会社 | Communication device |
TWI456404B (en) * | 2011-04-27 | 2014-10-11 | Miiicasa Holding Cayman Inc | Multiple page information transfer method |
US8635518B1 (en) * | 2011-07-21 | 2014-01-21 | Google Inc. | Methods and systems to copy web content selections |
US8983850B2 (en) * | 2011-07-21 | 2015-03-17 | Ortsbo Inc. | Translation system and method for multiple instant message networks |
US8812295B1 (en) | 2011-07-26 | 2014-08-19 | Google Inc. | Techniques for performing language detection and translation for multi-language content feeds |
KR20130015472A (en) * | 2011-08-03 | 2013-02-14 | 삼성전자주식회사 | Display apparatus, control method and server thereof |
US9465799B2 (en) * | 2011-10-10 | 2016-10-11 | Red Hat, Inc. | Server-side internationalization and localization of web applications using a scripting language |
US8781811B1 (en) * | 2011-10-21 | 2014-07-15 | Google Inc. | Cross-application centralized language preferences |
WO2013075332A1 (en) * | 2011-11-25 | 2013-05-30 | Google Inc. | Providing translation assistance in application localization |
US9135245B1 (en) * | 2012-01-09 | 2015-09-15 | Cox Communications, Inc. | Filtering content based on acquiring data associated with language identification |
DE102012112087A1 (en) * | 2012-02-01 | 2013-08-01 | Electronics And Telecommunications Research Institute | Method and device for translation |
US9658998B2 (en) * | 2012-02-24 | 2017-05-23 | American Express Travel Related Services Company, Inc. | Systems and methods for internationalization and localization |
US9251223B2 (en) * | 2012-02-29 | 2016-02-02 | Google Inc. | Alternative web pages suggestion based on language |
EP2637369A1 (en) * | 2012-03-06 | 2013-09-11 | Alcatel Lucent | Process for sending an electronic file to at least one contact of a user |
US20130297287A1 (en) * | 2012-05-07 | 2013-11-07 | Google Inc. | Display two keyboards on one tablet computer to allow two users to chat in different languages |
US9672209B2 (en) * | 2012-06-21 | 2017-06-06 | International Business Machines Corporation | Dynamic translation substitution |
CN103034720B (en) * | 2012-12-13 | 2017-02-08 | 珠海赛纳打印科技股份有限公司 | Method, peripheral device and system for forming webpage |
TW201430593A (en) * | 2013-01-25 | 2014-08-01 | Hon Hai Prec Ind Co Ltd | System and method for converting multi-language webpage |
US9569080B2 (en) * | 2013-01-29 | 2017-02-14 | Apple Inc. | Map language switching |
US9430465B2 (en) * | 2013-05-13 | 2016-08-30 | Facebook, Inc. | Hybrid, offline/online speech translation system |
US20150039724A1 (en) * | 2013-08-01 | 2015-02-05 | Go Daddy Operating Company, LLC | Methods and systems for recommending top level domains |
US20150039679A1 (en) * | 2013-08-01 | 2015-02-05 | Go Daddy Operating Company, LLC | Methods and systems for recommending top level and second level domains |
US10437897B2 (en) | 2013-08-01 | 2019-10-08 | Go Daddy Operating Company, LLC | Methods and systems for recommending packages of domain names for registration |
US20150039599A1 (en) * | 2013-08-01 | 2015-02-05 | Go Daddy Operating Company, LLC | Methods and systems for recommending top level and second level domains |
GB2519162B (en) * | 2013-10-14 | 2015-11-04 | Canon Europa Nv | Printing system, printing apparatus, mobile device and method of printing from a mobile device |
US10425365B2 (en) | 2013-11-22 | 2019-09-24 | At&T Intellectual Property I, L.P. | System and method for relaying messages |
US20150363392A1 (en) * | 2014-06-11 | 2015-12-17 | Lenovo (Singapore) Pte. Ltd. | Real-time modification of input method based on language context |
WO2016018004A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Method, apparatus, and system for providing translated content |
US9524293B2 (en) * | 2014-08-15 | 2016-12-20 | Google Inc. | Techniques for automatically swapping languages and/or content for machine translation |
US10860793B2 (en) * | 2015-08-05 | 2020-12-08 | Sap Se | Method and system for an electronic document framework |
US10089288B2 (en) * | 2015-12-04 | 2018-10-02 | Ca, Inc. | Annotations management for electronic documents handling |
US11516300B2 (en) * | 2016-11-30 | 2022-11-29 | Hughes Network Systems, Llc | System, method and program for localizing web page interfaces via asynchronous data and automatic binding |
US10235363B2 (en) * | 2017-04-28 | 2019-03-19 | Sap Se | Instant translation of user interfaces of a web application |
WO2019163117A1 (en) * | 2018-02-26 | 2019-08-29 | Loveland株式会社 | Webpage translation system, webpage translation device, webpage provision device, and webpage translation method |
US11361169B2 (en) * | 2019-02-28 | 2022-06-14 | Yandex Europe Ag | Method and server for training a machine learning algorithm for translation |
US11227101B2 (en) * | 2019-07-05 | 2022-01-18 | Open Text Sa Ulc | System and method for document translation in a format agnostic document viewer |
US11373048B2 (en) * | 2019-09-11 | 2022-06-28 | International Business Machines Corporation | Translation of multi-format embedded files |
WO2021184249A1 (en) * | 2020-03-18 | 2021-09-23 | Citrix Systems, Inc. | Machine translation of digital content |
CN113515710B (en) * | 2021-04-23 | 2024-03-01 | 北京金山云网络技术有限公司 | Page information display method and device, electronic equipment and storage medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870610A (en) * | 1987-08-25 | 1989-09-26 | Bell Communications Research, Inc. | Method of operating a computer system to provide customed I/O information including language translation |
US20040207658A1 (en) * | 2003-04-17 | 2004-10-21 | International Business Machines Corp. | Method, system, and computer program product for user customization of menu items |
US6857022B1 (en) * | 2000-02-02 | 2005-02-15 | Worldlingo.Com Pty Ltd | Translation ordering system |
US20050149335A1 (en) * | 2003-12-24 | 2005-07-07 | Ibrahim Mesbah | Prompt language translation for a telecommunications system |
US20060286527A1 (en) * | 2005-06-16 | 2006-12-21 | Charles Morel | Interactive teaching web application |
US20080281578A1 (en) * | 2007-05-07 | 2008-11-13 | Microsoft Corporation | Document translation system |
US20090070094A1 (en) * | 2007-09-06 | 2009-03-12 | Best Steven F | User-configurable translations for electronic documents |
US8249854B2 (en) * | 2005-05-26 | 2012-08-21 | Microsoft Corporation | Integrated native language translation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901367B1 (en) * | 1999-01-28 | 2005-05-31 | International Business Machines Corporation | Front end translation mechanism for received communication |
US7216072B2 (en) * | 2000-02-29 | 2007-05-08 | Fujitsu Limited | Relay device, server device, terminal device, and translation server system utilizing these devices |
US7389221B1 (en) * | 2000-07-17 | 2008-06-17 | Globalenglish Corporation | System and method for interactive translation |
AUPR360701A0 (en) * | 2001-03-06 | 2001-04-05 | Worldlingo, Inc | Seamless translation system |
GB2395029A (en) * | 2002-11-06 | 2004-05-12 | Alan Wilkinson | Translation of electronically transmitted messages |
US20040102201A1 (en) * | 2002-11-22 | 2004-05-27 | Levin Robert E. | System and method for language translation via remote devices |
US8027438B2 (en) * | 2003-02-10 | 2011-09-27 | At&T Intellectual Property I, L.P. | Electronic message translations accompanied by indications of translation |
US20090234633A1 (en) * | 2008-03-17 | 2009-09-17 | Virginia Chao-Suren | Systems and methods for enabling inter-language communications |
-
2009
- 2009-07-31 US US12/533,613 patent/US8478579B2/en active Active
-
2010
- 2010-04-29 WO PCT/US2010/032998 patent/WO2010129391A1/en active Application Filing
- 2010-04-29 EP EP10720837A patent/EP2427829A1/en not_active Ceased
- 2010-04-29 CN CN201080024759.3A patent/CN102460429B/en not_active Expired - Fee Related
-
2013
- 2013-06-28 US US13/929,951 patent/US20140026032A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870610A (en) * | 1987-08-25 | 1989-09-26 | Bell Communications Research, Inc. | Method of operating a computer system to provide customed I/O information including language translation |
US6857022B1 (en) * | 2000-02-02 | 2005-02-15 | Worldlingo.Com Pty Ltd | Translation ordering system |
US20040207658A1 (en) * | 2003-04-17 | 2004-10-21 | International Business Machines Corp. | Method, system, and computer program product for user customization of menu items |
US20050149335A1 (en) * | 2003-12-24 | 2005-07-07 | Ibrahim Mesbah | Prompt language translation for a telecommunications system |
US8249854B2 (en) * | 2005-05-26 | 2012-08-21 | Microsoft Corporation | Integrated native language translation |
US20060286527A1 (en) * | 2005-06-16 | 2006-12-21 | Charles Morel | Interactive teaching web application |
US20080281578A1 (en) * | 2007-05-07 | 2008-11-13 | Microsoft Corporation | Document translation system |
US20090070094A1 (en) * | 2007-09-06 | 2009-03-12 | Best Steven F | User-configurable translations for electronic documents |
Also Published As
Publication number | Publication date |
---|---|
US8478579B2 (en) | 2013-07-02 |
CN102460429A (en) | 2012-05-16 |
EP2427829A1 (en) | 2012-03-14 |
WO2010129391A1 (en) | 2010-11-11 |
US20100286977A1 (en) | 2010-11-11 |
CN102460429B (en) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8478579B2 (en) | Conditional translation header for translation of web documents | |
EP2409248B1 (en) | Web translation with display replacement | |
US9081769B2 (en) | Providing translation assistance in application localization | |
US11250093B2 (en) | Natural language control of web browsers | |
US8996711B2 (en) | Controlling web page advertisement through incentives and restrictions | |
US7949935B2 (en) | Selecting and rendering a section of a web page | |
CA2783344C (en) | Resource search operations | |
US9129009B2 (en) | Related links | |
US9311303B2 (en) | Interpreted language translation system and method | |
US20140372873A1 (en) | Detecting Main Page Content | |
US7949936B2 (en) | Selecting advertising for a web page | |
JP2010513997A (en) | Online computer-assisted translation | |
US20120117049A1 (en) | Enriching web resources | |
EP2329405A2 (en) | Obtaining content and adding same to document | |
US20140181099A1 (en) | User management of electronic documents | |
US20150161177A1 (en) | Search result image processing | |
US20240054279A1 (en) | Website plugin and framework for content management services | |
US20110307243A1 (en) | Multilingual runtime rendering of metadata | |
CN113282285B (en) | Code writing method, device, electronic equipment and storage medium | |
US20170139895A1 (en) | Method and System for Report Generation | |
US20080313603A1 (en) | User interface archive | |
KR20140062941A (en) | Method for providing keyword search result using balloon in an online environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHIN, JEFFREY;LEWIS, DARREN;ESTELLE, JOSHUA;REEL/FRAME:031293/0988 Effective date: 20090728 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC;REEL/FRAME:044635/0862 Effective date: 20170929 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044695/0115 Effective date: 20170929 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |