US8805671B1 - Contextual translation of digital content - Google Patents

Contextual translation of digital content Download PDF

Info

Publication number
US8805671B1
US8805671B1 US13/972,117 US201313972117A US8805671B1 US 8805671 B1 US8805671 B1 US 8805671B1 US 201313972117 A US201313972117 A US 201313972117A US 8805671 B1 US8805671 B1 US 8805671B1
Authority
US
United States
Prior art keywords
digital content
translation
user
context
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US13/972,117
Inventor
Przemyslaw Broniek
Joanna K. Chwastowska
Brendan Clavin
Dawid Duda
Terence Haddock
Marcin Mikosik
Maciej Molerus
Michal Pociecha-Los
Jan Wrobel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to US13/972,117 priority Critical patent/US8805671B1/en
Application granted granted Critical
Publication of US8805671B1 publication Critical patent/US8805671B1/en
Assigned to GOOGLE LLC reassignment GOOGLE LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GOOGLE INC.
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Definitions

  • digital content is a web page, which can be described as a resource of information that is suitable for the World Wide Web (WWW).
  • WWW World Wide Web
  • Web pages reside on a remote, publicly available web server and are accessed by client computers through a web browser.
  • Web pages can also be stored on a local computer or on a web server that is restricted to a private network, such as a company's Intranet.
  • the web pages are typically stored in Hypertext Markup Language (HTML) format, or in Extended Hypertext Markup Language (XHTML), and are requested by the clients using a Hypertext Transfer Protocol (HTTP).
  • HTML Hypertext Markup Language
  • XHTML Extended Hypertext Markup Language
  • Web pages typically contain many types of page elements, for example, hypertext links, which provide functionality allowing a user to navigate to other web pages.
  • Web pages can be static or dynamic in nature. Static web pages do not allow any user interaction, except for navigating to, from, and within the web page itself.
  • Dynamic web pages on the other hand, often provide a high degree of user interactivity, and can be used to present a user interface to live web applications. Some examples of such applications include word processors, calendars, hosted email programs, online spreadsheets, presentation tools, etc. These dynamic web pages are also often referred to as web applications or web application pages.
  • Other examples of digital content include various types of software applications that can be run on various computing devices, such as desktop or laptop computers, mobile phones, PDAs (Personal Digital Assistants), and the like.
  • Web pages and software applications are often translated into several languages to make them accessible to users across the world.
  • the translators are provided with a list of phrases used on the web page or in the software application user interface, the translator translates the phrases, and the phrases appearing on the original web page or software application user interface are substituted with the translated phrases.
  • it is often difficult for the translator to make an accurate translation since there is often not a one-to-one correspondence between phrases in different languages, but a given phrase in one language can have many meanings in a different language, depending on the context for the phrase. This is true, in particular for web applications, where the phrases may occur in different positions on the web page, as the web page changes dynamically.
  • the translation quality may end up being poor, which in turn causes the review of the translation to be inefficient and time consuming.
  • the erroneously translated phrases must also be corrected, which adds further time to the translation process.
  • methods, apparatus and systems, including computer program products, for translating digital content from a source language to a target language are provided.
  • a message is displayed to a user.
  • the message contains digital content to be translated from the source language to the target language, as well as the context of the digital content in the source language and/or a reference to a context in which the digital content occurs.
  • a proposed translation of the digital content into the target language is received from the user.
  • the proposed translation is submitted to a translation server.
  • the context of the digital content in the source language can be displayed in response to the user selecting the reference.
  • the part of the digital content can be highlighted in the context.
  • the proposed translation can be stored in the translation server and one or more actions pertaining to the proposed translation can be performed by the translation server.
  • the one or more actions including: notifying a reviewer of the proposed translation, verifying user credentials for the user providing the proposed translation, providing further suggestions of proposed translations to the user based on previously submitted translations, or providing translation-related metadata to the user.
  • the context can be represented as hypertext markup language code rendered in a web browser, a live representation of the digital content in a software application, or an image screenshot of the context of the digital content.
  • the translated digital content can be displayed to a reviewer in a review tool and input can be received from the reviewer pertaining to any translated phrases that need to be corrected.
  • the input can be received in a window pane that is part of the web browser window in which the translated digital content is displayed, in a web browser window that is distinct from the web browser window in which the translated digital content is displayed, in a form that is embedded in the translated web page, or in a software application that is distinct from the web browser window in which the web page is displayed.
  • the context for the translated digital content can be updated to show the proposed translation to the user after submitting the translation, thereby providing the possibility to immediately review the proposed translation.
  • the input from the reviewer can be submitted to the translation server for further processing.
  • the digital content can represent words or phrases on a web page. Displaying the context can include displaying the webpage on which the words or phrases occur.
  • the digital content can represent words or phrases on at least a portion of a graphical user interface of a software application program.
  • the translation quality of digital content and the translation efficiency can increase by having a context of the words or phrases being translated.
  • the quality and efficiency of the review of the translated digital content can also increase by having a context of the words or phrases being translated.
  • FIG. 1 shows a process for translating phrases on a web page from a source language to a target language, in accordance with one implementation.
  • FIG. 2 shows a process for reviewing translated phrases on a web page, in accordance with one implementation.
  • FIG. 3 shows a screenshot of a web browser ( 300 ) displaying a web page indicating a location of a phrase to be translated, in accordance with one implementation.
  • FIG. 4 shows a screenshot of a web browser ( 300 ) displaying a web page in translation mode, in accordance with one implementation.
  • FIG. 5 shows an editing mode of the web page ( 300 ) in which a user can revise proposed translations, in accordance with one implementation.
  • the present description provides methods and apparatus for improving the translation quality of digital content, as well as improving the review of the translated digital content to make the review more efficient.
  • a number of implementations will be described below by way of example and with respect to translating and reviewing translated web pages. As the skilled reader realizes, these examples are not intended to be exhaustive. On the contrary, the techniques and tools that will be described below can be used in a wide array of applications, such as translating and reviewing user interfaces of various types of software applications.
  • the various implementations will be described with respect to a general purpose computer, it should be clear that the same or similar techniques can be implemented on other types of computing devices, such as PDAs (Personal Digital Assistants), mobile phones, and so on.
  • PDAs Personal Digital Assistants
  • web applications these are intended to encompass not only dynamic web pages but also static web pages, that is, web pages where contents changes dynamically and web pages or web applications, in which the displayed content can change dynamically, as well as standalone software applications run on various computing devices.
  • a professional translator works with some kind of dedicated translation software application.
  • translation software applications There are many types of translation software applications. Two examples include the WorldServerTM Desktop Workbench 2009 application and the SDL TRADOS Studio 2009 application, which are both available from SDL Enterprise Technology of Maidenhead, United Kingdom.
  • the translation software application loads a file with one or more translation requests that contain phrases that should be translated by the professional translator.
  • a conventional translation request without context for translating the phrase “Promoted Videos” in a header can have the following format:
  • this textual message provides very little context for the translator, other than that the phrase occurs in a header.
  • FIG. 1 shows an improved method ( 100 ) for translating one or more phrases from a source language to a target language, in accordance with one implementation.
  • the process ( 100 ) starts with the translation software application receiving a request that contains a phrase to be translated from a source language to a target language (step 102 ), similar to what was described above.
  • this request is an enhanced request that provides a better context for the professional translator.
  • the enhanced translation request for translating the same phrase can have the following format:
  • a context link is included at the bottom of the request.
  • the translator decides whether she wants to see the context of the phrase (step 104 ). If the translator does not want to see any context, she enters a translation in the translation software application (step 108 ), similar to what is done in conventional translation situations. On the other hand, if the translator clicks on the context link, she is presented with a screenshot of the web page (step 106 ).
  • FIG. 3 shows an example of such a screenshot ( 300 ), in which the location on the web page of the phrase ( 302 ) to be translated is clearly indicated. As can be seen in FIG.
  • the phrase ( 302 ) to be translated is marked with a frame, typically in a color that highlights the phrase ( 302 ), thus facilitating for the translator to identify the phrase ( 302 ) on the web page.
  • the phrase ( 302 ) can be marked with any suitable identifier, such as a symbol, or be highlighted in a different color, etc.
  • the translator enters the corresponding expression in the target language, in this case the Polish phrase “Promowane filmy wideo,” in her translation software application (step 108 ).
  • it is determined whether there are any more phrases to be translated (step 110 ). If there are more phrases, the process returns to step 102 and continues as described above with another phrase that is to be translated. Given the ability to view the context for each phrase, it is significantly easier for the translator to make an accurate translation. If there are no more phrases or words to be translated, the process ( 100 ) ends.
  • FIG. 2 shows a process for reviewing a proposed translation in accordance with one implementation.
  • the reviewer examines the translated page in the target language to check the consistency and correctness of the translation.
  • a review screen ( 400 ) with the proposed translation is displayed to the reviewer (step 202 ).
  • FIG. 4 shows an example of such a review screen ( 400 ), in which a source message frame ( 404 ) shows the source language phrase and a translation message frame ( 406 ) shows the phrase translated into the target language.
  • the reviewer determines whether the translation is accurate (step 204 ). If the reviewer approves the translation, nothing else needs to be done and the process ( 200 ) ends. If the reviewer detects a discrepancy or decides that some translation of a phrase should be examined more carefully, the reviewer can enter an “edit mode” (step 206 ).
  • FIG. 5 shows an example of such an edit mode in accordance with one implementation.
  • the translator can enter comments or corrections in the translation message frame ( 406 ).
  • this “editing mode” is entered by pressing a button on the screen or on the keyboard, such as the ESC button indicated by the instructions above the message fields ( 404 ; 406 ) in FIG. 4 .
  • the translation message frame ( 406 ) is editable, so that the reviewer can enter an alternate translation into the translation message frame ( 406 ), such as the shown revised translation “Video, ktore promujemy” (step 208 ).
  • a submit button ( 502 ) to submit the translation (typically to a translation server, which will be described in more detail below) (step 210 ), which ends the process.
  • a reset button ( 504 ) that restores all original values
  • a cancel button ( 506 ) that prevents the translation from being submitted and closes the translation console.
  • the translation review of course can be used in combination with other translation review software applications too, similar to what was described in the above translation example. That is, the reviewer is not required to make comments and corrections at the bottom of the review page ( 400 ), as described with respect to the in-context review above. Instead, the user may use separate translation review software application, and receive messages with translated phrase, which messages contain links that allow the reviewer to see a screenshot similar to the one in FIG. 2 with the context of the phrase, and then making any modifications or comments about the suggested translation using the other translation review software application.
  • the above processes ( 100 ; 200 ) can be implemented, for example, as a web browser extension, in combination with a translation server.
  • the web browser extension and the translation server can communicate in a conventional manner through a wired or wireless network, or a combination thereof; as is well known to those of ordinary skill in the art.
  • the user interacts with the web browser extension through the web browser, to perform the above-described steps.
  • the translation server provides several functions for the browser extension. Some of these functions include the following.
  • the translation server can also perform various other tasks, in addition to communicating with the web browser extension.
  • the translation server can act as a backend for the web browser extension. That is, the translation server can provide metadata, such as various permissions and rules defining which users may access and translate specific web pages, provide web pages for translation, or even provide a complete user interface of a web application or standalone software application.
  • the translation server can also store the translations in a translation database, and forward the proposed translations to internal or external individual reviewers or translation services.
  • the translation server may also provide a web interface for a translation database.
  • an extended XTHML (Extensible Hypertext Markup Language) structure of the page can be used, similar to what is done in many current applications, such as the Facebook social networking application, available from Facebook of Palo Alto, Calif.
  • a set of characters that are invisible to the end user can be used to identify the messages in the web pages.
  • Various implementations can be made in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
  • Apparatus can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output.
  • Various implementations can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
  • Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and special purpose microprocessors.
  • a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
  • semiconductor memory devices such as EPROM, EEPROM, and flash memory devices
  • magnetic disks such as internal hard disks and removable disks
  • magneto-optical disks magneto-optical disks
  • CD-ROM disks CD-ROM disks
  • the various implementations can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user.
  • the user can provide input to the computer system through various input devices such as a keyboard and a pointing device, such as a mouse, a trackball, a microphone, a touch-sensitive display, a transducer card reader, a magnetic or paper tape reader, a tablet, a stylus, a voice or handwriting recognizer, or any other well-known input device such as, of course, other computers.
  • the computer system can be programmed to provide a graphical user interface through which computer programs interact with users.
  • the processor optionally can be coupled to a computer or telecommunications network, for example, an Internet network, or an intranet network, using a network connection, through which the processor can receive information from the network, or might output information to the network in the course of performing the above-described method steps.
  • a computer or telecommunications network for example, an Internet network, or an intranet network
  • Such information which is often represented as a sequence of instructions to be executed using the processor, may be received from and outputted to the network.
  • the user interface can be updated dynamically with the proposed translation after the proposed translation has been submitted. This allows the translator to immediately detect, for example, whether any proposed phrases in the target language are too long to fit within a particular user interface element, such as a button, or the like. As a result, the translator can then change the translation and use an alternative, shorter phrase. Accordingly, other implementations are within the scope of the following claims.

