Multilingual build integration for compiled applications

US9442744B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9442744-B2
Application numberUS-201213563579-A
CountryUS
Kind codeB2
Filing dateJul 31, 2012
Priority dateFeb 23, 2012
Publication dateSep 13, 2016
Grant dateSep 13, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Multilingual build integration for compiled applications is described in which support for application localization of compiled programming languages is provided as an integrated component of a development environment. Localizations integrate with application builds in the development environment so that updates are synchronized with project resources for multiple languages. This involves producing translation target files (e.g., localization files) for one or more selected languages by parsing and interpreting source files for the project to identify resources for translation. Localization files in the project that have been updated may be exposed in various ways for translation via the system, a translation service, or other translation source. Translated localization files are used to create dynamic resource files for the particular programming language that are compiled as part of the build process into language specific resource files. Compiled language specific resource files for multiple languages may then be packaged together for distribution.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented by a computing device comprising: parsing source content during the process of building an application to identify resources that were modified; updating localization files having a file format designated for translations into one or more selected languages selected for the application based on the resources that are identified as modified in the build such that the localization file reflects updates as resources are updated for each build; creating dynamic resource files based on the updated localization files that incorporate available translations for the resources; compiling the dynamic resource files into compiled language specific resource files for each of the one or more selected languages; discarding the dynamic resource files that are created for the build of the application when the build is complete; and producing a multilingual resource package for the application configured to contain the compiled language specific resource files for the application. 2. A method as described in claim 1 , wherein the designated file format comprises extensible markup language localization interchange file format (XLIFF). 3. A method as described in claim 1 , wherein the method is performed via a localization module provided as a component of an integrated development environment (IDE). 4. A method as described in claim 1 , wherein updating the localization files comprises producing separate localization files in the designated file format for each selected language that reflect updates made to the source content for the build of the application, the updates derived according to the parsing. 5. A method as described in claim 1 , wherein the application is written using a statically compiled programming language. 6. A method as described in claim 1 , further comprising exporting the localization files to a selected storage location and invoking a translator to perform translations of the localization files. 7. A method as described in claim 1 , wherein compiling the dynamic resource files comprises generating language specific dynamic link libraries (DLLs) to contain translated resources for each of the one or more selected languages. 8. A method as described in claim 1 , wherein creating the dynamic resource files comprises building satellite assembly files to contain language specific resources for each of the one or more selected languages automatically as part of the build of the application using translations available for the build. 9. A method as described in claim 1 , wherein translations of updated localization files produced during a particular build of the application are performed asynchronously with the particular build. 10. A method as described in claim 1 , wherein producing the multilingual resource package comprises: enumerating the compiled language specific resources produced for each of the one or more selected languages in a manifest for the application; packaging the manifest and compiled language specific resources together in the multilingual resource package for distribution with the application. 11. A method as described in claim 1 , wherein the application in an application developed using an extensible application markup language (XAML) based mobile development platform. 12. A method as described in claim 1 , wherein the dynamic resource files are intermediary files that are created by transforming the localization files into a programming language specific format that compiles multilingual resources into the build. 13. One or more non-transitory computer-readable storage media storing instructions that, when executed by a computing device, implement a localization module configured to perform operations comprising: obtaining compiled source content of a project for a build of an application under development; parsing raw resource files of the compiled source content to identify localization files to update for the build, the identification based on portions of the source content that have been updated while the application is under development, the localization files having a designated file format to facilitate translations; updating the identified localization files for translations of the application into one or more languages selected for the project based on the parsing; creating dynamic resource files for each selected language from the updated localization files; compiling the dynamic resource files into compiled language specific resource files for each selected language; and packaging the compiled language specific resource files for each selected language for distribution in accordance with a publishing model for the project. 14. One or more non-transitory computer-readable storage media as described in claim 13 , wherein the designated file format comprises extensible markup language localization interchange file format (XLIFF). 15. One or more non-transitory computer-readable storage media as described in claim 13 , wherein one of said languages selected for the project is a pseudo language and the localization module is further configured to translate the project into the pseudo language via a pseudo-translation engine. 16. One or more non-transitory computer-readable storage media as described in claim 13 , wherein the application is developed using a statically compiled programming language that does not produce a log file indicative of updated resources during project builds. 17. A computing device comprising: a processing system; one or more modules operable at least in part via hardware of the processing system to implement an integrated development environment (IDE) configured to: ascertain one or more languages selected by a developer for translations of an application under development using the IDE; and during a build of the application via the IDE, facilitate in-build translations of a multilingual resource package by generating updated localization files for each of the selected languages in a designated file format established to facilitate translations, the updated localization files reflecting updates that were made to the application, the updated localization files employed by the IDE during the build to: create dynamic resource files for each selected language from the updated localization files when the updates are made to the application in the build; compile the dynamic resource files into compiled language specific resource files for each selected language; and produce the multilingual resource package that contains the compiled language specific resource files for each selected language for distribution with the application. 18. The computing device of claim 17 , wherein the integrated development environment (IDE) is further configured to: output the updated localization files that are created to enable asynchronous translations via one or more translation sources; obtain translations of localization files that are available during the build; and incorporate the translations that are obtained into the dynamic resource files that are created for inclusion in the compiled language specific resource files for the application. 19. The computing device of claim 17 , wherein the designated file format comprises extensible markup language localization interchange file format (XLIFF). 20. The computing device of claim 17 , wherein production of the multilingual resource package comprises: enumerating the compiled language specific resources produced for each of the one or more selected languages in

Assignees

Inventors

Classifications

  • G06F9/4448Primary

    Physics · mapped topic

  • G06F9/454Primary

    Multi-language systems; Localisation; Internationalisation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9442744B2 cover?
Multilingual build integration for compiled applications is described in which support for application localization of compiled programming languages is provided as an integrated component of a development environment. Localizations integrate with application builds in the development environment so that updates are synchronized with project resources for multiple languages. This involves produ…
Who is the assignee on this patent?
Lerum Cameron B, Nelson Jan Anders, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/4448. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 13 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).