Sign In to Follow Application
View All Documents & Correspondence

Data Translation System And Method Thereof

Abstract: The present invention provides concepts related to data translation. The present invention discloses a data translation technique where source text being displayed in one application and upon selection of source text, the translation being accomplished on a second application and the translated text is provided to the first application. Therefore, the whole data translation process appears as an in-place data translation to a user where the user need not to leave from the first application, where the user is working, to seek the translation done in other application.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
08 August 2017
Publication Number
07/2019
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
info@krishnaandsaurastri.com
Parent Application

Applicants

MITSUBISHI ELECTRIC CORPORATION
7-3, Marunouchi 2-chome, Chiyoda-ku, Tokyo 100-8310,

Inventors

1. Kunal PATWARDHAN
Flat No. 9, Raghunath Co-op Society, Plot No. 143, Lane No. 3, Dahanukar Colony, Kothrud Pune 411038,

Specification

Claims:
1. A computer implemented data translation method comprising the steps of:
selecting one or more objects from a first application running on a computing device having a memory and a processor;
copying said selected one or more objects to a second application running on said computing device;
monitoring continuously said second application having said copied one or more objects;
identifying a presence of one or more source text in said one or more objects;
separating said identified one or more source text from said one or more objects;
translating said identified one or more source text into one or more translated text;
updating said one or more objects with said one or more translated text on said second application, and
rendering said updated one or more objects through said first application running on said computing device.

2. The method of claim 1, wherein the monitoring steps further comprising:
monitoring continuously said second application for one or more image objects, and
converting said one or more image objects into one or more text objects.

3. The method of claim 1, wherein said one or more objects are one or more text messages.

4. The method of claim 1, wherein said one or more objects are one or more images.

5. The method of claim 1, wherein the separating steps comprising:
splitting said one or more source text to form an array of text segments;
processing each of said array of text segments;
assessing the ASCII value of each character of said array of text segments;
determining if the ASCII value of said character of said array of text segments is in pre-defined range of translated character range, and
filtering of said character of said array of text segments based on the determining step.

6. The method of claim 1, wherein the translation steps comprising:
resolving one or more source text from a translation cache;
sending one or more unresolved source text to a translation server, and
matching one or more unresolved source text with one or more translated text stored in said translation server.

7. The method of claim 1, wherein said rendering the updated one or more objects through said first application running on said computing device extended to another display device.

8. A computer implemented system (102) for data translation, the system comprising:
a memory (110);
a processor (112) coupled with the memory (110);
a selection module (120) coupled with the processor (112), the selection module (120) configured to:
select one or more objects from a first application running on a computing device (106), and
copy said selected one or more objects to a second application running on said computing device (106);
a monitoring module (122) coupled with the processor (112), the monitoring module (122) configured to monitor continuously said second application having said copied one or more objects;
a processing module (124) coupled with the processor (112), the processing module (124) configured to:
identify a presence of one or more source text in said one or more objects;
separate said identified one or more source text from said one or more objects, and
a translation module (126) coupled with the processor (112), the translation module (126) configured to:
translate said identified one or more source text into one or more translated text;
update said one or more objects with said one or more translated text on said second application, and
render said updated one or more objects through said first application running on said computing device (106).

9. The system of claim 8, wherein the monitoring module (122) further configured to monitor continuously said second application for one or more image objects, and convert said one or more image objects into one or more text objects.

10. The system of claim 8, wherein the processing module (124) further configured to:
split said one or more source text to form an array of text segments,
process each of said array of text segments;
assess the ASCII value of each character of said array of text segments;
determine if the ASCII value of said character of said array of text segments is in pre-defined range of translated character range, and
filter said character of said array of text segments based on the determine step.

11. The system of claim 8, wherein the translation module (126) further configured to:
resolve one or more source text from a translation cache (208);
send one or more unresolved source text to a translation server (210), and
match one or more unresolved source text with one or more translated text stored in said translation server (210).

12. The system of claim 8, wherein the translation module (126) further configured to render the updated one or more objects through said first application running on said computing device (106) extended to another display device(106-d).
, Description:FORM 2
THE PATENTS ACT, 1970
(39 OF 1970)
&
THE PATENTS RULES, 2003

COMPLETE SPECIFICATION
[SEE SECTION 10, RULE 13]

DATA TRANSLATION SYSTEM AND METHOD THEREOF