Abstract

Methods and apparatus, including computer program products, implementing and using techniques for translating digital content from a source language to a target language. A message is displayed to a user. The message contains digital content to be translated from the source language to the target language, as well as the context of the digital content in the source language and/or a reference to a context in which the digital content occurs. A proposed translation of the digital content into the target language is received from the user. The proposed translation is submitted to a translation server.

Description

BACKGROUND
This various implementations described herein relate to translation of digital content. One example of digital content is a web page, which can be described as a resource of information that is suitable for the World Wide Web (WWW). Typically web pages reside on a remote, publicly available web server and are accessed by client computers through a web browser. Web pages can also be stored on a local computer or on a web server that is restricted to a private network, such as a company's Intranet. The web pages are typically stored in Hypertext Markup Language (HTML) format, or in Extended Hypertext Markup Language (XHTML), and are requested by the clients using a Hypertext Transfer Protocol (HTTP).
Web pages typically contain many types of page elements, for example, hypertext links, which provide functionality allowing a user to navigate to other web pages. Web pages can be static or dynamic in nature. Static web pages do not allow any user interaction, except for navigating to, from, and within the web page itself. Dynamic web pages, on the other hand, often provide a high degree of user interactivity, and can be used to present a user interface to live web applications. Some examples of such applications include word processors, calendars, hosted email programs, online spreadsheets, presentation tools, etc. These dynamic web pages are also often referred to as web applications or web application pages. Other examples of digital content include various types of software applications that can be run on various computing devices, such as desktop or laptop computers, mobile phones, PDAs (Personal Digital Assistants), and the like.
Web pages and software applications are often translated into several languages to make them accessible to users across the world. Conventionally, in making such translations, the translators are provided with a list of phrases used on the web page or in the software application user interface, the translator translates the phrases, and the phrases appearing on the original web page or software application user interface are substituted with the translated phrases. However, without having a context for the phrases, it is often difficult for the translator to make an accurate translation, since there is often not a one-to-one correspondence between phrases in different languages, but a given phrase in one language can have many meanings in a different language, depending on the context for the phrase. This is true, in particular for web applications, where the phrases may occur in different positions on the web page, as the web page changes dynamically. As a result of the lack of context for the phrases to be translated, the translation quality may end up being poor, which in turn causes the review of the translation to be inefficient and time consuming. The erroneously translated phrases must also be corrected, which adds further time to the translation process.
SUMMARY
In one aspect, methods, apparatus and systems, including computer program products, for translating digital content from a source language to a target language are provided. A message is displayed to a user. The message contains digital content to be translated from the source language to the target language, as well as the context of the digital content in the source language and/or a reference to a context in which the digital content occurs. A proposed translation of the digital content into the target language is received from the user. The proposed translation is submitted to a translation server.
Various implementations can include one or more of the following features. The context of the digital content in the source language can be displayed in response to the user selecting the reference. The part of the digital content can be highlighted in the context. The proposed translation can be stored in the translation server and one or more actions pertaining to the proposed translation can be performed by the translation server. The one or more actions including: notifying a reviewer of the proposed translation, verifying user credentials for the user providing the proposed translation, providing further suggestions of proposed translations to the user based on previously submitted translations, or providing translation-related metadata to the user. The context can be represented as hypertext markup language code rendered in a web browser, a live representation of the digital content in a software application, or an image screenshot of the context of the digital content.
The translated digital content can be displayed to a reviewer in a review tool and input can be received from the reviewer pertaining to any translated phrases that need to be corrected. The input can be received in a window pane that is part of the web browser window in which the translated digital content is displayed, in a web browser window that is distinct from the web browser window in which the translated digital content is displayed, in a form that is embedded in the translated web page, or in a software application that is distinct from the web browser window in which the web page is displayed. The context for the translated digital content can be updated to show the proposed translation to the user after submitting the translation, thereby providing the possibility to immediately review the proposed translation. The input from the reviewer can be submitted to the translation server for further processing. The digital content can represent words or phrases on a web page. Displaying the context can include displaying the webpage on which the words or phrases occur. The digital content can represent words or phrases on at least a portion of a graphical user interface of a software application program.
Various implementations can include one or more of the following advantages. The translation quality of digital content and the translation efficiency can increase by having a context of the words or phrases being translated. Similarly, the quality and efficiency of the review of the translated digital content can also increase by having a context of the words or phrases being translated. By having the ability to identify the words or phrases in their context, such as on a web page, it is possible to have a live application with which a user can interact. As a result, the translation review is driven not only by external translation software, but also by the user working with a live application and attending to any issues the user notices.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
DESCRIPTION OF DRAWINGS
FIG. 1 shows a process for translating phrases on a web page from a source language to a target language, in accordance with one implementation.
FIG. 2 shows a process for reviewing translated phrases on a web page, in accordance with one implementation.
FIG. 3 shows a screenshot of a web browser (300) displaying a web page indicating a location of a phrase to be translated, in accordance with one implementation.
FIG. 4 shows a screenshot of a web browser (300) displaying a web page in translation mode, in accordance with one implementation.
FIG. 5 shows an editing mode of the web page (300) in which a user can revise proposed translations, in accordance with one implementation.
Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
Overview
The present description provides methods and apparatus for improving the translation quality of digital content, as well as improving the review of the translated digital content to make the review more efficient. A number of implementations will be described below by way of example and with respect to translating and reviewing translated web pages. As the skilled reader realizes, these examples are not intended to be exhaustive. On the contrary, the techniques and tools that will be described below can be used in a wide array of applications, such as translating and reviewing user interfaces of various types of software applications. Furthermore, while the various implementations will be described with respect to a general purpose computer, it should be clear that the same or similar techniques can be implemented on other types of computing devices, such as PDAs (Personal Digital Assistants), mobile phones, and so on. It should further be noted that while reference will be made below to web applications, these are intended to encompass not only dynamic web pages but also static web pages, that is, web pages where contents changes dynamically and web pages or web applications, in which the displayed content can change dynamically, as well as standalone software applications run on various computing devices.
Translation Example
Various implementations address the above described problem of low translation quality and efficiency caused by lack of a context for the messages being translated. This section describes how the translation quality and efficiency can be improved in accordance with one implementation.
Typically, a professional translator works with some kind of dedicated translation software application. There are many types of translation software applications. Two examples include the WorldServer™ Desktop Workbench 2009 application and the SDL TRADOS Studio 2009 application, which are both available from SDL Enterprise Technology of Maidenhead, United Kingdom. Generally, the translation software application loads a file with one or more translation requests that contain phrases that should be translated by the professional translator. For example, a conventional translation request without context for translating the phrase “Promoted Videos” in a header can have the following format:
//MESSAGE 12345978
//[ENGLISH MESSAGE]
//Promoted Videos
///[DESCRIPTION]
//Header.
//
As can be seen, this textual message provides very little context for the translator, other than that the phrase occurs in a header.
FIG. 1 shows an improved method (100) for translating one or more phrases from a source language to a target language, in accordance with one implementation. As can be seen in FIG. 1, the process (100) starts with the translation software application receiving a request that contains a phrase to be translated from a source language to a target language (step 102), similar to what was described above. However, in contrast to conventional requests of the type described above, this request is an enhanced request that provides a better context for the professional translator. In one implementation, the enhanced translation request for translating the same phrase can have the following format:
//MESSAGE 12345978
//[ENGLISH MESSAGE]
//Promoted Videos
///[DESCRIPTION]
//Header.
////[CONTEXT]
//http://translationcontext/ab654df5d4af42c
//
As can be seen, in this enhanced translation request, a context link is included at the bottom of the request. The translator then decides whether she wants to see the context of the phrase (step 104). If the translator does not want to see any context, she enters a translation in the translation software application (step 108), similar to what is done in conventional translation situations. On the other hand, if the translator clicks on the context link, she is presented with a screenshot of the web page (step 106). FIG. 3 shows an example of such a screenshot (300), in which the location on the web page of the phrase (302) to be translated is clearly indicated. As can be seen in FIG. 3, the phrase (302) to be translated is marked with a frame, typically in a color that highlights the phrase (302), thus facilitating for the translator to identify the phrase (302) on the web page. As the skilled person realizes, the phrase (302) can be marked with any suitable identifier, such as a symbol, or be highlighted in a different color, etc. The translator enters the corresponding expression in the target language, in this case the Polish phrase “Promowane filmy wideo,” in her translation software application (step 108). Finally, it is determined whether there are any more phrases to be translated (step 110). If there are more phrases, the process returns to step 102 and continues as described above with another phrase that is to be translated. Given the ability to view the context for each phrase, it is significantly easier for the translator to make an accurate translation. If there are no more phrases or words to be translated, the process (100) ends.
In Context Translation Review Example
FIG. 2 shows a process for reviewing a proposed translation in accordance with one implementation. During the review process, the reviewer examines the translated page in the target language to check the consistency and correctness of the translation. A review screen (400) with the proposed translation is displayed to the reviewer (step 202). FIG. 4 shows an example of such a review screen (400), in which a source message frame (404) shows the source language phrase and a translation message frame (406) shows the phrase translated into the target language.
The reviewer then determines whether the translation is accurate (step 204). If the reviewer approves the translation, nothing else needs to be done and the process (200) ends. If the reviewer detects a discrepancy or decides that some translation of a phrase should be examined more carefully, the reviewer can enter an “edit mode” (step 206). FIG. 5 shows an example of such an edit mode in accordance with one implementation. In the edit mode, the translator can enter comments or corrections in the translation message frame (406). In some implementations, this “editing mode” is entered by pressing a button on the screen or on the keyboard, such as the ESC button indicated by the instructions above the message fields (404; 406) in FIG. 4. The translation message frame (406) is editable, so that the reviewer can enter an alternate translation into the translation message frame (406), such as the shown revised translation “Video, ktore promujemy” (step 208).
Once the reviewer has entered the revised translation in the translation message frame (406), she can click one of three buttons; a submit button (502) to submit the translation (typically to a translation server, which will be described in more detail below) (step 210), which ends the process. In the event that the reviewer changes her mind, there is also a reset button (504) that restores all original values, and a cancel button (506) that prevents the translation from being submitted and closes the translation console.
Translation Review Example
It should be noted that the translation review of course can be used in combination with other translation review software applications too, similar to what was described in the above translation example. That is, the reviewer is not required to make comments and corrections at the bottom of the review page (400), as described with respect to the in-context review above. Instead, the user may use separate translation review software application, and receive messages with translated phrase, which messages contain links that allow the reviewer to see a screenshot similar to the one in FIG. 2 with the context of the phrase, and then making any modifications or comments about the suggested translation using the other translation review software application.
Implementation Details and Alternatives
The above processes (100; 200) can be implemented, for example, as a web browser extension, in combination with a translation server. The web browser extension and the translation server can communicate in a conventional manner through a wired or wireless network, or a combination thereof; as is well known to those of ordinary skill in the art. In this implementation, the user interacts with the web browser extension through the web browser, to perform the above-described steps. In some implementations, it may be advantageous for the web browser extension to be generic and obtain information from the translation server.
In some implementations, the translation server provides several functions for the browser extension. Some of these functions include the following.
    • The translation server can serve additional information needed to improve the user experience, such as data about different languages between which the messages are being translated, the original content for the messages being translated, various translation-related metadata, etc. In some implementations, previous translations of the message or pending suggestions for a message can also be provided.
    • The translation server can forward corrections by the reviewer to different systems responsible for storing the translation data. The suggestion must typically be approved to appear in the final version of the web page or software product that is being translated.
    • The translation server can provide functionality that allows the browser extension to verify that the user has logged in before any types of advanced actions can be carried out.
    • The translation server can provide the translator with suggested translations, which may have been used in the past, to facilitate for the translator to find an accurate translation that is consistent with phrases that are used elsewhere within a webpage, website, or software application.
