3 Internationalization and Localization for WebLogic Server

The following sections provide an overview of localization and internationalization:

About Internationalization and Localization Standards

Oracle has adopted the World Wide Web Consortium's (W3C) recommendations for standard formats and protocols that are usable worldwide in all languages and in all writing systems. These standards are part of the Java internationalization APIs that are used by WebLogic Server. Internationalization (I18N) refers to the process of designing software so that it can be adapted to various languages and regions easily, cost-effectively, and, in particular, without engineering changes to the software. Localization (L10N) is the use of locale-specific language and constructs at run time.

Understanding Internationalization and Localization for WebLogic Server

Localization covers not only language, but collation, date and time formats, monetary formats, and character encoding. Messages that are logged to the WebLogic server log can be localized to meet your particular requirements.

WebLogic Server internationalization supports localization of two types of data:

  • Log messages - Log messages are informational messages that are written to the server log, and may also contain error messages if the appropriate message arguments are included in the message definition. See Elements of a Log Message Catalog.

  • Simple text - Simple text is any text other than log messages and exceptions that the server must display, such as the output from a utility. Examples of simple text include usage messages, graphical user interface (GUI) labels, and error messages. See Elements of a Simple Text Catalog.

Understanding Message Catalogs

All internationalized text is defined in message catalogs, each of which defines a collection of log messages or simple text. Log messages contain data that is written to the log file. This data is predominantly dynamic and contains information that is specific to the current state of the application and system. When merged with text in a localized log message catalog, this data results in well-formatted, localized messages that describe the error condition in the language of the user. The output sent to the WebLogic Server Administration Console is simple text. As with log messages, simple text can be merged with dynamic data.

To create an internationalized message, you externalize all message strings in a message catalog so that the strings can be converted to multiple locales without changing or recompiling the code. The application code supplies run-time values to the logging methods. The logging methods merge the code with the message string in the catalog according to the current locale. The application code then prints a localized message in the log files.

There are three types of message catalogs:

Message IDs in log message catalogs or locale message catalogs are unique across all log message or locale message catalogs. Within the message catalog file, each localized version of the message is assigned a unique message ID and message text specific to the error. Ideally, a message is logged from only one location within the system so that a support team can easily find it. Message IDs in simple text catalogs are unique within each simple text catalog.

See Chapter 4, "Using Message Catalogs with WebLogic Server," for more detailed information about message catalogs.

To view the WebLogic Server message catalogs, see the "Index of Messages by Message Range" in the Oracle Fusion Middleware Oracle WebLogic Server Message Catalog.

Understanding Java Interfaces for Internationalization

WebLogic Server uses the Java internationalization interfaces to provide internationalization and localization. In addition to understanding how WebLogic Server handles internationalization, you should be familiar with the Java internationalization interfaces and the following classes included in the Java Development Kit (JDK).

Class Description
Represents a specific geographical, political, or cultural region.
Provides containers for locale-specific objects.
Produces concatenated messages in a language-neutral way.

Main Steps for Creating an Internationalized Message

The following steps summarize how you create an internationalized message to use with WebLogic Server. Later sections of this guide describe these steps in more detail.

  1. Create or edit a top-level log message catalog or simple text message catalog by defining the messages in the catalog.

    In addition to message text, include information about the type and placement of any run-time values that the message contains. For details, see Chapter 6, "Using the WebLogic Server Message Editor."

  2. Run weblogic.i18ngen to validate the catalog you created or edited in Step 1 and generate runtime classes.

    The generated classes contain a method for each message. The class is defined according to information specified in the message catalog entry. The classes include methods for logging or getting message text, depending on the type of catalog. The class name ends with Logger or TextFormatter. For details, see weblogic.i18ngen Utility.

  3. Create locale-specific catalogs as required for the message catalog you created in Step 1. See Example Locale-Specific Catalog.

  4. Run weblogic.l10ngen to process the locale-specific catalogs. For details, see weblogic.l10ngen Utility.

  5. Configure your application to use the Logger or TextFormatter classes you generated in Step 2. When the application logs or returns a message, the message is written using the localized version of the text according to the Logger or TextFormatter classes used.

For more detailed information, see Chapter 5, "Writing Messages to the WebLogic Server Log."