MITSUBISHI ELECTRIC CORPORATION
JAPANESE CORPORATION
7-3, MARUNOUCHI 2-CHOME, CHIYODA-KU,
TOKYO 100-8310, JAPAN

THE FOLLOWING SPECIFICATION PARTICULARLY DESCRIBES THE INVENTION AND THE MANNER IN WHICH IT IS TO BE PERFORMED.

TECHNICAL FIELD
[001] The present invention relates generally to data information processing, and, particularly but not exclusively, to a method and system for translating textual information on a running application.
BACKGROUND
[002] In the present globalization set up for any multi-national company, one of the biggest challenge is to bridge the gap between different set of people for a smooth operation of the company. One of the important factor among the present challenges is the difficulty of working in many different languages by the people who are operating from different geographical locations. Therefore, for the smooth operation of the company, there is a requirement of a translator who may bridge the gap of languages between the people who are working in different geographical locations. In this sense, the language translator has always been on demand and the advent of technology has made the task of the translation a lot easier over the years.
[003] As we have seen over the years, a variety of machine translation tools with acceptable efficiencies gradually replaced the human translators. Machine translation is a swift and easily accessible process. Moreover, the availability of an adequate number of source and destination languages can meet the requirements of a large group of people, further benefitting a wider audience. Computational linguistics has made translation a lot more user friendly and efficient. Despite the simplicity of these tools, it requires shifting between various interfaces to get the target translation done.
[004] Conventionally, a machine translation tool has an interface that provides space to enter the text to be translated and options to customize the source and destination languages. The source text is selected from a working interface and the translated text is re-entered onto the same. The requirement of a second interface that demands abandoning the current working interface is a technical issue that can still be resolved. Furthermore, there are some other options available for translating a complete file in a foreign language. In such processes, a user need to provide the complete file as an input to tool for translation and in turn tool provides output with the translated text in the same file format. In such translated file, there are few text which are already presented in a translated language which do not required to be translated again. There are some more limitations associated with such tools such as there is no integration facilities available with many applications for instant translation. Further, there are lack of filter definitions for intended translated languages. Majority of the translation tools do not provide any local translation database caching for faster translation purpose and they lack text phrase occurrence or usage count of the particular text phrase. Furthermore, there are some system performance related issues as well, for example, distribution of translation loads on various workstations.
[005] Therefore, there is a need of a system and method to provide better and more efficient data translation without switching between a plurality of applications running on a computing device.
SUMMARY
[006] This summary is provided to introduce concepts related to translating textual information on running applications in computing devices. This summary is neither intended to identify essential features of the present invention nor is it intended for use in determining or limiting the scope of the present invention.
[007] For example, various embodiments herein may include one or more systems and methods for data translation are provided. In one of the embodiment, the method includes selecting one or more objects from a first application running on a computing device. The method includes copying the selected one or more objects to a second application running on the computing device. Further, the method includes monitoring continuously the second application having the copied one or more objects. Subsequently, the method includes identifying a presence of one or more source text in the one or more objects and separating the identified one or more source text from the one or more objects. Further, the method includes translating the identified one or more source text into one or more translated text. Upon translation, the method further includes updating the one or more objects with the one or more translated text on the second application, and rendering the updated one or more objects through the first application running on the computing device.
[008] Alternatively, the method further includes rendering the updated one or more objects through the first application running on the computing device extended to another display device. Alternatively, the monitoring step further includes monitoring continuously the second application for one or more image objects. Once the image objects are detected, converting the image objects into one or more text objects.
[009] In another embodiment, the system includes a selection module which is configured to select one or more objects from a first application running on a computing device, and copy the selected one or more objects to a second application running on the computing device. Further, the system includes a monitoring module which is configured to monitor continuously the second application having the copied one or more objects. The system further includes a processing module which is configured to identify a presence of one or more source text in the one or more objects and separate the identified one or more source text from the one or more objects. Further, the system includes a translation module that is configured to translate the identified one or more source text into one or more translated text and then update the one or more objects with the one or more translated text on the second application. Once the translated text is updated, the translation module is configured to render the updated one or more objects through the first application running on the computing device. Alternatively, the translation module is configured to render the updated one or more objects through the first application running on the computing device extended to another display device.

