Dynamic Language Negotiation
Now let’s push the envelope yet a little farther (perhaps off the edge of the table) with a servlet that tailors its output to match the language preferences of the client. This allows the same URL to serve its content to readers across the globe in their native tongues.
Language Preferences
There are two ways a servlet can know the language preferences of the client. First, the browser can send the information as part of its request. Newer browsers, such as Netscape Navigator 4 and Microsoft Internet Explorer 4, allow users to specify their preferred languages. With Netscape Navigator 4, this is done under Edit | Preferences | Navigator | Languages. With Microsoft Internet Explorer 4, it’s done under View | Internet Options | General | Languages.
A browser sends the user’s language preferences to the server
using the
Accept-Language
HTTP header. The value of this header specifies the language or
languages that the client prefers to receive. Note that the HTTP
specification allows this preference to be ignored. An
Accept-Language header value looks something like
the following:
en, es, de, ja, zh-TW
This indicates the client user reads English, Spanish, German, Japanese, and Chinese appropriate for Taiwan. By convention, languages are listed in order of preference. Each language may also include a q-value that indicates, on a scale from 0.0 to 1.0, an estimate of the user’s preference for that language. The default q-value is 1.0 (maximum preference). ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access