System and method for automated localization of software applications and user interfaces
In accordance with various embodiments, described herein are systems and methods for providing automated localization of software applications and graphical user interfaces. A software extension or add-in component operates both as a design tool, and as a runtime process, for purposes of localizing a software application or its graphical user interface, including the translation of user-visible strings displayable within graphical user interface elements. The translation manager can be used to automate the localization of a software application or workbook being developed, including during an extraction process, automatically identifying and associating user-visible strings with string keys. When the workbook is subsequently accessed and used at runtime, for example by a business user working within a particular region or language, the extension or add-in can use the string keys to automatically map prepared-translations to the graphical user interface elements, for use in localizing the software application.
1 . A system for automated localization of software applications and graphical user interfaces, comprising:
a computer including a processor, and a software development environment provided thereon; and
an add-in component that operates with the software development environment to provide localization of a software application, including operating as a translation manager to:
automatically identify, within a layout associated with a software application document, user-visible strings displayable within graphical user interface elements, wherein the layout is associated with a workbook metadata, and defines one or more localizable strings as the user visible strings that are displayable within the graphical user interface elements of the workbook;
associate such user-visible strings with unique string keys, including traversing the layout to identify a list of localizable strings and their associated metadata, and generating the unique string keys that are bound to corresponding layout metadata items; and
export the localizable strings which have been identified for translation to an export file for use in preparing translations;
wherein prepared-translations are subsequently mapped back to the graphical user interface elements, based on associating the user-visible strings displayable within graphical user interface elements with the unique string keys, for use in localizing the software application.
2 . The system of claim 1 , wherein the add-in component is used with a workbook-oriented software application or integration environment and operates as a design tool and a runtime for purposes of localizing a workbook for use with the workbook-oriented software application or integration environment.
3 . The system of claim 2 , wherein during an extraction process, the translation manager automatically identifies and associated the user-visible strings with the string keys, wherein when the software application is subsequently accessed and used at runtime, the add-in component uses the string keys to automatically map the prepared-translations to the graphical user interface elements.
4 . The system of claim 3 , wherein the software application includes a workbook or other software application document that contains a metadata that the add-in component uses to interact with a web service or the integration environment on behalf of a business user.
5 . The system of claim 4 , wherein the software application is one of a web application, or a cloud-based or other software application.
6 . A method for providing automated localization of software applications and graphical user interfaces, comprising:
providing, at a computer, a software development environment; and
performing a localization of a software application, including:
automatically identifying, by add-in component operating as a translation manager, within a layout associated with a software application document, user-visible strings displayable within graphical user interface elements, wherein the layout is associated with a workbook metadata, and defines one or more localizable strings as the user visible strings that are displayable within the graphical user interface elements of the workbook;
associating such user-visible strings with unique string keys, including traversing the layout to identify a list of localizable strings and their associated metadata, and generating the unique string keys that are bound to corresponding layout metadata items; and
exporting the localizable strings which have been identified for translation to an export file for use in preparing translations;
wherein prepared-translations are subsequently mapped back to the graphical user interface elements, based on associating the user-visible strings displayable within graphical user interface elements with the unique string keys, for use in localizing the software application.
7 . The method of claim 6 , wherein the add-in component is used with a workbook-oriented software application or integration environment and operates as a design tool and a runtime for purposes of localizing a workbook for use with the workbook-oriented software application or integration environment.
8 . The method of claim 7 , wherein during an extraction process, the translation manager automatically identifies and associated the user-visible strings with the string keys, wherein when the software application is subsequently accessed and used at runtime, the add-in component uses the string keys to automatically map the prepared-translations to the graphical user interface elements.
9 . The method of claim 8 , wherein the software application includes a workbook or other software application document that contains a metadata that the add-in component uses to interact with a web service or the integration environment on behalf of a business user.
10 . The method of claim 9 , wherein the software application is one of a web application, or a cloud-based or other software application.
11 . A non-transitory computer readable storage medium having instructions thereon, which when read and executed by a computer cause the computer to perform a method comprising:
providing, at the computer, a software development environment; and
performing a localization of a software application, including:
automatically identifying, by add-in component operating as a translation manager, within a layout associated with a software application document, user-visible strings displayable within graphical user interface elements, wherein the layout is associated with a workbook metadata, and defines one or more localizable strings as the user visible strings that are displayable within the graphical user interface elements of the workbook;
associating such user-visible strings with unique string keys, including traversing the layout to identify a list of localizable strings and their associated metadata, and generating the unique string keys that are bound to corresponding layout metadata items; and
exporting the localizable strings which have been identified for translation to an export file for use in preparing translations;
wherein prepared-translations are subsequently mapped back to the graphical user interface elements, based on associating the user-visible strings displayable within graphical user interface elements with the unique string keys, for use in localizing the software application.
12 . The non-transitory computer readable storage medium of claim 11 , wherein the add-in component is used with a workbook-oriented software application or integration environment and operates as a design tool and a runtime for purposes of localizing a workbook for use with the workbook-oriented software application or integration environment.
13 . The non-transitory computer readable storage medium of claim 12 , wherein during an extraction process, the translation manager automatically identifies and associated the user-visible strings with the string keys, wherein when the software application is subsequently accessed and used at runtime, the add-in component uses the string keys to automatically map the prepared-translations to the graphical user interface elements.
14 . The non-transitory computer readable storage medium of claim 13 , wherein the software application includes a workbook or other software application document that contains a metadata that the add-in component uses to interact with a web service or the integration environment on behalf of a business user.
15 . The non-transitory computer readable storage medium of claim 14 , wherein the software application is one of a web application, or a cloud-based or other software application.
16 . The system of claim 1 , wherein the export file includes, for each graphical user interface element identified for translation, the unique string key associated with the graphical user interface element, an original text string, and a context information.
17 . The system of claim 1 , wherein the contents of the export file are translated, and a corresponding translation file includes translations associated with the graphical user interface elements for use with the workbook, wherein translation files are subsequently incorporated into a workbook, the add-in component automatically maps the keys back to the graphical user interface elements to provide the translations associated with the graphical user interface elements.
18 . The method of claim 6 , wherein the export file includes, for each graphical user interface element identified for translation, the unique string key associated with the graphical user interface element, an original text string, and a context information.
19 . The method of claim 6 , wherein the contents of the export file are translated, and a corresponding translation file includes translations associated with the graphical user interface elements for use with the workbook, wherein translation files are subsequently incorporated into a workbook, the add-in component automatically maps the keys back to the graphical user interface elements to provide the translations associated with the graphical user interface elements.
20 . The non-transitory computer readable storage medium of claim 11 ,
wherein the export file includes, for each graphical user interface element identified for translation, the unique string key associated with the graphical user interface element, an original text string, and a context information;
wherein the contents of the export file are translated, and a corresponding translation file includes translations associated with the graphical user interface elements for use with the workbook, wherein translation files are subsequently incorporated into a workbook, the add-in component automatically maps the keys back to the graphical user interface elements to provide the translations associated with the graphical user interface elements.