In some implementations, the translation server can also perform various other tasks, in addition to communicating with the web browser extension. As was described above, the translation server can act as a backend for the web browser extension. That is, the translation server can provide metadata, such as various permissions and rules defining which users may access and translate specific web pages, provide web pages for translation, or even provide a complete user interface of a web application or standalone software application. The translation server can also store the translations in a translation database, and forward the proposed translations to internal or external individual reviewers or translation services. The translation server may also provide a web interface for a translation database.
It should be noted that the techniques described above assume that there is a way to identify messages and their locations within web pages. As the skilled person realizes, there are multiple ways to identify messages and their locations. In one implementation, an extended XTHML (Extensible Hypertext Markup Language) structure of the page can be used, similar to what is done in many current applications, such as the Facebook social networking application, available from Facebook of Palo Alto, Calif. In another implementation, a set of characters that are invisible to the end user can be used to identify the messages in the web pages.
Various implementations can be made in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. Various implementations can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the various implementations can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user. The user can provide input to the computer system through various input devices such as a keyboard and a pointing device, such as a mouse, a trackball, a microphone, a touch-sensitive display, a transducer card reader, a magnetic or paper tape reader, a tablet, a stylus, a voice or handwriting recognizer, or any other well-known input device such as, of course, other computers. The computer system can be programmed to provide a graphical user interface through which computer programs interact with users.
Finally, the processor optionally can be coupled to a computer or telecommunications network, for example, an Internet network, or an intranet network, using a network connection, through which the processor can receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using the processor, may be received from and outputted to the network. The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.
It should be noted that the various implementations described herein employ computer implemented operations involving data stored in computer systems. These operations include, but are not limited to, those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. The operations described herein that form part are useful machine operations. The manipulations performed are often referred to in terms, such as, producing, identifying, running, determining, comparing, executing, downloading, or detecting.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. For example, the user interface can be updated dynamically with the proposed translation after the proposed translation has been submitted. This allows the translator to immediately detect, for example, whether any proposed phrases in the target language are too long to fit within a particular user interface element, such as a button, or the like. As a result, the translator can then change the translation and use an alternative, shorter phrase. Accordingly, other implementations are within the scope of the following claims.

