Chapter 11. Understanding internationalization
This chapter covers
- Internationalizing your applications
- Reading messages from properties files
- Localizing your messages
- Setting and overriding the locale
In the previous chapter, we learned how to refine our Struts 2 applications by upgrading their validation to the validation framework. Now we’ll learn how to refine our application even further. Internationalization represents, in some aspects, the finest finishing touches that you can put on a web application. Many people like to separate the topic of this chapter into two concepts, internationalization and localization. Many people also like to shorten these cumbersome words to the numeronyms i18n and l10n.
While the semantic differences between i18n and l10n can be meaningfully expounded upon, we find the practical aspects of developing multilingual web applications don’t call for all the verbiage. Rather than spend too much time trying to pin down exactly where i18n ends and l10n begins, we’re going to gloss over the semantics and skip straight to the practical aspects of making an application speak different languages for different users in an elegant fashion. Throughout the remainder of this chapter, we’ll refer to the entire undifferentiated mass of this process as i18n.