IP Library › Granted Patent US 10,540,452
Granted Patent B1
US 10,540,452 · App. 16/014,761 · Granted Jan 21, 2020

Automated translation of applications

Inventor: Brett Andrews (Olympia, WA)
Assignee: Amazon Technologies, Inc.
G06F17/289G06F9/454G06F9/45512G06F16/173G06F17/2836
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,540,452
App. No.
16/014,761
Granted
Jan 21, 2020
Kind
B1
Abstract

This disclosure describes providing and improving upon automated techniques for translating words presented by an application from one natural language into one or more different natural languages. In some examples, the techniques include obtaining a file that includes strings that have been stripped out, copied, or otherwise obtained from source code of an application. Further, the techniques include automating the communication of the strings to a translator service, and the receipt of translated strings from the translator service that have been translated into one or more natural languages. Additionally, one or more files may be generated to store the translated strings according to the natural languages to which the strings were translated. Finally, the files including the translated strings may be stored in a location, such as a repository, where they may be provided to clients of the application according to the natural languages of the clients.

Claims (87)

1. A system comprising:

one or more processors; and

one or more computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:

providing a computing device with access to a command-line interface (CLI) to receive commands from the computing device, the computing device being associated with an application developer;

receiving, via the CLI and from the computing device, an indication that source code of an application was at least one of modified or pushed to a repository;

at least partly responsive to receiving the indication, sending, to a translation service, a request to translate first application strings from a first natural language to a second natural language, the first application strings associated with the source code of the application and included in a first data file stored in the repository;

receiving, from the translation service, second application strings that are in the second natural language, wherein individual strings of the second application strings are translations of individual strings of the first application strings;

generating a second data file including the second application strings; and

storing the second data file in the repository.

2. The system of claim 1 , wherein the source code comprises first source code, the operations further comprising:

detecting that second source code was stored in the repository;

based at least in part on detecting the second source code being stored in the repository:

identifying a third data file including third application strings associated with the second source code, wherein the third application strings are in the first natural language;

causing each of the third application strings to be sent to the translation service;

receiving, from the translation service, fourth application strings that are in the second natural language;

generating a fourth data file including the fourth application strings; and

storing the fourth data file in the repository.

3. The system of claim 1 , the operations further comprising, prior to storing the second data file in the repository:

receiving input to modify an application string of the second application strings; and

generating, based at least in part on the input, a modified application string,

wherein the second data file includes the modified application string.

4. A computer-implemented method comprising:

identifying a first data file including a first string associated with source code of an application, the first string being in a first natural language;

identifying, from a predefined schedule, a time associated with translating the first string associated with the source code of the application;

determining, based at least in part on identifying the time, to translate the first string from the first natural language into a second natural language;

causing the first string to be sent to a translation service;

receiving, from the translation service, a second string in the second natural language, the second string being a translation of the first string;

generating a second data file including the second string; and

causing the second data file to be stored in a repository associated with the source code of the application.

5. The computer-implemented method of claim 4 , further comprising:

providing a computing device with access to an interface to receive commands from the computing device,

receiving, via the interface and from the computing device, a command to translate the first application string.

6. The computer-implemented method of claim 5 , further comprising:

receiving, via the interface and from the computing device, input that specifies a directory of the repository in which to store the second data file,

wherein the causing the second data file to be stored in the repository comprises causing the second data file to be stored in the directory of the repository.

7. The computer-implemented method of claim 4 , further comprising detecting that at least one of a portion of the source code was pushed to the repository or a portion of the first data file was pushed to the repository.

8. The computer implemented method of claim 4 , further comprising:

providing a computing device with access to an interface to receive commands from the computing device; and

receiving, from the computing device and via the interface, the predefined time.

9. The computer-implemented method of claim 4 , further comprising, prior to causing the second data file to be stored in the repository:

receiving input to modify the second string; and

generating, based at least in part on the input, a modified application string,

wherein the second data file includes the modified application string.

10. The computer-implemented method of claim 4 , further comprising:

sending a pull request to a computing device associated with the repository, wherein the pull request prompts the computing device to notify a user account associated with the application that the second data file was stored in the repository.

11. The computer-implemented method of claim 4 , further comprising:

analyzing a metafile that indicates strings associated with the application that have previously been translated using the translation service;

identifying, from the metafile, a third string that has previously been translated from the first natural language into the second natural language; and

refraining from sending the third string to the translation service.

12. A system comprising:

one or more processors; and

one or more computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:

monitoring a repository that stores first source code of an application;

detecting a trigger event associated with second source code being stored in the repository, the trigger event comprising at least one of:

an update to the first source code to generate the second source code; or

an addition of the second source code to the repository;

identifying a first data file including a first string associated with first source code of an application, the first string being in a first natural language;

based at least in part on detecting the trigger event, causing the first string to be sent to a translation service;

receiving, from the translation service, a second string in a second natural language, the second string comprising a translation of the first string;

generating a second data file including the second string; and

causing the second data file to be stored in a repository.

13. The system of claim 12 , wherein:

the trigger event comprises the update to the first source code to generate the second source code; and

the first string comprises an updated version of a third string that was updated based at least in part on the update to the first source code.

14. The system of claim 12 , wherein:

the trigger event comprises the addition of the second source code to the repository; and

the first string comprises an added application string included in the second source code.

15. The system of claim 12 , the operations further comprising:

identifying, from a predefined schedule, a predefined time associated with translating a third string from the first natural language into the second natural language;

based at least in part on the predefined time, sending the third string to a translation service; and

receiving, from the translation service, a fourth string in the second natural language, the fourth string comprising a translation of the third string.

16. The system of claim 12 , the operations further comprising, prior to causing the second data file to be stored in the repository:

sending the second string to a device associated with a user; and

receiving a modified application string that is a modified version of the second string,

wherein the second data file includes the modified application string.

17. The system of claim 12 , the operations further comprising analyzing a metafile to identify the repository as a storage location at which to store the second data file.

18. The system of claim 12 , further comprising:

analyzing a metafile that indicates strings associated with the application that have previously been translated using the translation service;

identifying, from the metafile, a third string that has previously been translated from the first natural language into the second natural language; and

refraining from sending the third string to the translation service.

19. The system of claim 12 , the operations further comprising:

providing a computing device with access to a command-line interface (CLI) to receive commands from the computing device; and

receiving, via the CLI and from the computing device, input that specifies a directory of the repository in which to store the second data file,

wherein the causing the second data file to be stored in the repository comprises causing the second data file to be stored in the directory of the repository.

20. The system of claim 12 , the operations further comprising:

receiving input from a user account associated with the application; and

analyzing the user input to determine a user preference associated with translating the first string from the first natural language into the second natural language.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2018
From: ANDREWS, BRETT
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 046168/0296 →
Cited By (2)
US 12,204,886 US 12,711,303