# US 2018/0024848 A1 · Translatable Texts Identification in In-Context Localization Utilizing Pseudo-Language and an External Server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0024848 A1
- Document ID: US20180024848A1
- Status: Published application
- Kind: A1
- Application number: 15/715,134
- Filed: 2017-09-25
- Published: 2018-01-25
- Earliest claimed: 2013-12-02
- Assignees: Crowdin, Inc.
- Applicants: Crowdin, Inc.
- Inventors: Serhiy Dmytryshyn
- Web page: https://patentgrep.com/patent/US20180024848A1

## CPC

- G06F 9/454: {Multi-language systems; Localisation; Internationalisation}
- G06F 40/47: Machine-assisted translation, e.g. using translation memory
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Software-as-a-service system and methods for assisting translators by utilizing in-context localization with a localization editor that permits the translator to easily view how their translations appear on the application interface in real-time without having to navigate between different screens (e.g. between the translation input interface, and the screen that displays how it will appear to the viewer). Pseudo-language that comprises extra language with special identifiers is added to a localizable application in place of the original text. The pseudo-language is identified in the runtime, after which it is mapped and replaced with the original text or their translations. An external server is used to generate the pseudo-language based on source texts, and to do the matching by communicating with the application being translated while it is being run with the activated pseudo-language. The translated software comprises a web-based application, content websites and non-web related software, e.g. mobile applications, desktop software.

## Claims

### Claim 1

A network-based computing system for in-context localization allowing a translator to view current translations in an application in real-time, comprising:
a. a translation server comprising a processor and a memory device operably connected to one another, and a plurality of computer-executable instructions stored on said memory device and executed by said processor, comprising:
i. a computer-executable instructions to convert a plurality of source texts with pseudo-language texts;
ii. a database storing records comprising, the source texts, internal identifiers, pseudo-language variants of the source texts, and a translation of the source texts;
b. an application server comprising a processor and a memory device operably connected to one another, and a plurality of computer-executable instructions stored on said memory device and executed by said processor;
c. an end-user electronic computing device that can be used by a developer of the application, and to set up the integration between the translation server and the application server, and/or to perform the synchronization of the source strings and their translations manually;
d. a translator electronic computing device comprising a processor and a memory operably connected to one another, and a plurality of computer-executable instructions stored on said memory device and executed by said processor, comprising a computer-executable instructions for:
i. replacing in response to the translator running the application, the pseudo-language identifiers with the text in the first language and making the text user-selectable;
ii. launching a translation editor in response to the translator selecting the text, the editor comprising a view of the original string, the ability to receive manual input for correcting the translation, and to allow the translator to preview and save the translation to the translation server;
iii. displaying the corrected translation in the interface of the application;
iv. saving the corrected translation to the translation server; and
e. a wired or wireless network connection between the application server, the translation server, the one or more end-user and translator electronic computing devices.

### Claim 2 (depends on 1)

The network-based computer system of claim 1, wherein when the application is web-based software, the application server stores the data and the computer-executable instructions of the application being translated, and the localization resources that the application uses.

### Claim 3 (depends on 1)

The network-based computer system of claim 1, wherein when the application is non-web-based, the application server stores the application's computer executable instructions and the localization resources being compiled to re-produce the application on the end-user or the translator electronic computing device.

### Claim 4 (depends on 1)

The network-based computer system of claim 1, wherein the application server and the translation server synchronize the source texts of the application and their translations when the integration was configured.

### Claim 5 (depends on 1)

The network-based computer system of claim 1, wherein a formation of pseudo-language to display the pseudo-language text in the interface comprises,
separating a portion of text to be translated and saving all of its variables in a pseudo-language that can be replaced during execution of an application;
identifying plural forms of a string; and
adding a specific string identifier that matches to the identifier on the electronic computing device that stores the original source strings.

### Claim 6

An application translation computer method implemented via an application plugin and/or a library that runs on the translator electronic computing device, comprising:
a. reading pseudo-language and saving obtained details about each string in a memory of a translator electronic computing device, wherein the string details comprise the identifier on a server and a list of variables;
b. communicating with a server to get at least one source string and its current partial translation;
c. replacing the source strings in pseudo-language with their original versions, or with existing translations, and modifications of the strings that occurred during execution of the application;
d. providing an option to select strings by the translator in order to enter new translations;
e. displaying a translation editor within the application interface in response to the string's selection;
f. displaying a preview of a translation while the translator enters a text without re-execution of the code of an application that led the string being shown in the interface; and
g. storing entered translations on an external server.

### Claim 7 (depends on 6)

The application translation method of claim 6, wherein the additional software library is for contextual translations and the external server is for storing strings and translations, and wherein the library and external server are part of a platform that operates in software-as-a-service distribution model.

### Claim 8

A data processing method of an in-context localization for allowing a translator to view a current translation in an application in real-time, without re-execution of the application computer code that led a string being shown in a graphical user interface, comprising,
a. storing a source strings within a memory of an external translation server;
b. replacing by the external translation server source strings that were translated from a first language to a second language for pseudo-language texts, wherein the pseudo-language texts comprise a sequence of characters that allows a computer to map the pseudo-language texts with the source strings on the translation server, and allows the application to display pseudo-language texts as regular source texts, making changes to the displayed strings during the running of an application;
c. executing an application mode on a translator electronic computing device that makes the pseudo-language texts readable and allows the translator to select a text for translation;
d. executing a translation editor that is displayed in response to selecting the string by a translator, wherein the translation editor communicates with an external server to get the original strings;
e. storing the translated versions of the strings within a memory of the external translation server; and
f. integrating the translated versions of the strings into the application.

### Claim 9 (depends on 8)

The data processing method of claim 8, further comprising integrating the pseudo-language of step 8(b) without modifying the source code of the application, and by adding the additional target language with which an application usually works.

### Claim 10 (depends on 8)

The data processing method of claim 8, wherein replacing the pseudo-language texts with one is a source or other language(s), displaying on the interface for translation, previewing the sources strings, and saving the translations are implemented outside the application that is being localized.

### Claim 11 (depends on 8)

The data processing method of claim 8, wherein the in-context localization is performable in web-based applications, websites, and non-web-based applications comprising Android and iOS applications.

### Claim 12 (depends on 8)

The data processing method of claim 8, wherein the pseudo-language is generated by the remote translation server, then transmitted to and stored on the translator electronic computing device co-located with the application that is being localized.

### Claim 13 (depends on 8)

The data processing method of claim 8, wherein a translation mode comprises another copy of the application co-located with the main one.

### Claim 14 (depends on 8)

The data processing method of claim 8, wherein the editor comprises a graphical user interface that allows the translator to view the original string, input a translation, and instantly preview the translation in real-time.
