Java Internationalization

»   Overview
 
»   Basic
 
»   CORBA
 
»   HotSpot VM
 
»   JNDI
 
  »   Mntr-Mgmt
 
»   Tools APIs
 
»   XML
 
 
Java 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 is performed by simply adding locale-specific components, such as translated text, data describing locale-specific behavior, fonts, and input methods.

In the Java SE Platform, internationalization support is fully integrated into the classes and packages that provide language- or culture-dependent functionality. The following sections outline the most important internationalized areas of functionality in core, desktop, enterprise, and mobile Java.

Core Java Internationalization

Core Java provides the foundation for internationalization of desktop and server applications.

  • Text representation: the Java programming language is based on the Unicode character set, and several libraries implement the Unicode standard.
  • Locale identification and localization: Locales in the Java SE platform are just identifiers that can be used to request locale specific behavior in many different areas of functionality. Localization is supported at the most basic level by the ResourceBundle class, which provides access to locale specific objects, including strings.
  • Date and time handling: The Java SE platform provides various calendars, and supports conversion to and from calendar independent Date objects. All time zones in the world are supported.
  • Text processing includes character analysis and case mapping, string comparison, breaking text into words and lines, as well as formatting numbers, dates, and time values into strings or parsing them back from strings. Most of these functions are locale dependent.
  • Character encoding conversion supports converting text between Unicode and other character encodings when reading incoming text from streams or writing outgoing text to streams.

See the documentation:

J2SE 1.4.2 J2SE 5.0 Java SE 6
Overview Overview Overview
Supported Locales Supported Locales
(日本語)
Supported Locales
(日本語)
Character Encodings Character Encodings
(日本語)
Character Encodings
(日本語)

See Also
Internationalization Tutorial    ( 日本語)
Timezone Data, Daylight Savings Time, and the Java Runtime Environment
Forum
FAQ  ( 日本語)
Code Samples & Apps
Technical Articles & Tips
Books & Authors
I18N Bugs
AWT I18N Bugs
L10N Japan Bugs
Localization Bugs
Subscribe to the Sun Globalization Newsletter

 

Desktop Java Internationalization

The user interface libraries in the Java SE platform enable the development of rich interactive applications. Internationalization aspects include:

  • Text input is the process of entering new text into a document - in the simplest case through typing on a keyboard, but often involving front-end software such as input methods, handwriting recognition, or speech input.
  • Text display is a multistep process that includes selecting a font, arranging text into paragraphs and lines, selecting glyphs for characters or character sequences, and rendering these glyphs. Some writing systems require bidirectional text layout for Arabic and Hebrew, or complex character-to-glyph mappings for Arabic, Thai, and the scripts of India. Text display is handled by the Java 2D graphics system and the Swing toolkit for lightweight user interface components; by AWT for peered user interface components.
  • User interface layout needs to accommodate text expansion or shrinkage caused by localization, and match the direction of the user's writing system. For example, English-speaking users expect the tools in a tool bar to be organized from left to right, but users of a right-to-left language such as Arabic expect the tools to be organized from right to left.

See the documentation:

J2SE 1.4.2 J2SE 5.0 Java SE 6
Input Method Framework Input Method Framework
(日本語)
Input Method Framework
(日本語)
Fonts and Text Layout Fonts and Text Layout
(日本語)
Fonts and Text Layout
(日本語)
Writing Systems Writing Systems
(日本語)
Writing Systems
(日本語)

 

Enterprise Java Internationalization

The J2EE technologies build on the internationalization foundation provided by Core Java. Of particular interest are the web tier technologies:

See Also
(日本語, 中文)

 

Mobile Java Internationalization

The J2ME configurations (Connected Limited Device Configuration and Connected Device Configuration) provide subsets of the internationalized APIs in Core Java. The layered profiles complement these with subsets of the Desktop Java APIs (Personal Profile, Personal Basis Profile), or provide their own internationalized APIs (Mobile Information Device Profile, Mobile Internationalization API).

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.



Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
VTS OnDemand RHS Banner



Duke's Choice RHS Banner

JavaOne 2014 Replay banner