CINXE.COM

The Internationalization and Localizaion Group

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /><title>The Internationalization and Localizaion Group</title><link rel="shortcut icon" href="../../images/nanoduke.ico" /><link rel="stylesheet" type="text/css" href="../../page.css" /><script type="text/javascript" src="../../page.js"><noscript></noscript></script><script src="https://cdn.usefathom.com/script.js" data-site="KCYJJPZX" defer="yes"></script></head><body><div id="main"> <h1>The Internationalization and Localization Group</h1> <p>This group specializes in the <a href="#i18n">Internationalization</a> and <a href="#l10n">Localization</a> components</p> <a name="i18n" id="i18n"></a> <h1>The Internationalization Libraries Group</h1> <p>The internationalization <a href="/groups/index.html">group</a> is a set of developers interested in the design, implementation, and maintanence of the Java internationalization libraries.</p> <h2>Introduction</h2> <p>Internationalization (abreviated "i18n") 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.</p> <h2>Source Structure</h2> <p>Source for the internationalization libraries is found throughout the JDK workspace. Typically, directories under <code>src/share/classes/java</code> contain the classes and interfaces of the public APIs. Often the implementations of these APIs reside in the corresponding <code>src/share/classes/sun</code> directories. Source that is platform dependent (e.g., input methods) may also reside under the <code>src/[solaris|windows]</code> directories.</p> <p>Here are some of the locations of the core internationalization libraries.</p> <ul> <li> <p><code>src/share/classes/java/lang</code>:<br /> Contains source for the <code>Character</code> and <code>String</code> classes which implement the <a href="https://www.unicode.org/ucd/">Unicode Character Database</a>.</p> </li> <li> <p><code>src/share/classes/java/text</code>:<br /> Contains source for classes providing locale sensitive services such as <code>DateFormat</code>, <code>NumberFormat</code>, <code>Collator</code>, <code>Normalizer</code>, <code>Bidi</code>, <code>BreakIterator</code>, etc.</p> </li> <li> <p><code>src/share/classes/java/util</code>:<br /> Contains source for locale utility classes such as <code>Locale</code>, <code>Currency</code>, <code>Calendar</code>, <code>TimeZone</code>, <code>ResourceBundle</code>, etc.</p> </li> <li> <p><code>src/share/classes/sun/[text|util]/resources</code>:<br /> Contains the locale data needed for the above locale sensitive classes.</p> </li> <li> <p><code>src/share/classes/java/awt/im</code>:<br /> Contains source for the API classes of the <a href="http://java.sun.com/javase/6/docs/technotes/guides/imf/index.html"> Input Method Framework</a>.</p> </li> <li> <p><code>src/share/classes/sun/awt/im</code>:<br /> Contains source for the implementation classes of the <a href="http://java.sun.com/javase/6/docs/technotes/guides/imf/index.html"> Input Method Framework</a>.</p> </li> <li> <p><code>src/solaris/classes/sun/awt/fontconfigs</code>, <code>src/windows/classes/sun/awt/windows</code>:<br /> Contains source for the <a href="http://java.sun.com/javase/6/docs/technotes/guides/intl/fontconfig.html"> font configuration files</a></p> </li> </ul> <h2>Building and Rebuilding</h2> <p>After building the whole JDK tree, output class files will be generated under the corresponding directories under <code>build/classes</code> directory. Some of the locale data will be incorporated in the <code>build/lib/ext/localedata.jar</code> file. To rebuild the internationalization library sources, you may want to run <code>gnumake</code> in the following directories:</p> <ul> <li><code>make/java/java</code></li> <li><code>make/java/text</code></li> <li><code>make/java/util</code></li> <li><code>make/java/awt</code></li> </ul> <h2>Documentation</h2> <ul> <li><a href="http://java.sun.com/javase/6/docs/technotes/guides/intl/">Internationalization Support</a></li> </ul> <h2>Community</h2> <ul> <li><strong>Mailing lists</strong> <ul> <li><a href="https://mail.openjdk.org/mailman/listinfo/i18n-dev">i18n-dev</a></li> </ul> </li> </ul> <ul> <li><strong>Internationalization bloggers</strong> <ul> <li><a href="http://blogs.oracle.com/naotoj/">Naoto Sato</a></li> <li><a href="http://blogs.oracle.com/masayoshi/">Masayoshi Okutsu</a></li> </ul> </li> </ul> <a name="l10n" id="l10n"></a> <h1>The Localization Group</h1> The localization group is comprised of developers and translators interested in localizing JRE and JDK into various languages.<br /> <br /> 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.<br /> <h2>Introduction</h2> Until Java 6, user interface provided in both JRE and JDK have been localized into following languages.<br /> <br /> <table class="wikitable" border="1" summary="Localized Languages"> <tbody> <tr> <td>Language</td> <td>JRE</td> <td>JDK</td> </tr> <tr> <td>Chinese (Simplified)</td> <td>O</td> <td>O</td> </tr> <tr> <td>Chinese (Traditional)</td> <td>O</td> <td><br /></td> </tr> <tr> <td>English</td> <td>O</td> <td>O</td> </tr> <tr> <td>French</td> <td>O</td> <td><br /></td> </tr> <tr> <td>German</td> <td>O</td> <td><br /></td> </tr> <tr> <td>Italian</td> <td>O</td> <td><br /></td> </tr> <tr> <td>Japanese</td> <td>O</td> <td>O</td> </tr> <tr> <td>Korean</td> <td>O</td> <td><br /></td> </tr> <tr> <td>Spanish</td> <td>O</td> <td><br /></td> </tr> <tr> <td>Swedish</td> <td>O</td> <td><br /></td> </tr> </tbody> </table> <br /> 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.<br /> <h2>Source Files</h2> Localization resource files are distributed throughout the JDK workspace. They are usually located in the resources directories for each component.<br /> <br /> Below are some of the locations of the localizable resource files.<br /> <br /> rt.jar (jre)<br /> j2se/src/share/classes/sun/awt/resources/awt.properties<br /> j2se/src/share/classes/sun/print/resources/serviceui.properties<br /> j2se/src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal.properties<br /> j2se/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties<br /> j2se/src/share/classes/com/sun/java/swing/plaf/motif/resources/motif.properties<br /> j2se/src/share/classes/com/sun/java/swing/plaf/windows/resources/windows.properties<br /> j2se/src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk.properties<br /> j2se/src/share/classes/com/sun/accessibility/internal/resources/accessibility.properties<br /> j2se/src/share/classes/sun/security/util/AuthResources.java<br /> j2se/src/share/classes/sun/security/util/Resources.java<br /> j2se/src/share/classes/sun/tools/jar/resources/jar.properties (also in tools.jar)<br /> j2se/src/share/classes/sun/applet/resources/MsgAppletViewer.java (also in tools.jar)<br /> j2se/src/share/classes/sun/util/logging/resources/logging.properties<br /> j2se/src/share/classes/sun/misc/resources/Messages.java<br /> j2se/src/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java<br /> j2se/src/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources.java<br /> j2se/src/share/classes/com/sun/org/apache/xml/internal/utils/res/XResources_en.java<br /> j2se/src/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java<br /> j2se/src/share/classes/sun/management/resources/agent.properties<br /> <br /> compiled into windows native code<br /> j2se/src/windows/classes/sun/awt/windows/awtLocalization.properties<br /> <br /> localedata.jar (jre)<br /> j2se/src/share/classes/sun/util/resources/LocaleNames.properties<br /> j2se/src/share/classes/sun/util/resources/TimeZoneNames.java<br /> j2se/src/share/classes/sun/util/resources/CalendarData.properties<br /> j2se/src/share/classes/sun/util/resources/CurrencyNames.properties<br /> j2se/src/share/classes/sun/text/resources/CollationData.java<br /> j2se/src/share/classes/sun/text/resources/FormatData.java<br /> <br /> indicim.jar (jre)<br /> j2se/src/share/classes/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties<br /> <br /> thaiim.jar (jre)<br /> j2se/src/share/classes/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties<br /> <br /> resources.jar (jre)<br /> j2se/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb.properties<br /> j2se/src/share/classes/com/sun/rowset/RowSetResourceBundle.properties<br /> j2se/src/share/classes/sun/rmi/registry/resources/rmiregistry.properties<br /> j2se/src/share/classes/sun/rmi/server/resources/rmid.properties<br /> <br /> jconsole.jar (sdk)<br /> j2se/src/share/classes/sun/tools/jconsole/resources/JConsoleResources.java<br /> <br /> tools.jar (sdk)<br /> j2se/src/share/classes/sun/tools/jar/resources/jar.properties<br /> j2se/src/share/classes/sun/tools/javac/resources/javac.properties<br /> j2se/src/share/classes/com/sun/tools/javac/resources/javac.properties<br /> j2se/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii.java<br /> j2se/src/share/classes/sun/tools/serialver/serialver.properties<br /> j2se/src/share/classes/sun/security/tools/JarSignerResources.java<br /> j2se/src/share/classes/sun/rmi/rmic/resources/rmic.properties<br /> j2se/src/share/classes/sun/applet/resources/MsgAppletViewer.java<br /> j2se/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties<br /> j2se/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties<br /> j2se/src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java<br /> j2se/src/share/classes/com/sun/tools/javac/resources/compiler.properties<br /> j2se/src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties<br /> j2se/src/share/classes/com/sun/tools/apt/resources/apt.properties<br /> j2se/src/share/classes/com/sun/tools/javah/resources/l10n.properties<br /> j2se/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp<br /> j2se/src/share/classes/com/sun/tools/corba/se/idl/idl.prp<br /> j2se/src/share/classes/com/sun/tools/jdi/resources/jdi.properties<br /> <br /> demos (sdk)<br /> j2se/src/share/demo/jfc/CodePointIM/resources/codepoint.properties<br /> j2se/src/share/demo/jfc/CodePointIM/README.html<br /> j2se/src/share/demo/jfc/Font2DTest/resources/TextResources.properties<br /> j2se/src/share/demo/jfc/Notepad/resources/Notepad.properties<br /> j2se/src/share/demo/jfc/Stylepad/resources/Stylepad.properties<br /> j2se/src/share/demo/jfc/SwingSet2/resources/swingset.properties<br /> <br /> doc (sdk)<br /> j2se/src/share/doc/jdk/README.html<br /> <h2>Update makefile</h2> To include the localized resource file in JRE and JDK bundle, corresponding makefiles need to be updated.<br /> <br /> <b>Include locale in JRE</b><br /> update make/common/Defs.gmk in j2se workspace, which means update j2se/make/common/Defs.gmk<br /> <br /> in following two lines, add the locale you are going to localize.<br /> <br /> J2RE_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK<br /> PLUGIN_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK<br /> <br /> For example, if you are going to localize JRE into thai, then<br /> J2RE_LOCALES = de es fr it ja ko sv th zh_CN zh_TW zh_HK<br /> PLUGIN_LOCALES = de es fr it ja ko sv th zh_CN zh_TW zh_HK<br /> <br /> update make/common/Defs.gmk in deploy workspace.<br /> In follwoing line, add the locale you are goingto localize<br /> PLUGIN_LOCALES = de es fr it ja ko sv zh_CN zh_TW zh_HK<br /> <br /> <b>Include locale in JDK</b><br /> update make/common/Defs.gmk in j2se workspace<br /> in following line, add the locale you are going to localize.<br /> <br /> J2SDK_LOCALES = ja zh_CN<br /> <br /> 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.<br /> <h2>Building and Rebuilding</h2> 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.<br /> <br /> <h2>Additional Localization Projects</h2> You may also be interested in participating in the following localization projects:<br /> <ul> <li>DocWeb api doc translation and review: <a class="externallink" href="http://doc.java.sun.com/DocWeb/">http://doc.java.sun.com/DocWeb/</a></li> <li>Japanese doc translation review: <a class="externallink" href="http://jdk-api-ja.java.net/">http://jdk-api-ja.java.net/</a></li> <li>Simplified Chinese doc translation review: <a class="externallink" href="http://jdk-api-zh-cn.java.net/">http://jdk-api-zh-cn.java.net/</a></li> </ul> <h2>Community</h2> <ul> <li><strong>Mailing lists</strong> <ul> <li>[i18n-dev] <a class="externallink" href="https://mail.openjdk.org/mailman/listinfo/i18n-dev">https://mail.openjdk.org/mailman/listinfo/i18n-dev</a></li> </ul> </li> </ul> </div><div id="sidebar"><div id="openjdk-sidebar-logo"><a href="/"><img alt="OpenJDK logo" src="../../images/openjdk-small.png" /></a></div><div class="links"><div class="link"><a href="/install/">Installing</a></div><div class="link"><a href="/guide/#contributing-to-an-openjdk-project">Contributing</a></div><div class="link"><a href="/guide/#reviewing-and-sponsoring-a-change">Sponsoring</a></div><div class="link"><a href="/guide/">Developers' Guide</a></div><div class="link"><a href="/groups/vulnerability/report">Vulnerabilities</a></div><div class="link"><a href="https://jdk.java.net">JDK GA/EA Builds</a></div></div><div class="links"><div class="links"><a href="https://mail.openjdk.org">Mailing lists</a></div><div class="link"><a href="https://wiki.openjdk.org">Wiki</a> &#183; <a href="/irc">IRC</a></div></div><div class="links"><div class="links"><a href="/bylaws">Bylaws</a> &#183; <a href="/census">Census</a></div><div class="link"><a href="/legal/">Legal</a></div></div><div class="links"><div class="links"><a href="/workshop"><b>Workshop</b></a></div></div><div class="links"><div class="links"><a href="/jeps/0"><b>JEP Process</b></a></div></div><div class="links"><div class="about">Source code</div><div class="link"><a href="https://github.com/openjdk/">GitHub</a></div><div class="link"><a href="https://hg.openjdk.org">Mercurial</a></div></div><div class="links"><div class="about">Tools</div><div class="link"><a href="http://git-scm.org/">Git</a></div><div class="link"><a href="/jtreg/">jtreg harness</a></div></div><div class="links"><div class="about">Groups</div><div class="link"><a href="/groups/">(overview)</a></div><div class="link"><a href="/groups/adoption">Adoption</a></div><div class="link"><a href="/groups/build">Build</a></div><div class="link"><a href="/groups/client-libs">Client Libraries</a></div><div class="link"><a href="/groups/csr">Compatibility &amp; Specification Review</a></div><div class="link"><a href="/groups/compiler">Compiler</a></div><div class="link"><a href="/groups/conformance">Conformance</a></div><div class="link"><a href="/groups/core-libs">Core Libraries</a></div><div class="link"><a href="/groups/gb">Governing Board</a></div><div class="link"><a href="/groups/hotspot">HotSpot</a></div><div class="link"><a href="/groups/ide-support">IDE Tooling &amp; Support</a></div><div class="link"><a href="/groups/i18n">Internationalization</a></div><div class="link"><a href="/groups/jmx">JMX</a></div><div class="link"><a href="/groups/members">Members</a></div><div class="link"><a href="/groups/net">Networking</a></div><div class="link"><a href="/groups/porters">Porters</a></div><div class="link"><a href="/groups/quality">Quality</a></div><div class="link"><a href="/groups/security">Security</a></div><div class="link"><a href="/groups/serviceability">Serviceability</a></div><div class="link"><a href="/groups/vulnerability">Vulnerability</a></div><div class="link"><a href="/groups/web">Web</a></div></div><div class="links"><div class="about">Projects</div><div class="link">(<a href="/projects/">overview</a>, <a href="/projects/archive">archive</a>)</div><div class="link"><a href="/projects/amber">Amber</a></div><div class="link"><a href="/projects/babylon">Babylon</a></div><div class="link"><a href="/projects/crac">CRaC</a></div><div class="link"><a href="/projects/code-tools">Code Tools</a></div><div class="link"><a href="/projects/coin">Coin</a></div><div class="link"><a href="/projects/cvmi">Common VM Interface</a></div><div class="link"><a href="/projects/guide">Developers' Guide</a></div><div class="link"><a href="/projects/dio">Device I/O</a></div><div class="link"><a href="/projects/duke">Duke</a></div><div class="link"><a href="/projects/galahad">Galahad</a></div><div class="link"><a href="/projects/graal">Graal</a></div><div class="link"><a href="/projects/icedtea">IcedTea</a></div><div class="link"><a href="/projects/jdk7">JDK 7</a></div><div class="link"><a href="/projects/jdk8">JDK 8</a></div><div class="link"><a href="/projects/jdk8u">JDK 8 Updates</a></div><div class="link"><a href="/projects/jdk9">JDK 9</a></div><div class="link"><a href="/projects/jdk">JDK</a> (&#8230;, <a href="/projects/jdk/22">22</a>, <a href="/projects/jdk/23">23</a>, <a href="/projects/jdk/24">24</a>)</div><div class="link"><a href="/projects/jdk-updates">JDK Updates</a></div><div class="link"><a href="/projects/jigsaw">Jigsaw</a></div><div class="link"><a href="/projects/kona">Kona</a></div><div class="link"><a href="/projects/kulla">Kulla</a></div><div class="link"><a href="/projects/lanai">Lanai</a></div><div class="link"><a href="/projects/leyden">Leyden</a></div><div class="link"><a href="/projects/lilliput">Lilliput</a></div><div class="link"><a href="/projects/locale-enhancement">Locale Enhancement</a></div><div class="link"><a href="/projects/loom">Loom</a></div><div class="link"><a href="/projects/jmm">Memory Model Update</a></div><div class="link"><a href="/projects/metropolis">Metropolis</a></div><div class="link"><a href="/projects/jmc">Mission Control</a></div><div class="link"><a href="/projects/mlvm">Multi-Language VM</a></div><div class="link"><a href="/projects/nashorn">Nashorn</a></div><div class="link"><a href="/projects/nio">New I/O</a></div><div class="link"><a href="/projects/openjfx">OpenJFX</a></div><div class="link"><a href="/projects/panama">Panama</a></div><div class="link"><a href="/projects/penrose">Penrose</a></div><div class="link"><a href="/projects/aarch32-port">Port: AArch32</a></div><div class="link"><a href="/projects/aarch64-port">Port: AArch64</a></div><div class="link"><a href="/projects/bsd-port">Port: BSD</a></div><div class="link"><a href="/projects/haiku-port">Port: Haiku</a></div><div class="link"><a href="/projects/macosx-port">Port: Mac OS X</a></div><div class="link"><a href="/projects/mips-port">Port: MIPS</a></div><div class="link"><a href="/projects/mobile">Port: Mobile</a></div><div class="link"><a href="/projects/ppc-aix-port">Port: PowerPC/AIX</a></div><div class="link"><a href="/projects/riscv-port">Port: RISC-V</a></div><div class="link"><a href="/projects/s390x-port">Port: s390x</a></div><div class="link"><a href="/projects/sctp">SCTP</a></div><div class="link"><a href="/projects/shenandoah">Shenandoah</a></div><div class="link"><a href="/projects/skara">Skara</a></div><div class="link"><a href="/projects/sumatra">Sumatra</a></div><div class="link"><a href="/projects/tsan">Tsan</a></div><div class="link"><a href="/projects/valhalla">Valhalla</a></div><div class="link"><a href="/projects/verona">Verona</a></div><div class="link"><a href="/projects/visualvm">VisualVM</a></div><div class="link"><a href="/projects/wakefield">Wakefield</a></div><div class="link"><a href="/projects/zero">Zero</a></div><div class="link"><a href="/projects/zgc">ZGC</a></div></div><div class="buttons"><a href="https://oracle.com"><img alt="Oracle logo" src="../../images/oracle.png" /></a></div></div><div id="footer"> &#169; 2024 Oracle Corporation and/or its affiliates <br /><a href="/legal/tou/">Terms of Use</a> &#183; License: <a href="/legal/gplv2+ce.html">GPLv2</a> &#183; <a href="https://www.oracle.com/us/legal/privacy/">Privacy</a> &#183; <a href="https://openjdk.org/legal/openjdk-trademark-notice.html">Trademarks</a></div><script type="text/javascript" src="/ZNBVQquKRCmTkFz_W96h/9wuJJcNVt9p4/MClz/FjZHVw1/zC0Q"></script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10