Browse Prior Art Database

Automated Showing Message ID Framework for Globalization Enablement and Testing using Semi-Comment

IP.com Disclosure Number: IPCOM000202186D
Publication Date: 2010-Dec-08
Document File: 6 page(s) / 168K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed method is an automated solution to localize an English product and to structure the product's architecture to be suited for different language's automation testing with minimal effort. One of the problems software companies face is to make their product multi-lingual and multi-cultural. Another way of saying that is to make the product globalization enabled so that it can be easily translated into any number of languages. Aside from that, numerous attempts have been made to try to automate globalization/translation testing to reduce product cycle costs. However, unlike a pure English product, automation scripts recorded cannot be reused easily due to the daily changes of translations as well as the differences in the product GUI for different languages.Using the disclosed method, the product will also be made ready for an easy automated globalization testing solution.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 39% of the total text.

Page 01 of 6

Automated Showing Message ID Framework for Globalization Enablement and Testing using Semi-Comment

Description Of The Disclosure: To be able to transform a pure English product into a globalization-enabled, and automation-testing-ready product, the disclosed appliance is used to automate the transformation. If a pure English product runs through this solution, the output will be a string-extracted and automation testing ready product. If a product has already been localized, it can still run through our solution to become a globalization automation testing ready product.

    Starting with the brief overview. Fig.1 shows the high-level architectural view of the solution. Before passing the source code to a typical compiler, the source code will be first passed to the globalization appliance for dynamic source code transformation.

(This page contains 00 pictures or other non-text object)

(This page contains 01 pictures or other non-text object)

    Within the globalization appliance, the first component is the search engine. The search engine finds all the hardcoded string and replace those hardcoded string with "semi-comments". The updated source will be picked up by the Code Generate Engine. Based on the semi-comments, the code generate engine will construct 1)

1


Page 02 of 6

the structured PII (Product Integrated Information) according to the file format, and 2) the transformed source code that contains debugging switch. The updated source code is then passed onto the Locale Resource Repository. The Locale Resource Repository component contains the Translation Memory, which is a big database that contains all the past translated strings and automatically replaces different language's translation if it exists. Finally, the updated source as well as its PII files will be returned as the response to original requester.

    Fig. 2 describes the search engine. The search engines scans the code for all instances where strings are being output to the screen. In other words, all instances which the strings needs to be put into PII and sent out for translation, such as printf, cout, println, and label tags/names. Trace messages can be ignored in this case. If found, it will check to see if the string is composed of single string, or multiple strings with variables i.e.: "Hello world " + msg1 + " world";

    If it is the latter case, recursion will occur to look into the variables until the full string can be obtained. If msg1 = "hello"; then, the final constructed string will be a single string "Hello world hello world"; And this string will be noted down along with the file and line number it is found.

    At the end, the original hardcoded string will be replaced with the semi-comment.

(This page contains 00 pictures or other non-text object)

The outputs from the search engine is than passed onto the Code Generate

2


Page 03 of 6

Engine shown on Fig. 3. For each constructed string, the code generator creates an incremental message ID variable name. It than a...