Systems and methods for language translation in network browsing applications

Information

  • Patent Grant
  • 7958446
  • Patent Number
    7,958,446
  • Date Filed
    Monday, October 31, 2005
    18 years ago
  • Date Issued
    Tuesday, June 7, 2011
    13 years ago
Abstract
A browsing application for accessing resources over a network includes code for receiving a command from a user to translate textual material appearing on an arbitrary page displayed in the content display area, and code for causing the textual material to be passed to a translation resource on the network, whereby the display area of the browsing application is caused to display a page which includes a translation of the textual material. The application may display a menu accessible from an arbitrary page whereby the user may select among translation options such as a translate to language and a translate from language. The application may be configured to cause text selected by a user to be translated, and/or may cause an entire page to be translated. Translated text may be displayed along with graphics in a layout similar to that of the original page.
Description

This application includes material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office files or records, but otherwise reserves all copyright rights whatsoever.


FIELD OF THE INVENTION

The present invention relates in general to the field of network browsing-enabled applications, and in particular to systems and methods for providing language translation features in such applications.


BACKGROUND OF THE INVENTION

Network browsing applications allow a computer user to view the contents of a network. Some network browsing applications, like Windows Explorer distributed by the Microsoft Corporation of Redmond, Wash., focus on specific types of networks and/or files. For example, Windows Explorer is primarily oriented toward browsing files in a local area network. Other network browsing applications, such as Netscape Navigator, distributed by Netscape Corporation of Mountain View, Calif., or Internet Explorer, distributed by the Microsoft Corporation, allow users to install “plug-in” applications that allow the network browsing application to work with additional file types. Additional examples of network browsing applications, referred to herein as “browsing applications” for simplicity, include, without limitation, internet browsers, mail programs with browsing capabilities, file-sharing applications, and any application which provides the capability to browse resources either on an external network (e.g., the internet) or an internal network. Such applications may be separate from or integrated into an operating system.


Many browsing application developers have focused their development efforts in the manner described above in an effort to meet certain market needs. Unfortunately, while the developers have greatly enhanced underlying browsing application functionality, they have not spent much time enhancing the user interface and related features associated with browsing applications.


One such feature is the browsing application's foreign language display capabilities. Many browsers have historically struggled to display non-ASCII characters, including pictographs, ideograms and cuneiform characters such as those used in many Asian languages and Middle Eastern languages. Given the difficulty browsers faced simply displaying such characters, it is little wonder that efforts to enhance the browsing application's multi-lingual capabilities have been slow to mature.


By way of example, browsing applications cannot perform linguistic translation. At best, language translation can be performed through software running on the user's computer, such as Systran 5.0, distributed by Systran Language Translation Systems of Paris, France, or Lec, distributed by Language Engineering Company, LLC of Belmont, Mass., or via a server-based web page, such as http://babelfish.altavista.com or http://dictionary.reference.com/translate. However, even where the translation is performed by a server-based web page, the user must navigate away from the current web page before the translation can be initiated. This is, at the least, inconvenient for the user.


What is needed is a means through which a user can more readily translate an entire page, or portion thereof, that is displayed in a browsing application.


SUMMARY OF THE INVENTION

Accordingly, the present invention is directed to systems and methods for providing features and user interfaces in network browsing applications that substantially obviate one or more of the problems due to limitations and disadvantages of the related art.


In one embodiment a browsing application for accessing resources over a network includes code for receiving a command from a user to translate textual material appearing on an arbitrary page displayed in a display area of the browsing application, and code for causing the textual material to be passed to a translation resource on the network, whereby the display area of the browsing application is caused to display a page which includes a translation of the textual material. The application may display a menu accessible from an arbitrary page whereby the user may select among translation options such as a translate to language and a translate from language. The application may further be configured to cause text selected by a user to be translated, and/or may cause an entire page to be translated. Translated text may be displayed along with graphics in a layout similar to that of the original page.


In other embodiments the browsing application includes code for retrieving and displaying network resources in a display area in accordance with a uniform resource locator entered or selected in an address field, code for receiving a command from a user to translate selected textual material appearing on an arbitrary page displayed in the display area, and code for causing the selected textual material to be passed to a translation resource on the network, whereby the display area is caused to display a page comprising a translation of the selected textual material.


