jakarta-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Simpson <RSimp...@Verizon.net>
Subject [PROPOSAL][i18n] Internationalization subproject
Date Wed, 05 Mar 2003 13:11:29 GMT
Proposal for Internationalization Subproject

This is a proposal for creating an internationalization subproject under the Jakarta project.
 The intention of this submission to the Jakarta general list is to solicit comments on this
version of the draft.

An HTML version of this proposal can be found at http://iToolSet.com/i18n/PROPOSAL.html

0) Rationale

One of the functions that is common to many applications, especially those
that are accessed or distributed via the Internet, is the need to display
prompts, messages, along with their replaceable parameters, and other text
in the language preferred by the user.

In the Java(TM)* SDK Exceptions classes, there are methods
(getLocalizedMessage) which are intended for localization of exception messages,
but those localization functions are left to the subclass implementations.
Subclasses which provide the implementation need to be created.

Certain prompts, messages or text may be common among various applications,
while others may be unique to specific applications.  Collections of localized
resources can be created for both types, each stored in their own libraries.
A common framework can be created to support internationalization of resources
using these libraries.

There currently is a "Resources" component in the Jakarta Commons sandbox.
The intent is to provide a common interface for access to resources of various
types.  The functions provided by this component could be provided in a subpackage
under the package created for the new internationalization component.

These various efforts for providing functions that enable internationalization
of applications should be combined into one place, to encourage interoperability
between these various functions.

1) Scope of the Component

The proposal defines a common framework for internationalization of
Java resources.  This internationalization typically occurs by localizing
instances of these resources to a specific Locale.  The proposed framework would
facilitate the internationalization of all objects to a single Locale per user,
in either a single-user or multi-user environment.  For example, when localizing
messages, both the message patterns and the inserted arguments should be localized
to the same Locale.  This is a good example of why internationalization should occur
at a higher level than simply the resources that supply the localized message patterns.

The Internationalization subproject would consist of two major components:

1. the code component

2. a set of Internationalization libraries

       libraries for general application areas
           Some libraries, which would provide resources for certain general
           application areas, would be created as part of the Internationalization
           subproject.  For example, localized resources related to common security
           functions (such as user instructions pertaining to user names and passwords)
           that could be used by various applications would be part of this subproject.

       application-specific libraries
           Additional libraries that would provide internationalization resources
           for specific applications could be created within the scope of those
           applications. For example, resources related to the ANT build tool
           would be created and stored as part of that Apache project.

1.5) Interaction With Other Subpackages and Components

It is expected that other components and subpackages will make use of the
internationalization component anywhere they need to provide for internationalization
of resources, resulting in much heavier interaction inbound rather than outbound.

2) Initial Source of the Package

The initial source of the package would be obtained from existing code (after the
addition of comments to meet Apache requirements), which can be found in a .zip file
that can be downloaded from http://iToolSet.com/i18n/initsrc.zip.  This code
has been revised somewhat to demonstrate how it might appear in the Apache world, and
to provide a working example.  The example, which simulates the use of localized resources
in a multi-user (ex: servlets) environment with both local client-side (multiple users with
distinct locales) and remote server-side (single server with it's own locale) destinations,
can be run by executing the "test2.bat" batch file or the "test2.sh" shell script.
(The test is currently set up to run under version 1.4).
The JavaDoc for the initial code can be found http://iToolSet.com/i18n/docs/index.html".

3) Required Jakarta Resources

CVS Repository

    New directory "i18n" in the Jakarta CVS repository.
    Revise initial committers based on initial committers list (below).

Mailing List

    Create mailing lists "i18n-user" and "i18n-dev".


    New subproject "i18n" under the Jakarta project,
    with appropriate version identifiers as needed.

4) Initial Committers

The initial committers on the Locale component shall be Robert Simpson and
at least some of those who have expressed interest in the Commons Resources
component (Craig McClanahan, Michael Schachter, Jason van Zyl, and Daniel Rall).
(An e-mail would be sent to at least some of those additional committers to
determine if they would still be willing to be committers for the internationalization
component.  They would be included in the committers list based on their agreement.)

4.5) Additional Contributors

In addition to code contributors, this subproject would also be seeking persons
who would be interested in contributing to the language translation effort.  These
persons should be natively fluent in a language other than English, and be able to
read English as a second language.  Any persons with such qualifications may contact
the author of this proposal at Rob.Simpson@iToolSet.com.

* Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems,
Inc. in the U.S. and other countries.

To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org

View raw message