Design Patterns and Practical Architectures for Software Internationalization and Unicode Enabling
Intended Audience: Content Developers, Software Engineers, Managers, Testers, Web Designers
Session Level: Beginner, Intermediate
In the last decade, many software systems evolved from building for one language only (mainly English) to building for global markets. Not all of them are successful experiences: Some support a handful of languages; others greatly impact the world with powerful multilingual features; some started by using Unicode as the foundation in the very beginning; others just treated Unicode as yet another character set; some produced great success for the future technology development; others created difficult issues that many of our fellow developers still suffer with.
In this paper, we reviewed many of these design and summered into several common "design patterns". Following an alternated framework from the famous book "Design Pattern", each pattern in this paper will start with a name of the pattern. We will then describe the problem it tries to address, the context that it best suited for, and the forces that will influences the design decision. A description of the solution will then be presented with its short-term and long-term consequences.
We will also discuss some real examples of using the pattern to illustrate the benefit and side effects. Finally, we may propose some alternatives for consideration, if possible. This talk is designed for software developers or engineeringing managers. We want to promote the discussion of reusable software internationalization patterns to provide a better theoretical foundation in the future for the study of software internationalization and globalization.