In further embodiments code is provided for use in connection with a browsing application, the code including code for receiving a command from a user to translate textual material appearing on an arbitrary page displayed in the display area, and code for causing the textual material to be passed to a translation resource on the network, whereby the display area is caused to display a page including a translation of the textual material, wherein the entire page is displayed with the translation of the textual material arranged among graphics in a manner similar to that of the original untranslated arbitrary page.


Although the embodiments set forth above are directed to textual material, it should be apparent to one skilled in the art that graphical representations of textual material, including cuneiform and other such characters, may be the subject of translation without departing from the spirit or the scope of the invention.


Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a screen capture illustrating an exemplary translation menu.



FIG. 2 is a screen capture illustrating an exemplary dialog box resulting from the selection of a translation option from the translation menu illustrated in FIG. 1.



FIG. 3 is a screen capture of an embodiment of the invention wherein the entire page at a current URL is translated.



FIG. 4 is a screen capture illustrating an exemplary embodiment of the invention wherein the page at the URL of FIG. 3 has been translated.



FIG. 5 is a block diagram illustrating an exemplary architecture supporting the invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.


The disclosed embodiments relate to improved language translation features for network browsing-enabled applications. Such applications, referred to herein as “browsing applications,” include, e.g., internet browsers, mail programs with browsing capabilities, file-sharing applications, and any application which provides the capability to browse resources either on an external network (e.g., the internet) or an internal network. Such applications may be separate from or integrated into an operating system.


The functionality of the embodiments described herein is provided in the form of add-ons or plug-ins to an existing browsing application such as a web browser, but can alternatively be provided in the form of features written into a browsing application at the application's source code level. In certain embodiments, one or more of the features or functionality described below are provided as a compiled .dll file or series of compiled .dll files which are loaded at startup or runtime in connection with an existing browsing application so as to provide an improved user interface and/or additional functionality to the browsing application.


As is set forth in further detail below, one or more of the features or functionality described below can be provided or customized by a feed such as an XML feed which is delivered to the browser upon the occurrence of a triggering event. Such triggering event include, e.g., the loading of the browser into the operating system, a change in user-specific parameters, a time of day, etc. For load-balancing or other purposes, the triggering of feed downloads can be limited to a certain number of times per day, hour, minute, etc. The triggering event can occur on the client or on a server, and the feed can be requested by the client or pushed to the client from a server. In this respect, “client” as used herein can be either a client browsing application such as a web browser or a client machine in general.



FIGS. 1 through 5 illustrate embodiments wherein a language translation feature is provided by browsing application 1 in combination with a network-accessible translation engine such as a web-based translation site or locally accessible translation program, service or plug-in. In a first embodiment, illustrated in FIG. 1, browsing application 1 allows the user to highlight an arbitrary block of text or other characters 25 on an arbitrary page and display translation options 27, e.g., by right-clicking the selected characters 25 to display a menu with translation options. The menu may be a hierarchical nested menu as shown.


The translation options 27 can include, but are not limited to, “from” and “to” languages such as English-to-Italian, German-to-French, Italian-to-English, Chinese-to-Japanese, Korean-to-English, Hebrew-to-Portuguese, and the like. Browsing application 1 preferably includes processes which deliver the selected characters 25 to a language translation engine on the network along with a request to translate the characters from and to the selected languages. FIG. 2 illustrates an exemplary dialog box 29 that can result from the selection of a translation option 27 illustrated in FIG. 1.



FIG. 3 illustrates an exemplary embodiment in which the user can perform language translation upon an entire page at a current URL. Browsing application 1 in accordance with this embodiment allows a user to navigate to an arbitrary page and display language translation options 27 for the page, e.g., by right-clicking anywhere in the page to display a menu of translation options. Browsing application 1 preferably includes or has associated therewith processes which receive the selected translation option, in much the same manner as is described above with regard to FIG. 1, and deliver the entire page, or alternatively just the text-related portions of the page without graphics, to a language translation engine on the network along with a request to translate the textual material from and to the selected languages. In an alternative embodiment, the processes may receive the selected translation option and deliver a URL of the page-to-be-translated to a language translation engine on the network along with a request to translate the textual material from and to the selected languages. It should be apparent to one skilled in the art that textual material as used herein may be traditional ASCII text, extended text sets, any text supported by a markup language, characters associated with any language, and/or graphical representations of characters.


