Java Internationalization: Creating International Applications
On the Internet, there are almost no barriers against international commerce. Except for language. Unfortunately, most software is still written in English. Java Internationalization shows how to write software that is truly multi-lingual, using Unicode, a standard system that supports hundreds of character sets for most modern languages and many ancient ones. English-only software is already obsolete. Java Internationalization brings Java developers up to speed on the new generation of software development: writing software that is no longer limited by language boundaries. This book explores Java Unicode and provides concrete examples for using its features to create multilingual user interfaces; to correctly format currency, dates and times; and to ensure font support for different languages.
1140203442
Java Internationalization: Creating International Applications
On the Internet, there are almost no barriers against international commerce. Except for language. Unfortunately, most software is still written in English. Java Internationalization shows how to write software that is truly multi-lingual, using Unicode, a standard system that supports hundreds of character sets for most modern languages and many ancient ones. English-only software is already obsolete. Java Internationalization brings Java developers up to speed on the new generation of software development: writing software that is no longer limited by language boundaries. This book explores Java Unicode and provides concrete examples for using its features to create multilingual user interfaces; to correctly format currency, dates and times; and to ensure font support for different languages.
39.99 In Stock
Java Internationalization: Creating International Applications

Java Internationalization: Creating International Applications

Java Internationalization: Creating International Applications

Java Internationalization: Creating International Applications

Paperback(1 ED)

$39.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

On the Internet, there are almost no barriers against international commerce. Except for language. Unfortunately, most software is still written in English. Java Internationalization shows how to write software that is truly multi-lingual, using Unicode, a standard system that supports hundreds of character sets for most modern languages and many ancient ones. English-only software is already obsolete. Java Internationalization brings Java developers up to speed on the new generation of software development: writing software that is no longer limited by language boundaries. This book explores Java Unicode and provides concrete examples for using its features to create multilingual user interfaces; to correctly format currency, dates and times; and to ensure font support for different languages.

Product Details

ISBN-13: 9780596000196
Publisher: O'Reilly Media, Incorporated
Publication date: 03/28/2001
Series: Java Series
Edition description: 1 ED
Pages: 462
Product dimensions: 7.00(w) x 9.19(h) x 0.95(d)

About the Author

Andrew Deitsch is a software engineer who manages an e-business group at GE's Corporate Research and Development Center in Niskayuna, New York. Andrew was fortunate enough to be involved in the beta release of Java in 1995 and has been programming in the language ever since. The inspiration for this book came from his efforts to use Java effectively to build internationalized applications and his frustrations in not finding any books related to this important topic.

David Czarnecki is a computer scientist in the Internet and Software Technology Laboratory at the GE Corporate Research and Development Center. He is involved with various e-commerce initiatives and projects, and in recent months has been increasingly involved in providing expertise on how to properly internationalize software. David holds both B.S. and M.S. degrees in computer science.

Read an Excerpt

2: Writing Systems

Writing Systems

It is helpful to understand the different types of writing systems that exist in the world while developing global software. This chapter gives a brief overview of the world's various writing systems. After reading it, you should have some understanding of the complexities associated with some of these writing systems.

We want to emphasize that we couldn't possibly cover all the world's writing systems in this book. We provide you with an overview of the scripts we do cover, however, so you can get a picture of the types of issues you might face in software internationalization. To learn more about a specific writing system, we encourage you to review the books in the bibliography or to look at the web sites we identify as references.

A writing system, or script, is not a language; it is a means of conveying information through written communication. Over several millennia, hundreds of scripts have been developed. Cultures have adopted scripts to represent their language in written form. Thus, there is often, but not always, a one-to-many relationship between script and language. For example, if you know how to read English, then you understand how to read the Latin script. You can also read French, but you probably don't understand what you are reading (unless you also speak French). Likewise, if you can read the Arabic script, you can read Arabic, Farsi, and Urdu, but again, you might not understand what you are reading.

Ancient Writing Systems

Cuneiform

The earliest forms of writing date back several thousand years (circa 3300 BCE) to the Sumerians of ancient Mesopotamia (now part of Iraq), who used a stylus made from a stick or reed to imprint triangular-shaped patterns onto clay tablets.' This form of writing is known as cuneiform, which comes from Latin, meaning "wedgeshaped." In its original form, cuneiform was a pictographic writing system, in which characters were drawings of objects such as a bird, a fish, or a loaf of bread. Later, abstract concepts or ideographs were added to the repertoire of characters. For example, combining the pictographs that stood for "ox" and "mountain" created the ideograph that represented "wild game." As cuneiform evolved, the pictographs changed to more abstract shapes that began to no longer look like the pictures they originally represented. Gradually, the shapes no longer represented objects, and by around 600 BCE, the symbols represented sounds that could be combined to form words. It is important to understand that cuneiform was not a language; rather it was a writing system adopted by various populations that spoke different languages. The cuneiform writing system eventually spread from the Sumerians to the Akkadians, Assyrians, Babylonians, and the Persians. Figure 2-1 shows a tablet containing a sample of cuneiform.

