Tutorials : Avoid the Lesser Known Pitfalls of Localizing Java Applications :

Avoid the Lesser Known Pitfalls of Localizing Java Applications

by Denis Gurchenkov

Everybody knows that Java is an excellent platform, that addresses most localization issues. Sun also provides detailed tutorials on the subject. However, Murphy's law states that if everything seems to be going well, you've obviously overlooked something. Many things can go wrong while you are developing a localization program—problens that are not accounted for by the language or the documentation. This article outlines those problems—along with their solutions. Hopefully, it will save you from repeating these mistakes, helping to save your time for more interesting problems.

Localization vs. Internationalization

Obviously, you should consider localization as early in the development process as possible. A good place to start is the Sun's Java Internationalization Page. In particular, this page outlines the difference between "localization" and "internationalization":
  • Internationalization is the process of designing software so that it can be adapted (localized) to various languages and regions easily, cost-effectively, and, in particular, without engineering changes to the software.
  • Localization of internationalized software is done by simply adding locale-specific components, such as translated messages, data describing locale-specific behavior, fonts, and input methods, etc.

Before Coding

Before you code your app, read the Sun's internationalization tutorial. It's short, informative, and it covers all those obvious but often-forgotten issues—such as separting strings from code, using formatted output instead of string concatenation, separating currency symbols, etc.

Here's a great article at the IBM DeveloperWorks Web site that outlines typical problems in a short and lively manner.

However, these resources do not cover everything. The following section describes a few issues not mentioned by the above resources, using the real-life situation of localizing apps to Japanese and later to German.

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.