Runtime UI Text Translation via Binary Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications often limit language support for user-interface elements, forcing users to either use an undesired language or undergo costly and labor-intensive redevelopment to access desired languages, especially in enterprise settings where source code may not be available.

Innovation Solution

A network-based computing system automatically injects code into software applications to identify and translate textual aspects of user-interface elements during runtime, using a wrapping process or SDK model to support languages not originally supported by the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software applications support a limited set of languages for user-interface elements, then the application can be developed and maintained with simpler architecture, but users cannot access their desired languages

Engineering Contradiction:
Improvelanguage supportVSAvoidapplication architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that sits between the application's native user interface and the user. This translation layer intercepts user interface elements, translates them between languages in real-time, and presents the translated content to the user. This mediator approach enables multi-language support without requiring the application itself to be rebuilt for each language, thus resolving the contradiction between adaptability and complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the user interface into translatable elements that can be independently processed. By breaking down the user interface into discrete components (buttons, menus, labels) and translating them separately through the injection mechanism, the system achieves language adaptability while maintaining the original application architecture intact, avoiding the complexity of full application redevelopment

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If developers re-develop the software to support desired languages, then users can access their preferred languages, but the process is time-consuming, labor-intensive, and expensive

Engineering Contradiction:
Improvelanguage supportVSAvoidredevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by injecting translation capability into the application during the deployment phase rather than requiring redevelopment. The translation layer is pre-configured with language pairs and translation rules, enabling the application to support multiple languages immediately upon deployment without time-consuming redevelopment cycles

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a virtual copy of the user interface through the translation layer. Instead of modifying the original application code to support new languages, the system creates a translated version that mirrors the original interface but presents content in the user's preferred language. This copying approach eliminates redevelopment time while achieving full language support

Inventive Principle:
Principle #26Copying

3Reliability

If the source code of the software application is not available for redevelopment, then application security and proprietary protection are maintained, but language translation cannot be implemented

Engineering Contradiction:
Improveapplication securityVSAvoidlanguage support
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent uses an intermediary injection mechanism that operates at the binary level rather than requiring source code access. The translation layer is injected into the running application or compiled binary, intercepting user interface rendering calls and translating output without modifying the original application code. This preserves application security and proprietary protection while enabling language adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical system of source code modification with a runtime injection mechanism. Instead of physically altering the application's source code (which would compromise security), the system uses dynamic code injection and interception techniques to add translation functionality. This substitution maintains the integrity and security of the original application while achieving the desired adaptability

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10474482B2Software application dynamic linguistic translation system and methods
Publication Date: 2019.11.12 CITRIX SYSTEMS INC
  • US10474482B2 patent drawing
  • US10474482B2 patent drawing
  • US10474482B2 patent drawing

AI summary

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.