IP Library Granted Patent US 9,582,294
Granted Patent B1
US 9,582,294 · App. 14/836,481 · Granted Feb 28, 2017

Apparatuses, methods, and computer program products for automatic internationalization of grammatical output

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 9,582,294
App. No.
14/836,481
Granted
Feb 28, 2017
Kind
B1
Abstract

Apparatuses, methods, and computer program products are provided for automatically internationalizing grammatical output for presentation to a user of a program based on the user's locale. In particular, AST transformations are described that cause a compiler to generate a programming method during compilation of a portion of source code containing a predefined token, where the programming method is incorporated (by the compiler) into a file produced by the compiler and serves to call an instance of a message bundle file that provides translation of grammatical output without requiring the programmer/developer to manually incorporate individual message bundles into each portion of source code to be internationalized.

Claims (41)

1. An apparatus for automatically internationalizing grammatical output for presentation to a user of a program based on the user's locale, the apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least:

modify an Abstract Syntax Tree (AST) in response to compilation by a compiler of a predefined AST transformation;

compile a portion of source code, wherein the portion of source code is configured for generating grammatical output to the user of a program following compilation of the predefined AST transformation, wherein the portion of source code comprises a predefined token;

reference a modified node of the AST during compilation of the portion of source code in response to compiling the predefined token;

generate a programming method in response to referencing the modified node of the AST during compilation of the portion of source code;

incorporate the programming method into a file produced by the compiler,

wherein the programming method is configured to call an instance of a message bundle file, and

wherein the message bundle file is configured to define an entry key value in a natural language, wherein the natural language is based on a locale of the user.

2. The apparatus of claim 1 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to compile a second portion of source code for generating a grammatical output to a user of a different program following the compilation of the predefined AST transformation.

3. The apparatus of claim 1 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to further modify the AST in response to compilation by the compiler of a second predefined AST transformation.

4. The apparatus of claim 1 , wherein the AST transformation is written using Groovy programming language.

5. The apparatus of claim 1 , wherein the file into which the programming method is incorporated is a class file.

6. The apparatus of claim 1 , wherein the compiler is a compiler for Groovy programming language.

7. The apparatus of claim 1 , wherein the message bundle file is configured to define an entry key value in any one of at least three natural languages comprising at least one of English, French, or Spanish.

8. The apparatus of claim 1 , wherein the entry key value is presented to the user as part of a user interface of a healthcare application.

9. A method for automatically internationalizing grammatical output for presentation to a user of a program based on the user's locale, the method comprising:

modifying an Abstract Syntax Tree (AST) in response to compilation by a compiler of a predefined AST transformation;

compiling a portion of source code, wherein the portion of source code is configured for generating grammatical output to the user of a program following compilation of the predefined AST transformation, wherein the portion of source code comprises a predefined token;

referencing a modified node of the AST during compilation of the portion of source code in response to compiling the predefined token;

generating a programming method in response to referencing the modified node of the AST during compilation of the portion of source code;

incorporating the programming method into a file produced by the compiler,

wherein the programming method is configured to call an instance of a message bundle file, and

wherein the message bundle file is configured to define an entry key value in a natural language, wherein the natural language is based on a locale of the user.

10. The method of claim 9 further comprising compiling a second portion of source code for generating a grammatical output to a user of a different program following the compilation of the predefined AST transformation.

11. The method of claim 9 further comprising further modifying the AST in response to compilation by the compiler of a second predefined AST transformation.

12. The method of claim 9 , wherein the AST transformation is written using Groovy programming language.

13. The method of claim 9 , wherein the file into which the programming method is incorporated is a class file.

14. The method of claim 9 , wherein the entry key value is presented to the user as part of a user interface of a healthcare application.

15. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising program code instructions for:

modifying an Abstract Syntax Tree (AST) in response to compilation by a compiler of a predefined AST transformation;

compiling a portion of source code, wherein the portion of source code is configured for generating grammatical output to a user of a program following compilation of the predefined AST transformation, wherein the portion of source code comprises a predefined token;

referencing a modified node of the AST during compilation of the portion of source code in response to compiling the predefined token;

generating a programming method in response to referencing the modified node of the AST during compilation of the portion of source code;

incorporating the programming method into a file produced by the compiler,

wherein the programming method is configured to call an instance of a message bundle file, and

wherein the message bundle file is configured to define an entry key value in a natural language, wherein the natural language is based on a locale of the user.

16. The computer program product of claim 15 further comprising program code portions for compiling a second portion of source code for generating a grammatical output to a user of a different program following the compilation of the predefined AST transformation.

17. The computer program product of claim 15 further comprising program code portions for further modifying the AST in response to compilation by the compiler of a second predefined AST transformation.

18. The computer program product of claim 15 , wherein the AST transformation is written using Groovy programming language.

19. The computer program product of claim 15 , wherein the file into which the programming method is incorporated is a class file.

20. The computer program product of claim 15 , wherein the entry key value is presented to the user as part of a user interface of a healthcare application.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2021
From: CHC MAX HOLDINGS, LLC
To: HEALTHSTREAM, INC.
Reel/Frame 055561/0198 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: CHANGE HEALTHCARE HOLDINGS LLC
Reel/Frame 055431/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2021
From: CHANGE HEALTHCARE HOLDINGS LLC
To: CHC MAX HOLDINGS LLC
Reel/Frame 055432/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2016
From: MCKESSON CORPORATION
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 039887/0935 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2015
From: SELF, BRYAN; PREWETT, PRESTON; TURNER, JOSH
To: MCKESSON CORPORATION
Reel/Frame 036429/0242 →