Despite its name, the World Wide Web has a long way to go before it can be considered to truly extend worldwide. Sure, physical wires carry web content to nearly every country across the globe. But to be considered a true worldwide resource, that web content has to be readable to the person receiving it—something that often doesn’t occur with today’s large number of English-only web pages.
The situation is starting to change, however. Many of the largest web sites have established areas designed for non-English languages. For example, the Netscape home page is available to English speakers at http://home.netscape.com/index.html, to French speakers at http://home.netscape.com/fr/index.html, and to speakers of a dozen other languages at a dozen other URLs.
It’s also possible for web servers to support a transparent solution, in which a single URL can be used to view the same content in several languages, with the language chosen based on the preference of the client. Which language you see depends on how you’ve configured your browser. Although this technique creates the impression that a dynamic translation is occurring, in reality the server just has several specially named versions of the static document at its disposal.
While these techniques work well for static documents, they don’t address the problem of how to internationalize and localize dynamic content. That’s the topic of this chapter. Here we explore how servlets can use the internationalization ...