The OpenJDK Project was officially launched at JavaOne in San Francisco on May 8, 2007. To get started, please visit: http://openjdk.java.net/ and http://community.java.net/openjdk/
The http://openjdk.java.net/ site contains a list of Groups and Projects that are ready for your participation.
I work for the Software group, specifically, I work for a group that handles Java Localization (L10n) Engineering/Testing and Internationalization (I18n) Testing.
There is currently an Internationalization Group on http://openjdk.java.net web site. The Group page is http://openjdk.java.net/groups/i18n. But the Localization Group has not been represented. After some discussion, we decided not to confuse the participants about I18n and L10n with 2 separate Groups. Instead, the L10n Group will share the same page and mailing list with the I18n Group. Before the page could be updated to include L10n information, here is some information prepared by the L10n engineers to help interested participants to get started.
The Localization Group
The localization group is comprised of developers and translators interested in localizing JRE and JDK into various languages.Activities include contributing translation or linguistic review, validating and providing locale data, providing other locale-specific features into Java, or maintaining/bug fixing existing localization bugs.
Introduction
Until Java 6, user interface provided in both JRE and JDK have been localized into following languages.| Language | JRE | JDK |
| Chinese (Simplified) | O | O |
| Chinese (Traditional) | O | |
| English | O | O |
| French | O | |
| German | O | |
| Italian | O | |
| Japanese | O | O |
| Korean | O | |
| Spanish | O | |
| Swedish | O |
JRE includes user interface elements such as Swing dialogs, runtime messages, and tools messages. JDK includes user interface elements for additional tools such as compiler, JConsole, javadoc, demos, etc.
Source Files
Localization resource files are distributed throughout the JDK workspace. They are usually located in the resources directories for each component.Below are some of the locations of the localizable resource files.
rt.jar (jre)
j2se/src/share/classes/sun/awt/resources/awt.properties
j2se/src/share/classes/sun/print/resources/serviceui.properties
j2se/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal.properties
j2se/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties
j2se/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif.properties
j2se/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows.properties
j2se/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk.properties
j2se/src/share/classes/com/sun/accessibility/internal/resources/accessibility.properties
j2se/src/share/classes/sun/security/util/AuthResources.java
j2se/src/share/classes/sun/security/util/Resources.java
j2se/src/share/classes/sun/tools/jar/resources/jar.properties (also in tools.jar)
j2se/src/share/classes/sun/applet/resources/MsgAppletViewer.java (also in tools.jar)
j2se/src/share/classes/sun/util/logging/resources/logging.properties
j2se/src/share/classes/sun/misc/resources/Messages.java
j2se/src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java
j2se/src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources.java
j2se/src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_en.java
j2se/src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java
j2se/src/share/classes/sun/management/resources/agent.properties
compiled into windows native code
j2se/src/windows/classes/sun/awt/windows/awtLocalization.properties
localedata.jar (jre)
j2se/src/share/classes/sun/util/resources/LocaleNames.properties
j2se/src/share/classes/sun/util/resources/TimeZoneNames.java
j2se/src/share/classes/sun/util/resources/CalendarData.properties
j2se/src/share/classes/sun/util/resources/CurrencyNames.properties
j2se/src/share/classes/sun/text/resources/CollationData.java
j2se/src/share/classes/sun/text/resources/FormatData.java
indicim.jar (jre)
j2se/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties
thaiim.jar (jre)
j2se/src/share/classes/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties
resources.jar (jre)
j2se/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb.properties
j2se/src/share/classes/com/sun/rowset/RowSetResourceBundle.properties
j2se/src/share/classes/sun/rmi/registry/resources/rmiregistry.properties
j2se/src/share/classes/sun/rmi/server/resources/rmid.properties
jconsole.jar (sdk)
j2se/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java
tools.jar (sdk)
j2se/src/share/classes/sun/tools/jar/resources/jar.properties
j2se/src/share/classes/sun/tools/javac/resources/javac.properties
j2se/src/share/classes/com/sun/tools/javac/resources/javac.properties
j2se/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii.java
j2se/src/share/classes/sun/tools/serialver/serialver.properties
j2se/src/share/classes/sun/security/tools/JarSignerResources.java
j2se/src/share/classes/sun/rmi/rmic/resources/rmic.properties
j2se/src/share/classes/sun/applet/resources/MsgAppletViewer.java
j2se/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties
j2se/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties
j2se/src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java
j2se/src/share/classes/com/sun/tools/javac/resources/compiler.properties
j2se/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties
j2se/src/share/classes/com/sun/tools/apt/resources/apt.properties
j2se/src/share/classes/com/sun/tools/javah/resources/l10n.properties
j2se/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp
j2se/src/share/classes/com/sun/tools/corba/se/idl/idl.prp
j2se/src/share/classes/com/sun/tools/jdi/resources/jdi.properties
demos (sdk)
j2se/src/share/demo/jfc/CodePointIM/resources/codepoint.properties
j2se/src/share/demo/jfc/CodePointIM/README.html
j2se/src/share/demo/jfc/Font2DTest/resources/TextResources.properties
j2se/src/share/demo/jfc/Notepad/resources/Notepad.properties
j2se/src/share/demo/jfc/Stylepad/resources/Stylepad.properties
j2se/src/share/demo/jfc/SwingSet2/resources/swingset.properties
doc (sdk)
j2se/src/share/doc/jdk/README.html
Update makefile
To include the localized resource file in JRE and JDK bundle, corresponding makefiles need to be updated.Include locale in JRE
update make/common/Defs.gmk in j2se workspace, which means update j2se/make/common/Defs.gmk
in following two lines, add the locale you are going to localize.
J2RE_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK
PLUGIN_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK
For example, if you are going to localize JRE into thai, then
J2RE_LOCALES = de es fr it ja ko sv th zh_CN zh_TW zh_HK
PLUGIN_LOCALES = de es fr it ja ko sv th zh_CN zh_TW zh_HK
update make/common/Defs.gmk in deploy workspace.
In follwoing line, add the locale you are goingto localize
PLUGIN_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK
Include locale in JDK
update make/common/Defs.gmk in j2se workspace
in following line, add the locale you are going to localize.
J2SDK_LOCALES = ja zh_CN
Notes: It's not mentioned how to include locale in install ws, to localize the installshield of JRE and JDK in windows. It's related with many changes, and will be described later.
Building and Rebuilding
After building the whole JDK tree, the localization related resource files can be found in various jar files such as rt.jar, localdata.jar, tools.jar, jconsole.jar, resources.jar, indicim.jar, thaiim.jar, etc.Additional Localization Projects
You may also be interested in participating in the following localization projects:- DocWeb api doc translation and review: http://doc.java.sun.com/DocWeb/
- Japanese doc translation review: https://jdk-api-ja.dev.java.net/
- Simplified Chinese doc translation review: https://jdk-api-zh-cn.dev.java.net/