Global Software

[springer-verlag logo]Published by Springer-Verlag

While there is a fair amount of literature discussing the cultural and sociological differences between countries and the challenge of creating software, hardware, documentation, and packaging for international use, there is very little written about how to actually do it. In this book we'll talk about the needs and pitfalls of internationalization, demonstrate the various approaches to the "internationalization" of a simple program, and talk about some of the extensive standardization efforts currently going on.

Don't miss the sample chapters while you're reading about the book Global Software.

Table of Contents

Chapter 1: Introduction

Why this book? How is it organized? Do I need a computer to understand what is being discussed? Do I need to type in the sample code? What computer was it written for? etc...

Part One -- What It Is

Note: The book is broken into sections to allow instructors to assign portions to students. For example, part one of the book would make an excellent introduction to the challenges of internationalization of software, with the rest left perhaps as laboratory exercises or individual research.

Chapter 2: Why Internationalize?

There's a significant market for computers already in the European and Pacific Rim countries, and lots more on the way. A look at IBM, HP, AT&T, DEC and Sun national versus international sales 1987-1990, including pithy quotes from appropriate parties both at these firms and at market analysis groups.

Chapter 3: Internationalization versus Localization

What's the difference? Which do we want to do?

Chapter 4: Elements of Internationalization

What actually gets internationalized? Explain cultural context. Detail elements of culture, including; paper size, currency notation, date and time presentation formats, sorting and transliteration problems, quirks of some of the more interesting languages (e.g. capitalizing accented vowels in Canadian French).

Chapter 5: Pitfalls

Mostly anecdotal stories about what can happen when internationalization of products is done without proper consideration of the change in a particular culture or language, including the Chevy Nova in Mexico (Nova = doesn't go), some of the famous language translation software from the 1960's MIT AI Laboratory, and similar.

Part Two -- How To Do It

Chapter 6: Three Approaches to Internationalization

Detail stages a program goes through in the transition from source code to object code to executable binary. Map to compile-time, link-time and run-time internationalization. Discuss advantages and disadvantages of each.

Chapter 7: Elements of Internationalization Our Sample

Introduce the sample program we're going to work with -- a simple C program "Analyse Employee Pay" which will contain the following elements requiring internationalization: time and date notations, currency notation, floating point 'radix' and accuracy level, output paper size, sorting algorithms, transliteration algorithms. Full source to the program will be presented here.

Chapter 8: Compile-Time Internationalization

Talk further about compile-time internationalization, then subroutine by subroutine detail how they would have to change the sample program to support compile-time internationalization, including listing newly modified routines en toto. Since compile-time requires a specific language, we'll most likely use either French or Spanish for this particular chapter.

Chapter 9: Link-Time Internationalization

Building on the previous modifications, we'll now go through the process needed to rewrite the original program to make "external" routine calls that can be supplied when the software is all linked together, rather than contained in "the same file". Included will be listings for all of the new, internationalized functions like "show_currency()".

Chapter 10: Run-Time Internationalization

Finally, in this section we'll focus on the separate subroutines that were written in the previous chapter and create versions that can switch between a couple of different languages upon invocation of the executable. To accomplish this, we'll also introduce the concept of a database of cultural elements and demonstrate how to use it.

Chapter 11: Other Elements of Internationalization

How to support 16-bit character sets, color, graphics, documentation, customer support, packaging, marketing, sales and similar -- very briefly!

Part Three -- Existing Tools and Organizations

Chapter 12: HP's Native Language System

One of the first major innovators in the area of software inter- nationalization, Hewlett-Packards' NLS package has proven to be a durable base for much of the recent work done within X/Open as well as the AT&T MNLS package included with System V release 4.

Chapter 13: AT&T's MultiNational Language System

Now part of System V release 4.0, MNLS is the most likely bet for a single existing standard for internationalization of software. In this chapter we'll look at what MNLS is and compare how it offers features like the appropriate display of currency with what we created earlier in part two.

Chapter 14: Standardization Organizations

Crossing many geographic and political borders, internationalization has attracted the attention of dozens of different standardization bodies, including X/Open, the IEEE Posix working group, ANSI, ISO, ECMA, and many more. We detail each, describe the interrelation of the groups, and project the future plans of each organization.

Part Four -- Politics of International Software

Chapter 14: The Politics of International Software

Since we're talking about designing software to transport to foreign territory, there is a lot of politics involved too. The primary example will be the legality of exporting implementations of the DES encryption algorithms found in the Unix operating system, as per the U.S. Department of Commerce.

Chapter 15: The Future of International Software

Reinforce the future growth of the international computer market, this time pointing out that, for example, while there many be dozens of database systems that can handle English, the number that work in French available in France might well be sufficiently small that a "me too" product in the United States might well be a tremendous success in the French computer software marketplace.

References and Bibliography
Appendix 1: Contact Names and Addresses for Internationalization Standardization Organizations

About the Author | Buy the book from | Sample chapters | Other books by Dave Taylor