Providing for language exits

To satisfy unique language requirements, your product may need to provide exits to permit additional or alternative processing to take place.


Guideline D4


Provide functions that have a language dependency with language exits, if such functions are not available from the underlying software or the platform.


Traditionally products are often designed for one language. If a module of such a product must be rewritten to support a new language and culture, development time is increased because the one-language module must be rewritten and retested as part of retrofitting a new language. Also, the maintenance of such one-language modules implies a parallel effort for each language version. In a general sense, this guideline describes a hurried approach to comply with many of the other guidelines. The idea is that, if for whatever reason, the product was not fully globalized to begin with, at least give other people an opportunity to add external routines into the product to change its behavior.


If the platform or the underlying layers of software provide XPG4-like globalization functions, and your products use these functions, this guideline would not be applicable. All these functions are fully globalized, and access language-dependant and culture-dependent information stored in external files, as needed.


Example: A call to a procedure to change the era of a date is a useful step towards globalizing date formatting. Many countries share a common era, so the procedure must return NULL to the calling routine. For some countries, however, an algorithm to change the number that represents the year must be implemented. Globalization requires that the procedure be called, and the multicultural support functions determine what is being returned by the called procedure.


Guideline D4-1


For natural language processing applications, where the technology is not available to handle the language of the target audience, provide alternative solutions.


These technologies include speech recognition, machine translation, text to speech, search, e-mail processing and any other application that attempts to understand natural language in order to perform an operation.