BRIEF DESCRIPTION OF ACCOMPANYING DRAWINGS
[0010] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and modules.
[0011] Fig. 1 illustrates a block diagram depicting a computer implemented translation system, according to an exemplary implementation of the present invention.
[0012] Fig. 2 illustrates a block diagram depicting a data translation in between two running applications, according to an exemplary implementation of the present invention.
[0013] Fig. 3 illustrates a block diagram depicting a data translation in between two running applications where an image is detected on first running application, according to an exemplary implementation of the present invention.
[0014] Fig. 4 illustrates a block diagram depicting a data translation in between two running applications where an image is detected on first running application and the translated objects are provided on extended display screen, according to an exemplary implementation of the present invention.
[0015] Fig. 5 illustrates a flowchart depicting a data translation in between two running applications, according to an exemplary implementation of the present invention.
[0016] Fig. 6 illustrates a flowchart depicting a data translation in between two running applications where an image is detected on first running application, according to an exemplary implementation of the present invention.
[0017] Fig. 7 illustrates a flowchart depicting a data translation in between two running applications where an image is detected on first running application and the translated objects are provided on extended display screen, according to an exemplary implementation of the present invention.
[0018] Fig. 8 illustrates a method for data translation, according to an exemplary implementation of the present invention.
[0019] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present invention. Similarly, it will be appreciated that any flowcharts, flow diagrams, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0020] In the following description, for the purpose of explanation, specific details are set forth in order to provide an understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these details. One skilled in the art will recognize that embodiments of the present invention, some of which are described below, may be incorporated into a number of systems.
[0021] The various embodiments of the present invention provide a system and a method of data translation.
[0022] Furthermore, connections between components and/or modules within the figures are not intended to be limited to direct connections. Rather, these components and modules may be modified, re-formatted or otherwise changed by intermediary components and modules.
[0023] References in the present invention to “one embodiment” or “an embodiment” mean that a particular feature, structure, characteristic, or function described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
[0024] In one of the implementation, the present invention discloses a data translation technique where source text being displayed in one application and upon selection of source text, the translation being accomplished on a second application and the translated text is provided to the first application. Therefore, the whole data translation process appears as an in-place data translation to a user where the user need not to leave from the first application, where the user is working, to seek the translation done in other application.
[0025] In another implementation, the present invention discloses a computer implemented method for data translation. The method includes selecting one or more objects from a first application running on a computing device. The method includes copying the selected one or more objects to a second application running on the computing device. Further, the method includes monitoring continuously the second application having the copied one or more objects. Subsequently, the method includes identifying a presence of one or more source text in the one or more objects and separating the identified one or more source text from the one or more objects. Further, the method includes translating the identified one or more source text into one or more translated text. Upon translation, the method further includes updating the one or more objects with the one or more translated text on the second application, and rendering the updated one or more objects through the first application running on the computing device.
[0026] In another implementation, the method includes rendering the updated one or more objects through the first application running on the computing device extended to another display device. Additionally, the monitoring step further includes monitoring continuously the second application for one or more image objects. Once the image objects are detected, converting the image objects into one or more text objects.
[0027] In another implementation, the separating step of the method further includes splitting said one or more source text to form an array of text segments and processing each of said array of text segments. Upon processing, assessing the ASCII value of each character of said array of text segments. To this end, the separating further includes determining if the ASCII value of said character of said array of text segments is in pre-defined range of translated character range, and filtering of said character of said array of text segments based on said determining.
[0028] In another implementation, the translation step of the method further includes a text processing algorithm. The text processing algorithm includes resolving one or more source text from a translation cache. The resolving step may be considered as finding the exact match of equivalent translated array of text segment corresponding to the source array of text segment from the translated cache. The translated cache may be understood as a cache memory having a list of frequently used translated array of text segment. Further, there may be one or more unresolved source text from the above-mentioned step. In this respect, the text processing algorithm further includes sending one or more unresolved source text to a translation server. The translation server may be connected to a database which includes translated array of text segment corresponding to one or more source array of text segment. The text processing algorithm also keep a track of frequently translated array of text segment and provide a counter to the frequently translated array of text segment. Therefore, the text processing algorithm maintains a ranking of each of translated array of text segment. On the basis of the ranking of the translated array of text segment, the text processing algorithm put the frequently used translated array of text segment into the cache memory which may also be referred as local translation cache. Further, the text processing algorithm includes matching one or more unresolved source text with one or more translated text stored in the translation server.
[0029] In another embodiment, the present invention discloses a computer implemented system for data translation. The system includes a selection module which is configured to select one or more objects from a first application running on a computing device, and copy the selected one or more objects to a second application running on the computing device. Further, the system includes a monitoring module which is configured to monitor continuously the second application having the copied one or more objects. The system further includes a processing module which is configured to identify a presence of one or more source text in the one or more objects and separate the identified one or more source text from the one or more objects. Further, the system includes a translation module that is configured to translate the identified one or more source text into one or more translated text and then update the one or more objects with the one or more translated text on the second application. Once the translated text is updated, the translation module is configured to render the updated one or more objects through the first application running on the computing device. Alternatively, the translation module is configured to render the updated one or more objects through the first application running on the computing device extended to another display device.
[0030] In another implementation, the translation module is configured to render the updated one or more objects through the first application running on the computing device extended to another display device. Additionally, the monitoring module is further configured to monitor continuously the second application for one or more image objects. Once the image objects are detected, the monitoring module is configured to convert the image objects into one or more text objects.
[0031] It should be noted that the description merely illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described herein, embody the principles of the present invention. Furthermore, all examples recited herein are principally intended expressly to be only for explanatory purposes to help the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
[0032] Fig. 1 illustrates an exemplary block diagram depicting a computer implemented translation system (102) for data translation, according to an exemplary implementation of the present invention. The computer implemented system (102) includes a network (104) a plurality of user devices 106 (106a, 106b, 106c, 106d, 106e), a database (108), a processor (112), I/O interfaces (114), a memory (110), a plurality of modules (116), and plurality of data (118).
[0033] The network (104) interconnects the user devices (106) and the database (108) with the translation system (102). The network (104) includes wired and wireless networks. Examples of the wired networks include a Wide Area Network (WAN) or a Local Area Network (LAN), a client-server network, a peer-to-peer network, and so forth. Examples of the wireless networks include Wi-Fi, a Global System for Mobile communications (GSM) network, and a General Packet Radio Service (GPRS) network, an enhanced data GSM environment (EDGE) network, 802.5 communication networks, Code Division Multiple Access (CDMA) networks, or Bluetooth networks.
[0034] In the present implementation, the database 108 may be implemented as enterprise database, remote database, local database, and the like. The database (108) may be located within the vicinity of the translation system (102) or may be located at different geographic locations as compared to that of the translation system (102). Further, the database (108) may themselves be located either within the vicinity of each other, or may be located at different geographic locations. Furthermore, the database (108) may be implemented inside the translation system (102) and the database (108) may be implemented as a single database.
[0035] In the present implementation, the translation system (102) includes one or more processors (112). The processor (112) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor (112) is configured to fetch and execute computer-readable instructions stored in the memory (110).
[0036] The I/O interface (114) may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface (114) may allow the translation system (102) to interact with a user directly or through the user devices (106). Further, the I/O interface (114) may enable the translation system (102) to communicate with other user devices or computing devices, such as web servers and external data servers (not shown). The I/O interface (114) can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface (114) may include one or more ports for connecting a number of devices to one another or to another server.
[0037] The memory (110) may be coupled to the processor (112). The memory (110) can include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory (110) also includes a cache memory to work with the data translation system (102) more effectively.
[0038] Further, the translation system (102) includes modules (116). The modules (116) include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation, the module (116) includes a selection module (120), a monitoring module (122), a processing module (124), a translation module (126) and other modules (128). The other modules (128) may include programs or coded instructions that supplement applications and functions of the translation system (102).
[0039] Furthermore, in the present implementation, the system includes a selection module (120) which is configured to select one or more objects from a first application running on a computing device, and copy the selected one or more objects to a second application running on the computing device. Further, the system includes a monitoring module (122) which is configured to monitor continuously the second application having the copied one or more objects. The system further includes a processing module (124) which is configured to identify a presence of one or more source text in the one or more objects and separate the identified one or more source text from the one or more objects. Further, the system includes a translation module (126) that is configured to translate the identified one or more source text into one or more translated text and then update the one or more objects with the one or more translated text on the second application. Once the translated text is updated, the translation module is configured to render the updated one or more objects through the first application running on the computing device. Alternatively, the translation module (126) is configured to render the updated one or more objects through the first application running on the computing device extended to another display device.
[0040] In another implementation, the processing module (124) is further configured to split the one or more source text to form an array of text segments and further the processing module (124) is configured to process each of the array of text segments. Furthermore, the processing module (124) is configured to assess the ASCII value of each character of the array of text segments. To this end, processing module (124) is further configured to determine if the ASCII value of the character of the array of text segments is in pre-defined range of translated character range, and based on this information, the processing module (124) is configured to filter the character of said array of text segments.
[0041] In another implementation, the translation module (126) is configured to adapt a text processing algorithm. On the instruction of the text processing algorithm, the translation module (126) is configured to resolve one or more source text from a translation cache (208), that may also be referred as the local translation cache. The resolving operation may be considered as finding the exact match of equivalent translated array of text segment corresponding to the source array of text segment from the translated cache (208). The translated cache (208) may be understood as a cache memory having a list of frequently used translated array of text segment. Further, there may be one or more unresolved source text from the above-mentioned operation. In this respect, the translation module (126) is configured to send one or more unresolved source text to a translation server (210). The translation server (210) may be connected to the database (108) which includes translated array of text segment corresponding to one or more source array of text segment. The translation module (126) is also configured to keep a track of frequently translated array of text segment and provide a counter operation to the frequently translated array of text segment. Therefore, the translation module (126) is configured to maintain a ranking of each of translated array of text segment with the help of the counter operation. On the basis of the ranking of the translated array of text segment, the translation module (126) is configured to keep the frequently used translated array of text segment into the cache memory which may also be referred as local translation cache or the translated cache (208). Further, the translation module (126) is configured to match one or more unresolved source text with one or more translated text stored in the translation server (210).
[0042] In another implementation, the data (118) may include various data pertaining to the operation of the processor (112), and other data (134). The data (118), amongst other things, may serve as a repository for storing data that is processed, received, or generated as a result of the execution of one or more modules in the other module(s) (128). Although the data (118) is shown internal to the translation system (102), it may be understood that the data (118) can reside in an external repository or the database (108), which may be coupled to the translation system (102). Further, the data (118) broadly includes a translation data (130), and a system data (132). The translation data (130) includes all the data pertaining to the translation process of the translation system (102). The system data (132) includes all other data except the translation data (130). The translation data (130) and the system data (132), both may be stored in the database (108). The other data (134) may include data generated as a result of the execution of one or more modules in the other module (128).
[0043] Fig. 2 illustrates a block diagram (200) depicting a data translation in between two running applications (202, 204), according to an exemplary implementation of the present invention. The block diagram (200) typically implemented in a computing environment. The block diagram (200) includes an application block as Application-1 (202) where an application is running which might be referred to as any utility application, for example, a text editor or a source code editor. The block diagram (200) also includes another application block Application-2 (204) where another application is running. For example, the Application-2 (204) may be referred to a clipboard application which is a default application of operating system of computing device.
[0044] In the present exemplary implementation, the present invention uses the clipboard services which provides the mechanism to copy content from various editors. Therefore, the operating system provides the facility where a content which is copied on Application-1 (202), the text editor, is held on Application-2 (204), the clipboard service, automatically. The block diagram (200) includes a monitoring engine (206) which monitors the clipboard (204) for the intended source text, such as Japanese text, content in it. When the monitoring engine (206) found the Japanese text, it sends the Japanese text to a translation server (210) and further it replaces the translated response received from the translation server (210) back to the clipboard service (204). User of the present invention can easily use “copy” and “paste” mechanism to in-place translate, for example Japanese text, on demand. Further, during the present translation operation, local translation database caches are maintained and kept in a translation cache (208) which are used for fast translation. During the translation operation, the invention uses smart filtering of mixed texts with custom defined input filters to avoid accidental translation submission of non-Japanese text to the translation server (210).
[0045] Fig. 3 illustrates a block diagram (300) depicting a data translation in between two running applications (202, 204) where an image is detected on first running application (202), according to an exemplary implementation of the present invention. The block diagram (300) typically implemented in a computing environment. The block diagram (300) includes an application block as Application-1 (202), for example an image editor or a text editor or a source code editor. The block diagram (300) also includes another application block Application-2 (204) where another application is running, for example a clipboard application.
[0046] In the present exemplary implementation, whenever user selects and issues copy command in the image editor (202), the selected image is copied to another application (204), the clipboard application. A monitoring engine (206) usually monitor the clipboard (204) for the copied image and image in it. If the clipboard (204) contains image, this image further sent to an OCR application (302) which convert the image into the text. Further, the monitoring engine (206) search for source text, for example Japanese text, upon the above conversion operation.
[0047] When the monitoring engine (206) found the Japanese text, it sends the Japanese text to a translation server (210) and further it replaces the translated response received from the translation server (210) back to the clipboard service (204). The user of the present invention may easily use “copy” and “paste” mechanism to in-place translate Japanese text on demand. Further, during the present translation operation, local translation database caches are maintained and kept in a translation cache (208) which are used for fast translation. During the translation operation, the invention uses smart filtering of mixed texts with custom defined input filters to avoid accidental translation submission of non-Japanese text to the translation server (210).
[0048] Fig. 4 illustrates a block diagram 400 depicting a data translation in between two running applications (202, 204) where an image is detected on first running application (202) and the translated objects are provided on extended display screen (404), according to an exemplary implementation of the present invention. The block diagram (400) typically implemented in a computing environment. The block diagram (400) includes a Display Device-1 (402) where an application “Application-1” (202), for example an image editor or a text editor or a source code editor. The block diagram (400) also includes another Display Device-2 (404) where an Application-3 (406) is running which is basically an extended display of the Application-1 (202).
[0049] In the present exemplary implementation, whenever user selects and issues copy command in the image editor (202), the selected image is copied to another application (204), for example it may be referred as the clipboard application of the operating system. A monitoring engine (206) usually monitor the clipboard (204) for the copied image and image in it. If the clipboard (204) contains image, this image further sent to an OCR application (302) which convert the image into the text. Further, the monitoring engine (206) search for source text, for example Japanese text, upon the above conversion operation.
[0050] When the monitoring engine (206) found the Japanese text, it sends the Japanese text to a translation server (210) and further it replaces the translated response received from the translation server (210) back to the clipboard service (204). The user of the present invention may easily use “copy” and “paste” mechanism to in-place translate Japanese text on demand. Further, during the present translation operation, local translation database caches are maintained and kept in a translation cache (208) which are used for fast translation. Further, once the translation operation is over, the monitoring engine (206) update the translated text in the image. An image viewer which may also be referred as Application-3 (406) may open the updated image having the translated text on the Display Device-2 (404) which is basically replicate translated replica image of the Display Device-1 (402).
[0051] Fig. 5 illustrates a flowchart (500) depicting a data translation in between two running applications thereby achieving in-place text translation, according to an exemplary implementation of the present invention.
[0052] The flowchart (500) starts at step (502) where an application, can be referred as a text editor, is running as an application on a computing device. Typical example of the text editor is Notepad, Notepad++, Microsoft Word, Microsoft Power Point, Eclipse and the like. Further, generally all of the modern operating systems provide a clipboard facility. Whenever a user selects and issues a copy command in the running application, i.e. text editor. The selected text is copied to the clipboard application. Another application, may be called as monitoring engine, may monitor clipboard continuously for a source text, for example can be referred as Japanese text, in the text editor.
[0053] Therefore, at step (504), the monitoring engine is continuously look for the presence of the Japanese text. If the Japanese text is found on the text editor, at step (506), the Japanese text phrases are separated from non-Japanese text phrases. At step (508), it resolves Japanese text segment from a local translation cache. At step (510), if all the Japanese text segment are not resolved, the unresolved Japanese text segment may be sent to a translation server at step (512). At step (514), it receives translated text segments from the translation server and at step (516), the local translation cache will be updated. On the other hand, at the step (510), if all the Japanese text segments are resolved, the same will be updated in the clipboard at step (518). When user issues a paste command to in-place replace text to be translated with translated text at step (520). At step (522), the translation operation stops.
[0054] Fig. 6 illustrates a flowchart (600) depicting a data translation in between two running applications where an image is detected on first running application, thereby achieving in-place image translation, according to an exemplary implementation of the present invention.
[0055] The flowchart (600) starts at step (602) where an application, can be referred as an image editor, is running as an application on a computing device. Typical example of the image editor is Microsoft Paint, Microsoft Word, Microsoft Power Point and the like. Further, generally all of the modern operating systems provide a clipboard facility. Whenever a user selects and issues a copy command in the running application, i.e. image editor. The selected image is copied to the clipboard application. Another application, may be called as monitoring engine, may monitor clipboard continuously for image in it.
[0056] Therefore, at step (604), the identified image sent to another application, for example, an OCR application where the image is converted into the text. Further, at step (606), the monitoring engine is continuously look for the presence of the Japanese text in the converted text format. If the Japanese text is found on the converted text format, at step (608), the Japanese text phrases are separated from non-Japanese text phrases. At step (610), it resolves Japanese text segment from a local translation cache. At step (612), if all the Japanese text segment are not resolved, the unresolved Japanese text segment may be sent to a translation server at step (614). At step (616), it receives translated text segments from the translation server and at step (618), the local translation cache will be updated. On the other hand, at the step (612), if all the Japanese text segments are resolved, the same will be converted and updated in the image format at the step (620). Further, at step (622), the converted image is updated on the clipboard application. At step (624), when user issues a paste command to in-place replace image to be translated with translated image at step (624). At step (626), the translation operation stops.
[0057] Fig. 7 illustrates a flowchart (700) depicting a data translation in between two running applications where an image is detected on first running application and the translated objects are provided on extended display screen, thereby achieving translation on clone screen, according to an exemplary implementation of the present invention.
[0058] The flowchart (700) starts at step (702) where an application, can be referred as an image editor or a text editor, is running as an application on a computing device. Further, generally all of the modern operating systems provide a clipboard facility. Whenever a user issues a “print screen” command in the running application. The entire screen is copied to the clipboard application in image format. Another application, may be called as monitoring engine, may monitor clipboard continuously for image in it.
[0059] Therefore, at step (704), the identified image sent to another application, for example, an OCR application where the embedded text in image is converted into the text format. Further, at step (706), the monitoring engine is continuously look for the presence of the Japanese text in the converted text format. If the Japanese text is found on the converted text format, at step (708), the Japanese text phrases are separated from non-Japanese text phrases. At step (710), it resolves Japanese text segment from a local translation cache. At step (712), if all the Japanese text segment are not resolved, the unresolved Japanese text segment may be sent to a translation server at step (714). At step (716), it receives translated text segments from the translation server and at step (718), the local translation cache will be updated. On the other hand, at the step (712), if all the Japanese text segments are resolved, the same will be converted and updated in the image format at the step (720). Further, at step (722), the converted image may be opened on the image viewer on another display screen which will replicate translated replica image of the first display screen. At step (724), the translation operation stops.
[0060] Fig. 8 illustrates a method for data translation, according to an exemplary implementation of the present invention.
[0061] Referring now to Fig. 8, a flowchart (800) of a method for data translation, according to an exemplary implementation of the present invention. The flowchart 800 of Fig. 8 is explained below with reference to Fig. 1 as described above.
[0062] At step 802, selecting one or more objects from a first application running on a computing device.
[0063] At step 804, copying said selected one or more objects to a second application running on said computing device.
[0064] At step 806, monitoring continuously said second application having said copied one or more objects.
[0065] At step 808, identifying a presence of one or more source text in said one or more objects.
[0066] At step 810, separating said identified one or more source text from said one or more objects.
[0067] At step 812, translating said identified one or more source text into one or more translated text.
[0068] At step 814, updating said one or more objects with said one or more translated text on said second application.
[0069] And, at step 816, rendering said updated one or more objects through said first application running on said computing device.
[0070] It should be noted that the description merely illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described herein, embody the principles of the present invention. Furthermore, all examples recited herein are principally intended expressly to be only for explanatory purposes to help the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.

Documents

Application Documents

# Name Date
1 201721028183-ORIGINAL UNDER RULE 6 (1A)-110917.tif 2018-08-11
1 201721028183-STATEMENT OF UNDERTAKING (FORM 3) [08-08-2017(online)].pdf 2017-08-08
2 201721028183-FORM 1 [08-08-2017(online)].pdf 2017-08-08
3 201721028183-FIGURE OF ABSTRACT [08-08-2017(online)].pdf 2017-08-08
4 201721028183-DRAWINGS [08-08-2017(online)].pdf 2017-08-08
5 201721028183-DECLARATION OF INVENTORSHIP (FORM 5) [08-08-2017(online)].pdf 2017-08-08
6 201721028183-COMPLETE SPECIFICATION [08-08-2017(online)].pdf 2017-08-08
7 201721028183-Proof of Right (MANDATORY) [07-09-2017(online)].pdf 2017-09-07
8 201721028183-FORM-26 [11-09-2017(online)].pdf 2017-09-11
9 Abstract1.jpg 2018-08-11
10 201721028183-ORIGINAL UNDER RULE 6 (1A)-200917.pdf 2018-08-11