Claims (21)

The invention claimed is:
1. A computer-implemented method for translating digital content from a source language to a target language, the method comprising:
providing for display, by at least one processor, digital content from a page to be translated from the source language to the target language and a context of the digital content in the source language, wherein the context of the digital content includes a representation of at least a portion of the page including the digital content and further includes additional digital content in the source language in the page, and wherein the representation of the page preserves a layout and style of the digital content and of the additional digital content in the page;
receiving, by the at least one processor, a user generated translation of the digital content into the target language; and
submitting, by the at least one processor, the user generated translation to a translation server.
2. The method of claim 1, wherein the digital content comprises text in the source language.
3. The method of claim 1, wherein at least part of the digital content is highlighted in the context.
4. The method of claim 1, further comprising:
storing the user generated translation in at the translation server; and
performing one or more actions pertaining to the user generated translation by the server, the one or more actions including: notifying a reviewer of the user generated translation, verifying user credentials for the user providing the user generated translation, providing further suggestions of user generated translations to the user based on previously submitted translations, or providing translation-related metadata to the user.
5. The method of claim 1, wherein the context is represented as one or more of: hypertext markup language code rendered in a web browser, a live representation of the digital content in a software application, or an image screenshot of the context of the digital content.
6. The method of claim 1, further comprising:
displaying the translated digital content to a reviewer in a review tool; and
receiving input from the reviewer pertaining to any translated phrases for correction.
7. The method of claim 6, wherein receiving input from the reviewer includes one or more of:
receiving input in a window pane that is part of a web browser window in which the translated digital content is displayed;
receiving input in a web browser window that is distinct from the web browser window in which the translated digital content is displayed;
receiving input in a form that is embedded in the web browser window in which the translated digital content is displayed; and
receiving input in a software application that is distinct from the web browser window in which the translated digital content is displayed.
8. The method of claim 1, further comprising:
updating the context for the translated digital content to show the user generated translation to the user after submitting the translation.
9. The method of claim 6, further comprising:
submitting the input from the reviewer to the translation server for further processing.
10. The method of claim 1, wherein the digital content represents words or phrases on a web page.
11. The method of claim 10, wherein displaying the context includes displaying the web page, or a portion thereof, on which the words or phrases occur.
12. The method of claim 1, wherein the digital content represents words or phrases on at least a portion of a graphical user interface of a software application program.
13. A system comprising:
a memory having computer readable program code embodied therewith;
a processor, the processor configured to:
provide for display digital content from a page to be translated from the source language to the target language and a context of the digital content in the source language, wherein the context of the digital content includes a representation of at least a portion of the page including the digital content and one or more additional digital content in the source language in the page, and wherein the representation of the page preserves a layout and style of the digital content and the one or more additional digital content in the page;
receive from the user a user generated translation of the digital content into the target language; and
submit the user generated translation to a translation server.
14. The system of claim 13, further comprising computer readable program code configured to:
store the user generated translation in at the translation server; and
perform one or more actions pertaining to the user generated translation by the server, the one or more actions including: notifying a reviewer of the user generated translation, verifying user credentials for the user providing the user generated translation, providing further suggestions of user generated translations to the user based on previously submitted translations, or providing translation-related metadata to the user.
15. The system of claim 13, wherein the context is represented as one or more of: hypertext markup language code rendered in a web browser, a live representation of the digital content in a software application, or an image screenshot of the context of the digital content.
16. The system of claim 13, further configured to:
display the translated digital content to a reviewer in a review tool; and
receive input from the reviewer pertaining to any translated phrases for correction.
17. The system of claim 13, further comprising computer readable program code configured to:
update the context for the translated digital content to show the user generated translation to the user after submitting the translation, thereby providing the possibility to immediately review the user generated translation.
18. The system of claim 16, further configured to:
submit the input from the reviewer to the translation server for further processing.
19. The system of claim 13, wherein the digital content represents words or phrases on a web page.
20. The system of claim 18, wherein displaying the context includes displaying a web page, or a portion thereof, on which the words or phrases occur.
21. A system for translating digital content from a source language to a target language, the system comprising:
one or more processors;
a display mechanism configured to provide for display digital content from a page to be translated from the source language to the target language and a context of the digital content in the source language, wherein the context of the digital content includes a representation of at least a portion of the page including the digital content and one or more additional digital content in the source language in the page, and wherein the representation of the page preserves a layout and style of the digital content and the additional digital content in the page;
a receive mechanism operable by the one or more processors and configured to receive from the user a user generated translation of the digital content into the target language; and
a submit mechanism operable by the one or more processors and configured to submit the user generated translation to a translation server.
US13/972,117 2011-02-28 2013-08-21 Contextual translation of digital content Active US8805671B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/972,117 US8805671B1 (en) 2011-02-28 2013-08-21 Contextual translation of digital content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/036,990 US8527259B1 (en) 2011-02-28 2011-02-28 Contextual translation of digital content
US13/972,117 US8805671B1 (en) 2011-02-28 2013-08-21 Contextual translation of digital content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/036,990 Continuation US8527259B1 (en) 2011-02-28 2011-02-28 Contextual translation of digital content

