Global Markets
- Internationalization
- Localization
- Culturally Dependent Data
A Quick Example
- Before Internationalization
- After Internationalization
- Running the Sample Program
- How We Internationalized the Sample Program
- Creating the Properties Files
- Defining the Locale
- Creating the ResourceBundle
- Fetching the Text from the ResourceBundle
Setting the Locale
- Creating a Locale
- Identifying Available Locales
- The Default Locale
- The Scope of a Locale
Isolating Locale-specific Objects in a ResourceBundle
- About the ResourceBundle Class
- Preparing to Use a ResourceBundle
- Backing a ResourceBundle with Properties Files
- Using a ListResourceBundle
Number and Currency Formatting
- Using Predefined Formats
- Formatting with Patterns
Date and Time Formatting
- Using Predefined Formats
- Formatting with Patterns
- Changing Date Format Symbols
Message Formatting
- Dealing with Concatenated Messages
- Handling Plurals
Working with Exceptions
- Handling Hardcoded Exception Messages
- Creating Locale-independent Exception Subclasses
Comparing Strings
- Performing Locale-independent Comparisons
- Customizing Collation Rules
- Improving Collation Performance
Detecting Text Boundaries
- About the BreakIterator Class
- Character Boundaries
- Word Boundaries
- Sentence Boundaries
- Line Boundaries
Converting Non-Unicode Text
- Byte Encodings and Strings
- Character and Byte Streams
A Checklist for Internationalizing an Existing Program