Conforming to Local Customs
Now we know how to use HTML character entities and Unicode escapes to display the characters in Western European languages. The question remains, what do we say with these languages? In general, this is a translation problem best left to a dedicated localization team. In some instances, however, Java provides some help.
For example, let’s assume that in addition to saying “Hello World,” we need our example servlet to tell the current time in a format naturally understood by the recipient. What could be a difficult formatting problem is actually quite easy because JDK 1.1 provides built-in support for localizing dynamic objects such as dates and times.
The trick is to use a java.text.DateFormat
instance appropriate for the target audience. A
DateFormat
object can convert a
Date
to a correctly localized
String
. For example, a time stamp written in
English as “February 16, 1998 12:36:18 PM PST” would be
written in Spanish as “16 de febrero de 1998 12:36:18
GMT-08:00.”
A DateFormat
object is created using a factory
method that accepts a formatting style (short, medium, long, full)
and a java.util.Locale
object that identifies the target audience (U.S. English, Mainland
Chinese, etc.). The most common Locale
constructor
accepts two parameters: a two-character lowercase
language abbreviation (as we saw earlier)
and a two-character uppercase country code as defined by
ISO-3166 (available at http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html). ...
Get Java Servlet Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.