Publications (1)

Publication Number Publication Date
US8805671B1 true US8805671B1 (en) 2014-08-12

Family

ID=48225540

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/036,990 Active 2031-08-12 US8527259B1 (en) 2011-02-28 2011-02-28 Contextual translation of digital content
US13/250,641 Active US8442811B1 (en) 2011-02-28 2011-09-30 Contextual translation of digital content
US13/972,117 Active US8805671B1 (en) 2011-02-28 2013-08-21 Contextual translation of digital content

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/036,990 Active 2031-08-12 US8527259B1 (en) 2011-02-28 2011-02-28 Contextual translation of digital content
US13/250,641 Active US8442811B1 (en) 2011-02-28 2011-09-30 Contextual translation of digital content

Country Status (1)

Country Link
US (3) US8527259B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060822A1 (en) * 2015-08-31 2017-03-02 Xiaomi Inc. Method and device for storing string

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405791B2 (en) * 2010-12-13 2016-08-02 Google Inc. Remotely updated toolbar language translation service
US9235569B1 (en) 2014-06-26 2016-01-12 Google Inc. Techniques for on-the-spot translation of web-based applications without annotating user interface strings
US9442923B1 (en) 2015-11-24 2016-09-13 International Business Machines Corporation Space constrained text translator
US20170168999A1 (en) * 2015-12-14 2017-06-15 International Business Machines Corporation Translating web applications based on a context model
US9519871B1 (en) 2015-12-21 2016-12-13 International Business Machines Corporation Contextual text adaptation
US10971157B2 (en) * 2017-01-11 2021-04-06 Nuance Communications, Inc. Methods and apparatus for hybrid speech recognition processing
US10235363B2 (en) * 2017-04-28 2019-03-19 Sap Se Instant translation of user interfaces of a web application
US11468234B2 (en) * 2017-06-26 2022-10-11 International Business Machines Corporation Identifying linguistic replacements to improve textual message effectiveness
US10963627B2 (en) * 2018-06-11 2021-03-30 Adobe Inc. Automatically generating digital enterprise content variants

Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535120A (en) * 1990-12-31 1996-07-09 Trans-Link International Corp. Machine translation and telecommunications system using user ID data to select dictionaries
US5612872A (en) * 1994-04-13 1997-03-18 Matsushita Electric Industrial Co., Ltd. Machine translation system
US5797011A (en) * 1990-10-23 1998-08-18 International Business Machines Corporation Method for controlling the translation of information on a display screen from a source language to a target language
US20010029455A1 (en) * 2000-03-31 2001-10-11 Chin Jeffrey J. Method and apparatus for providing multilingual translation over a network
US6345244B1 (en) * 1998-05-27 2002-02-05 Lionbridge Technologies, Inc. System, method, and product for dynamically aligning translations in a translation-memory system
US6385568B1 (en) * 1997-05-28 2002-05-07 Marek Brandon Operator-assisted translation system and method for unconstrained source text
US20030009320A1 (en) * 2001-07-06 2003-01-09 Nec Corporation Automatic language translation system
US20030040900A1 (en) * 2000-12-28 2003-02-27 D'agostini Giovanni Automatic or semiautomatic translation system and method with post-editing for the correction of errors
US20030069997A1 (en) * 2001-08-31 2003-04-10 Philip Bravin Multi modal communications system
US6697777B1 (en) * 2000-06-28 2004-02-24 Microsoft Corporation Speech recognition user interface
US20040168132A1 (en) * 2003-02-21 2004-08-26 Motionpoint Corporation Analyzing web site for translation
US20050010419A1 (en) * 2003-07-07 2005-01-13 Ahmad Pourhamid System and Method for On-line Translation of documents and Advertisement
US6999916B2 (en) * 2001-04-20 2006-02-14 Wordsniffer, Inc. Method and apparatus for integrated, user-directed web site text translation
US20060095424A1 (en) * 2001-09-24 2006-05-04 John Petropoulos Methods and apparatus for mouse-over preview of contextually relevant information
US20060126821A1 (en) * 2002-09-27 2006-06-15 Nozomu Sahashi Telephone interpretation assistance device and telephone interpretation system using the same
US20060136223A1 (en) * 2004-12-21 2006-06-22 Xerox Corporation Bilingual authoring assistant for the "tip of the tongue" problem
US20060165225A1 (en) * 2002-09-27 2006-07-27 Nozomu Sahashi Telephone interpretation system
US7130792B2 (en) * 2000-10-16 2006-10-31 Iis Inc. Method for offering multilingual information translated in many languages through a communication network
US20060282255A1 (en) * 2005-06-14 2006-12-14 Microsoft Corporation Collocation translation from monolingual and available bilingual corpora
US7277845B2 (en) * 2001-11-22 2007-10-02 Kabushiki Kaisha Toshiba Communication support apparatus and method
US20080162112A1 (en) 2007-01-03 2008-07-03 Vistaprint Technologies Limited System and method for translation processing
US20080288240A1 (en) * 2005-11-03 2008-11-20 D Agostini Giovanni Network-Based Translation System And Method
US20090132232A1 (en) 2006-03-30 2009-05-21 Pegasystems Inc. Methods and apparatus for implementing multilingual software applications
US20090182547A1 (en) 2008-01-16 2009-07-16 Microsoft Corporation Adaptive Web Mining of Bilingual Lexicon for Query Translation
US20090192783A1 (en) * 2008-01-25 2009-07-30 Jurach Jr James Edward Method and System for Providing Translated Dynamic Web Page Content
US20100082778A1 (en) 2008-10-01 2010-04-01 Matt Muilenburg Systems and methods for configuring a network of affiliated websites
US20100107114A1 (en) 2008-10-28 2010-04-29 Zachcial Slawomir In context web page localization
US7721303B2 (en) 2004-04-20 2010-05-18 Embria Informatica Ltda. System for management of interactions between users and software applications in a web environment
US20100138211A1 (en) 2008-12-02 2010-06-03 Microsoft Corporation Adaptive web mining of bilingual lexicon
US20100305940A1 (en) 2009-06-01 2010-12-02 Microsoft Corporation Language translation using embeddable component
US8050906B1 (en) 2003-06-01 2011-11-01 Sajan, Inc. Systems and methods for translating text
US8346536B2 (en) 2006-05-12 2013-01-01 Eij Group Llc System and method for multi-lingual information retrieval