Upon receipt of the data from the processes, the language translation engine translates the textual material from the page and returns a page which is formatted similarly or identically to the original page but which includes the translated textual material. FIG. 4 illustrates an example of a translated page 31 that has been returned and displayed in browsing application 1 as a result of the selection of a translation option as illustrated in FIG. 3. As can be seen in FIG. 4, graphics and textual material can appear on the page 31 in much the same format as in the original page, but the textual material has been translated in accordance with the “from” and “to” languages selected by the user.


The list of languages available for translation and other configuration settings 14 can be transmitted to the user's browsing application 1 for storage on client 1 as local configuration settings 20 in various manners. In one embodiment, as illustrated in FIG. 5, configuration settings 14 can be transmitted from central server 12 via an XML feed that is requested by browsing application 1 at the client side when the user starts browsing application 1, logs into his account, or upon the occurrence of another event.


When the user requests translation of a block of textual material or an entire page, such as a page stored on standard web server 16, browsing application 1 sends the request to translation engine 22. Translation engine 22 can translate the textual material contained in the browsing application 1's request if such textual material exists, or translation engine 22 may request and retrieve the textual material from standard web server 16 if browsing application 1 provides a URL. Translation engine 22 can then transmit the translated textual material, or a fully-formed page including graphics, to browsing application 1.


While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.