Hieroglyphics, Hieratic, and Demotic

The ancient Egyptians invented a writing system, which is called hieroglyphic writing from the Greek hieros meaning sacred, and glyphos, meaning inscriptions. The Egyptians may have gotten the idea of writing from the Sumerians, but recent findings suggest that the Egyptians may have invented writing independently. The first known writings in hieroglyphics date back to around 3100 BCE. Hieroglyphics were used until 396 CE, when the last hieroglyphic text was written on the walls of the temple of Isis on the island of Philae. The symbols in hieroglyphics can be used to represent both objects and sounds. Hieroglyphics also had a cursive form called hieratic. Hieroglyphs were typically used on hard surfaces that needed to be carved, such as limestone or plaster. The hieratic script was usually used when writing on linen or a paper-like substance made from reeds found along the Nile River called papyrus.

Hieratic script further evolved into a script called demotic sometime between 770 and 525 BCE. The name demotic comes from the Greek word demotikos, meaning popular. Demotic was written like hieratic with a reed brush, but the strokes were quicker and the script is much harder to discern from its hieroglyphic origins than hieratic. Demotic was mostly used in administrative texts. Hieratic and demotic were both written from right to left, while hieroglyphs were written in either direction as well as vertically. The Rosetta Stone, a large slab of black basalt currently housed in London's British Museum, was the key to deciphering the secrets of Egyptian hieroglyphics. The stone has a royal decree inscribed on it, praising King Ptolemy V in three scripts: Egyptian hieroglyphs, demotic, and Greek...

Table of Contents

Preface

1. Introduction to Internationalization

 What Are Software Internationalization, Localization,

 and Globalization?

 Why Choose Java for International Applications?

 What is a Locale?

 A Simple Application

2. Writing Systems

 Ancient Writing Systems

 Far East Writing Systems

 Bidirectional Scripts

 Greek, Latin, and Cyrillic

 Indic Scripts

 Thai Script

 Punctuation

3. Locales

 Defining a Locale

 Working with the Locale Class

 Querying for Locale Information

 Checking Available Locales

4. Isolating Locale-Specific Data with Resource Bundles

 Why Use Resource Bundles?

 The ResourceBundle Class

 How Resource Bundles Are Discovered and Named

 Property Resource Bundles

 List Resource Bundles

 Resource Bundle Caveats

 Deploying Resource Bundles with Applets

 Design Considerations for Resource Bundles

5. Formatting Messages

 Date and Time Formats

 Number Formats

 Message Formats

6. Character Sets and Unicode

 What Are Character Sets?

 What Are Encoding Methods?

 What Is Unicode?

 Unicode Encoding Methods

 Code Set Conversion

7. Searching, Sorting, and Text Boundary Detection

 Collation Issues

 Sorting in Java

 TailoringCollation

 Improving Performance

 Searching

 Detecting Text Boundaries

8. Fonts and Text Rendering

 Characters, Glyphs, and Fonts

 Java’s Font-Related Classes

 Components for Rendering Complex Text

 TrueType Font Support in Java

 Working with the font.properties File

 Adding New Fonts to Your System

9. Internationalized Graphical User Interfaces

 General Issues

 Component Orientation

 Internationalization and Localization Caveats

 for Various Components

 Using a Layout Manager

 Copying, Cutting, and Pasting International Text

 A Simple Example

10. Input Methods

 What Are Input Methods?

 What Is the Java Input Method Framework?

 Selecting Input Methods

 Using the Input Method Engine SPI

 Developing a Simple Input Method

 How to Package and Install Input Methods

 Developing a More Complex Input Method

11. Internationalized Web Applications

 Applets

 Servlets

 JavaServer Pages

12. Future Enhancements to the Internationalization

 Support in Java

 Unicode 3.0 Support

 Enhanced Complex Text

 Character Converter Framework

 Improving the Input Method Framework

A. Language and Country Codes

B. Character Encodings Supported by Java

C. Unicode Character Blocks

D. Programmer’s Quick Reference

E. Internationalization Enhancements

Across Versions of the JDK

Glossary

Bibliography

From the B&N Reads Blog

Customer Reviews