Patent Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797011A (en) * 1990-10-23 1998-08-18 International Business Machines Corporation Method for controlling the translation of information on a display screen from a source language to a target language
US5535120A (en) * 1990-12-31 1996-07-09 Trans-Link International Corp. Machine translation and telecommunications system using user ID data to select dictionaries
US5612872A (en) * 1994-04-13 1997-03-18 Matsushita Electric Industrial Co., Ltd. Machine translation system
US6385568B1 (en) * 1997-05-28 2002-05-07 Marek Brandon Operator-assisted translation system and method for unconstrained source text
US6345244B1 (en) * 1998-05-27 2002-02-05 Lionbridge Technologies, Inc. System, method, and product for dynamically aligning translations in a translation-memory system
US20010029455A1 (en) * 2000-03-31 2001-10-11 Chin Jeffrey J. Method and apparatus for providing multilingual translation over a network
US6697777B1 (en) * 2000-06-28 2004-02-24 Microsoft Corporation Speech recognition user interface
US7130792B2 (en) * 2000-10-16 2006-10-31 Iis Inc. Method for offering multilingual information translated in many languages through a communication network
US20030040900A1 (en) * 2000-12-28 2003-02-27 D'agostini Giovanni Automatic or semiautomatic translation system and method with post-editing for the correction of errors
US6999916B2 (en) * 2001-04-20 2006-02-14 Wordsniffer, Inc. Method and apparatus for integrated, user-directed web site text translation
US20030009320A1 (en) * 2001-07-06 2003-01-09 Nec Corporation Automatic language translation system
US20030069997A1 (en) * 2001-08-31 2003-04-10 Philip Bravin Multi modal communications system
US20060095424A1 (en) * 2001-09-24 2006-05-04 John Petropoulos Methods and apparatus for mouse-over preview of contextually relevant information
US7277845B2 (en) * 2001-11-22 2007-10-02 Kabushiki Kaisha Toshiba Communication support apparatus and method
US20060165225A1 (en) * 2002-09-27 2006-07-27 Nozomu Sahashi Telephone interpretation system
US20060126821A1 (en) * 2002-09-27 2006-06-15 Nozomu Sahashi Telephone interpretation assistance device and telephone interpretation system using the same
US20040168132A1 (en) * 2003-02-21 2004-08-26 Motionpoint Corporation Analyzing web site for translation
US8050906B1 (en) 2003-06-01 2011-11-01 Sajan, Inc. Systems and methods for translating text
US20050010419A1 (en) * 2003-07-07 2005-01-13 Ahmad Pourhamid System and Method for On-line Translation of documents and Advertisement
US7721303B2 (en) 2004-04-20 2010-05-18 Embria Informatica Ltda. System for management of interactions between users and software applications in a web environment
US20060136223A1 (en) * 2004-12-21 2006-06-22 Xerox Corporation Bilingual authoring assistant for the "tip of the tongue" problem
US20060282255A1 (en) * 2005-06-14 2006-12-14 Microsoft Corporation Collocation translation from monolingual and available bilingual corpora
US20080288240A1 (en) * 2005-11-03 2008-11-20 D Agostini Giovanni Network-Based Translation System And Method
US20090132232A1 (en) 2006-03-30 2009-05-21 Pegasystems Inc. Methods and apparatus for implementing multilingual software applications
US8346536B2 (en) 2006-05-12 2013-01-01 Eij Group Llc System and method for multi-lingual information retrieval
US20080162112A1 (en) 2007-01-03 2008-07-03 Vistaprint Technologies Limited System and method for translation processing
US20090182547A1 (en) 2008-01-16 2009-07-16 Microsoft Corporation Adaptive Web Mining of Bilingual Lexicon for Query Translation
US20090192783A1 (en) * 2008-01-25 2009-07-30 Jurach Jr James Edward Method and System for Providing Translated Dynamic Web Page Content
US20100082778A1 (en) 2008-10-01 2010-04-01 Matt Muilenburg Systems and methods for configuring a network of affiliated websites
US20100107114A1 (en) 2008-10-28 2010-04-29 Zachcial Slawomir In context web page localization
US20100138211A1 (en) 2008-12-02 2010-06-03 Microsoft Corporation Adaptive web mining of bilingual lexicon
US20100305940A1 (en) 2009-06-01 2010-12-02 Microsoft Corporation Language translation using embeddable component

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
SDL,"Trados Studio Product Brief", Copyright 2010 SCL PLC., Downloaded from www.sdl.com on Nov. 9, 2010.
SDL,"WorldServer Product Brief", Copyright 2010 SCL PLC., Downloaded from www.sdl.com on Nov. 9, 2010.
USPTO,"Notice of Allowance", in U.S. Appl. No. 13/250,641, Jan. 24, 2013.
USPTO,"Office Action in U.S. Appl. No. 13/036,990", Nov. 7, 2012.
USPTO,"Office Action in U.S. Appl. No. 13/250,641", Dec. 29, 2011.
USPTO,"Office Action in U.S. Appl. No. 13/250,641", May 31, 2012.
USPTO,"Response to Office Action in U.S. Appl. No. 13/036,990", Mar. 7, 2013.
USPTO,"Response to Office Action in U.S. Appl. No. 13/250,641", Aug. 31, 2012.
USPTO,"Response to Office Action in U.S. Appl. No. 13/250,641", Mar. 29, 2012.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060822A1 (en) * 2015-08-31 2017-03-02 Xiaomi Inc. Method and device for storing string