Claims
  • 1. A computer comprising: a storage for storing instruction code;a processor for executing the instruction code, the instruction code comprising: code for retrieving, from a network, a web page and displaying the web page in a content display area of a browsing application executing on the computer in accordance with a uniform resource locator entered or selected in an address field;code for receiving a command from a user of the browsing application to translate the web page comprising textual material and graphics appearing on the web page;code for causing said textual material to be passed from the computer to a translation resource on the network in response to said command, wherein said code for causing said textual material to be passed to a translation resource comprises code for passing to said translation resource a uniform resource locator identifying a location of said textual material on said network; andcode for causing said content display area to display the web page comprising a translation of said textual material, wherein said web page having translated text arranged among graphics comprises a web page having a layout which is identical to a layout of the untranslated web page,wherein the browsing application allows the user to navigate to said web page and right-click anywhere in the web page to display a menu of translation options for the web page; andwherein the browsing application allows the user to select an arbitrary block of text or other characters on said web page, selects from and to languages from the translation options, and delivers the selected arbitrary block of text or other characters to a language translation engine on the network along with a request to translate the arbitrary block of text or other characters from and to the selected languages.
  • 2. The computer in accordance with claim 1, wherein said textual material comprises textual material selected by said user.
  • 3. The computer in accordance with claim 2, wherein said textual material selected by said user comprises textual material which is selected by using a cursor to highlight text.
  • 4. The computer in accordance with claim 1, wherein said command from said user comprises a selection of a menu item in said menu.
  • 5. The computer in accordance with claim 1, wherein said menu comprises a hierarchical nested menu.
  • 6. The computer in accordance with claim 1, wherein said textual material comprises a plurality of characters.
  • 7. The computer in accordance with claim 1, wherein said textual material comprises a graphical representation of a plurality of characters.
  • 8. The computer in accordance with claim 1, wherein said code for causing said textual material to be passed to a translation resource comprises code for passing said textual material to said translation resource as a parameter in said uniform resource locator.
  • 9. A method comprising: retrieving, from a network, a web page and displaying the web page in a content display area of a browsing application executing on a computer in accordance with a uniform resource locator entered or selected in an address field;receiving a command from a user of the browsing application to translate the web page comprising textual material among graphics appearing on the web page;causing said textual material to be passed from the computer to a translation resource on the network, wherein said code for causing said textual material to be passed to a translation resource comprises code for passing to said translation resource a uniform resource locator identifying a location of said textual material on said network; andcausing said content display area to display the web page comprising a translation of said textual material, wherein said translation of said textual material comprises a web page having translated text arranged among graphics in a layout which is identical to a layout of the untranslated web page,wherein the browsing application allows the user to navigate to said web page and right-click anywhere in the web page to display a menu of translation options for the web page; andwherein the browsing application allows the user to select an arbitrary block of text or other characters on said web page, selects from and to languages from the translation options, and delivers the selected arbitrary block of text or other characters to a language translation engine on the network along with a request to translate the arbitrary block of text or other characters from and to the selected languages.
  • 10. The method in accordance with claim 9, wherein said textual material is selected by said user by using a cursor to highlight text.
  • 11. The method in accordance with claim 9, wherein said textual material comprises a plurality of characters.
  • 12. The method in accordance with claim 9, wherein said textual material comprises a graphical representation of a plurality of characters.
  • 13. A computer-readable storage medium containing a set of instructions for a general purpose computer for accessing a web page over a network, the instructions comprising: code for retrieving, from the network, the web page and displaying the web page in a content display area of a browsing application executing on the computer in accordance with a uniform resource locator entered or selected in an address field;code for receiving a command from a user of a browsing application to translate the web page comprising textual material and graphics appearing on the web page;code for causing said textual material to be passed from the computer to a translation resource on the network, wherein said code for causing said textual material to be passed to a translation resource comprises code for passing to said translation resource a uniform resource locator identifying a location of said textual material on said network; andcode for causing said content display area to display the web page comprising a translation of said textual material, wherein said translation of said textual material comprises the web page having translated text arranged among graphics in a layout which is identical to a layout of the untranslated web page,wherein the browsing application allows the user to navigate to said web page and right-click anywhere in the web page to display a menu of translation options for the web page; andwherein the browsing application allows the user to select an arbitrary block of text or other characters on said web page, selects from and to languages from the translation options, and delivers the selected arbitrary block of text or other characters to a language translation engine on the network along with a request to translate the arbitrary block of text or other characters from and to the selected languages.
  • 14. The computer-readable storage medium in accordance with claim 13, wherein said textual material is selected by said user by using a cursor to highlight text.
  • 15. The computer-readable storage medium in accordance with claim 13, wherein said textual material comprises a plurality of characters.
  • 16. A computer visibly displaying on a display of the computer a browsing application, the computer comprising: a processor for executing: code for retrieving, from a network, a web page and displaying the web page in a content display area of the browsing application executing on the computer in accordance with a uniform resource locator entered or selected in an address field;code for receiving a command from a user to translate the web page comprising textual material arranged among graphics appearing on the web page navigated to by the user over the network;code for causing said textual material to be passed from the computer to a translation resource on the network in response to said command, wherein said code for causing said textual material to be passed to a translation resource comprises code for passing to said translation resource a uniform resource locator identifying a location of said textual material on said network; andcode for causing said content display area to display the web page comprising a translation of said textual material, wherein said web page having translated text arranged among graphics comprises a web page having a layout which is identical to a layout of the untranslated web page,wherein the browsing application allows the user to navigate to said web page and right-click anywhere in the web page to display a menu of translation options for the web page; andwherein the browsing application allows the user to select an arbitrary block of text or other characters on said web page, selects from and to languages from the translation options, and delivers the selected arbitrary block of text or other characters to a language translation engine on the network along with a request to translate the arbitrary block of text or other characters from and to the selected languages.
  • 17. The computer in accordance with claim 16, wherein said textual material comprises textual material selected by said user.
  • 18. The computer in accordance with claim 17, wherein said textual material selected by said user comprises textual material which is selected by using a cursor to highlight text.
  • 19. The computer in accordance with claim 16, wherein said command from said user comprises a selection of a menu item in said menu.
  • 20. The computer in accordance with claim 16, wherein said menu comprises a hierarchical nested menu.
  • 21. The computer in accordance with claim 16, wherein said textual material comprises a plurality of characters.
  • 22. The computer in accordance with claim 16, wherein said textual material comprises a graphical representation of a plurality of characters.
  • 23. The computer in accordance with claim 16, wherein said code for causing said textual material to be passed to a translation resource comprises code for passing said textual material to said translation resource as a parameter in said uniform resource locator.
