For the most part, localization is the process of converting text and visually displayed elements of an application to text and visuals that are suitable for a specific locale.
Jerry Hirshberg, the founder of Nissan Design International, in The Creative Priority , relates a story about a presentation of a minor change to the 280ZX sports car. Preparing for the presentation, the American Hirshberg wondered whether he should open with a joke when presenting to his Japanese audience. A Japanese peer encouraged him that if this is his usual styleto offer some humorthen he should do it. Hirshberg opened with the joke and received no discernible response. "As I paused and scanned the group , waiting for some cue, something off which I might at least bounce a saver ," Hirshberg sensed failure at his attempt at levity .
After the presentation, a senior Nissan official remarks that they especially enjoyed Hirshberg's humor. Hirshberg asks where he should look on a Japanese person to detect laughter , and the Nissan official replies, "We'd never be so personal as to show our teeth during something as important as your first presentation." Clearly, the manners of the locale suggested a behavior different than anticipated.
The same misleading information and response can occur when a programmer is designing a user interface, including text and graphics, with an ethnocentric perspective. Common language idioms or graphics may be offensive, inflammatory, or confusing in a different societal context.
The System.Globalization namespace contains classes for managing culturally based presentation. As you can glean from Listing 6.4, the Reflection namespace anticipates that even dynamically discovered or created types may have to take cultural information into account.