Also Published As

Publication number Publication date
US8442811B1 (en) 2013-05-14
US8527259B1 (en) 2013-09-03

Similar Documents

Publication Publication Date Title
US8805671B1 (en) Contextual translation of digital content
US20230236805A1 (en) Systems and Methods for Development and Deployment of Software Platforms Having Advanced Workflow and Event Processing Components
US10140263B2 (en) System and method for generating task-embedded documents
US7801721B2 (en) Displaying original text in a user interface with translated text
US7983897B2 (en) Machine translation feedback
US20100095198A1 (en) Shared comments for online document collaboration
US11017052B1 (en) Electronic forms interaction framework for a consistent user experience
US20140281951A1 (en) Automated collaborative editor
US20210149842A1 (en) System and method for display of document comparisons on a remote device
JP2016526216A (en) Conversion from ink to text representation
US20150200893A1 (en) Document review system
US10140260B2 (en) Intelligent text reduction for graphical interface elements
US20140164900A1 (en) Appending content with annotation
US20070124295A1 (en) Systems, methods, and media for searching documents based on text characteristics
US10503808B2 (en) Time user interface with intelligent text reduction
US9081864B2 (en) Late resource localization binding for web services
US20150178259A1 (en) Annotation hint display
US20130219257A1 (en) Textual and formatted data presentation
US20180357324A1 (en) Auto Identification and Mapping of Functional Attributes from Visual Representation
CN114072787A (en) System and method for fast data entry to facilitate document review
US20150186363A1 (en) Search-Powered Language Usage Checks
US20170139895A1 (en) Method and System for Report Generation
US20150324073A1 (en) Displaying aligned ebook text in different languages
JP2017527879A (en) Entity recognition for improved document productivity
US20220300699A1 (en) Combination therapy to treat cancer and uses thereof

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: GOOGLE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044695/0115

Effective date: 20170929

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8