Parent Case Info

This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/681,458 filed May 17, 2005 entitled Systems and Methods for Providing Features and User Interface in Network Browsing Applications, the disclosure of which is incorporated herein by reference in its entirety.

US Referenced Citations (72)
Number Name Date Kind
5917491 Bauersfeld Jun 1999 A
5987402 Murata et al. Nov 1999 A
6061738 Osaku et al. May 2000 A
6088731 Kiraly et al. Jul 2000 A
6091409 Dickman et al. Jul 2000 A
6195707 Minh Feb 2001 B1
6237030 Adams et al. May 2001 B1
6266060 Roth Jul 2001 B1
6297819 Furst Oct 2001 B1
6308212 Besaw et al. Oct 2001 B1
6338033 Bourbonnais et al. Jan 2002 B1
6427175 Khan et al. Jul 2002 B1
6476833 Moshfeghi Nov 2002 B1
6535912 Anupam et al. Mar 2003 B1
6628311 Fang Sep 2003 B1
6643661 Polizzi et al. Nov 2003 B2
6826540 Plantec et al. Nov 2004 B1
6832263 Polizzi et al. Dec 2004 B2
6857022 Scanlan Feb 2005 B1
6918090 Hesmer et al. Jul 2005 B2
6993473 Cartus Jan 2006 B2
7020696 Perry et al. Mar 2006 B1
7058726 Osaku et al. Jun 2006 B1
7103642 Chen et al. Sep 2006 B1
7124185 Kuroyanagi Oct 2006 B2
7185044 Ryan et al. Feb 2007 B2
7194552 Schneider Mar 2007 B1
7216292 Snapper et al. May 2007 B1
7228493 Kosak et al. Jun 2007 B2
7277718 Wong Oct 2007 B2
7278092 Krzanowski Oct 2007 B2
7281049 Verma et al. Oct 2007 B2
7293019 Dumais et al. Nov 2007 B2
7512710 Allen et al. Mar 2009 B2
7580960 Travieso et al. Aug 2009 B2
20010029455 Chin et al. Oct 2001 A1
20010041578 Na Nov 2001 A1
20020042799 Slotznick Apr 2002 A1
20020138331 Hosea et al. Sep 2002 A1
20020194300 Lin et al. Dec 2002 A1
20030101116 Rosko et al. May 2003 A1
20030104827 Moran et al. Jun 2003 A1
20030221167 Goldstein et al. Nov 2003 A1
20040044518 Reed et al. Mar 2004 A1
20040098360 Witwer et al. May 2004 A1
20040098451 Mayo May 2004 A1
20040098467 Dewey et al. May 2004 A1
20040102201 Levin May 2004 A1
20040102956 Levin May 2004 A1
20040193597 Johnson Sep 2004 A1
20040225749 Pavlik et al. Nov 2004 A1
20050216834 Gu Sep 2005 A1
20050216837 Washburn Sep 2005 A1
20050267973 Carlson et al. Dec 2005 A1
20050289147 Kahn et al. Dec 2005 A1
20050289468 Kahn et al. Dec 2005 A1
20060004830 Lora et al. Jan 2006 A1
20060047649 Liang Mar 2006 A1
20060085741 Weiner et al. Apr 2006 A1
20060167860 Eliashberg et al. Jul 2006 A1
20060173985 Moore Aug 2006 A1
20060200740 Kahn et al. Sep 2006 A1
20060253459 Kahn et al. Nov 2006 A1
20060265472 Seitz et al. Nov 2006 A1
20060265481 Seitz et al. Nov 2006 A1
20060265518 Owens et al. Nov 2006 A1
20070073701 Miller et al. Mar 2007 A1
20070106627 Srivastava et al. May 2007 A1
20070174286 Seitz et al. Jul 2007 A1
20070220441 Melton et al. Sep 2007 A1
20080133487 Gross et al. Jun 2008 A1
20080275967 Borman et al. Nov 2008 A1
Related Publications (1)
Number Date Country
20060265652 A1 Nov 2006 US
Provisional Applications (1)
Number Date Country
60681458 May 2005 US