Software application dynamic linguistic translation system and methods
AssigneeCitrix Systems, Inc.
InventorJeffrey D. Wisgo
Life of this patent
Estimating the term…
Abstract
Aspects of the present disclosure relate to text and/or image translation computing systems, and in particular, text and image processing of user-interface elements during run-time of a software application. Code is injected into an application binary file. During execution of the application the injected code executes to identify user-interface elements defined within the application and extracts various textual aspects, such as text strings, from the user-interface elements. The system translates the extracted text strings into a desired language and modifies the user-interface element to include the translated text.
Claims21
A method for modifying software applications, comprising:
- injecting code into a software application that was previously loaded onto a computing device, where
- the software application includes a plurality of user-interface elements and is implemented to generate text, included within respective user-interface elements of the plurality of user-interface elements, in a first language but not in a second language,
- the second language is different than the first language and is not supported by the software application, and
- the code facilitates communication between the software application and a translation engine of a remote device;
- and
- during run-time of the software application on the computing device:
- using the injected code to identify a first user-interface element of the plurality of user-interface elements that is displayed and comprises a first text written in the first language;
- rendering an object showing at least a portion of the first user-interface element having the first text replaced with a second text, the second text comprising the first text translated into the second language;
- and
- overlaying the object on top of the at least a portion of the first user-interface element comprising the first text, where the second text of the object is shown with at least one customized character font or spacing characteristic that is different than a corresponding character font or spacing characteristic of the first text.
A system for modifying software applications, comprising:
- a client computing device comprising hardware and a software application loaded thereon, the software application including a plurality of user interface elements, the software application implemented to generate text, included within respective user-interface elements of the plurality of user-interface elements, in a first language but not in a second language, and the second language being different than the first language and not supported by the software application;
- and
- a server computing device in communication with the client computing device, the server computing device comprising hardware and software configured to:
- inject code into the software that facilitates communication between the software application of the client computing device and a translation engine of the server computing device;
- and
- during run-time of the software application on the client computing device:
- use the code to identify a first user-interface element of the plurality of user-interface elements that is displayed and comprises a first text written in the first language;
- render an object showing at least a portion of the first user-interface element having the first text replaced with a second text, the second text comprising the first text translated into the second language;
- and
- overlaying the object on top of the at least a portion of the first user-interface element comprising the first text, where the second text of the object is shown with at least one customized character font or spacing characteristic that is different than a corresponding character font or spacing characteristic of the first text.
A non-transitory computer readable medium encoded with instructions for modifying software applications, the instructions executable by one or more computing devices, comprising:
- injecting code into a software application, where
- the software application includes a plurality of user-interface elements and is implemented to generate text, included within respective user-interface elements of the plurality of user-interface elements, in a first language but not in a second language,
- the second language is different than the first language and is not supported by the software application, and
- the code facilitates communication between the software application and a translation engine of a remote device;
- and
- during run-time of the software application:
- use the code to identify a first user-interface element of the plurality of user-interface elements that comprises a first text written in a first language;
- render an object showing at least a portion of the first user-interface element having the first text replaced with a second text, the second text comprising the first text translated into the second language;
- and
- overlying the object on top of the at least a portion of the first user-interface element comprising the first text, where the second text of the object is shown with at least one customized character font or spacing characteristic that is different than a corresponding character font or spacing characteristic of the first text.
Dependencies are inferred from the claim text.