Automated String Extraction and Translation Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Translating text associated with user interface elements in software applications is tedious, time-consuming, and error-prone, often requiring manual effort and occurring only after software development is complete, leading to delays and increased development time.

Innovation Solution

A method for automating the translation process by extracting strings from code, using machine translation services, and allowing human translators to review and approve suggestions, with features like confidence values and custom dictionaries to improve accuracy, and leveraging prior translations to reduce future work, while initiating translations upon code changes or commits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual translation is used for user interface strings, then translation accuracy can be maintained through human review, but the translation process becomes tedious and time-consuming

Engineering Contradiction:
Improvetranslation accuracyVSAvoidtranslation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The translation process is segmented into distinct phases: machine translation generates initial translations, then human translators review and approve suggestions. This segmentation allows machine handling of routine translation tasks while human reviewers focus only on verification and correction, resolving the contradiction between accuracy and time consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Machine translation is performed as a preliminary action before human review. The system pre-generates translations using machine translation services, so that when human translators review the content, the基础性 translation work has already been completed. This preliminary action reduces the time human translators need to spend while maintaining quality through subsequent human verification.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If translation is performed after software development is complete, then all strings can be translated together, but delays and increased development time occur

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoiddevelopment timeline
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary extraction of translatable strings from code during the development process itself, rather than waiting until development is complete. This allows translation to begin earlier in the development lifecycle, reducing delays while maintaining the ability to translate all necessary strings.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The translation process is made continuous rather than batch-processed at the end. As strings are extracted from code during development, they are immediately prepared for translation. This continuous process eliminates idle time and keeps the translation workflow aligned with the development pace, improving overall productivity without sacrificing completeness.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If all strings are presented to translators, then comprehensive translation coverage is achieved, but the process becomes more complex and time-consuming

Engineering Contradiction:
Improvetranslation completenessVSAvoidtranslation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts only the translatable strings from the code and presents them to translators in a simplified format, separating the translation task from the surrounding code context. This extraction reduces the complexity of the translation process by focusing translators' attention only on the text that needs translation, while still ensuring all necessary strings are covered.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates a simplified copy or representation of the strings to be translated, separate from the original code structure. Translators work with this extracted copy that contains only the translatable content in a standardized format, reducing complexity while maintaining translation completeness. The extracted strings can be automatically integrated back into the codebase after translation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11301643B2String extraction and translation service
Publication Date: 2022.04.12 SAP SE
  • US11301643B2 patent drawing
  • US11301643B2 patent drawing
  • US11301643B2 patent drawing

AI summary

Techniques and solutions are described for translating strings in a human language that are associated with code, such as code that declares user interface elements in association with which the strings can be displayed. The strings can be embedded in code, or can be included in files that are accessed by the code or used in creating executable code. Strings can be extracted from data, such as files, received in a translation request. After translation, such as by a human translator or using automatic translation, the translation results can be provided in response to the translation request. The translation process can be automated, such that changes to files in a code repository can trigger a translation request. Disclosed technologies can facilitate the production of programs that are localized using different human languages.